1import { 2 Button, 3 DesignViewer, 4 Link, 5 SceneIndexingProvider, 6 SceneProvider, 7 Switch, 8 getSceneTitleIndex, 9 urlViewerCSS, 10 useSceneIndexing 11} from "./chunk-PBSMYCQH.js"; 12import { 13 CameraProvider, 14 ViewerProvider, 15 WorkerProvider, 16 createMutable, 17 unwrap, 18 useViewer, 19 useWorkerClient 20} from "./chunk-737R77QV.js"; 21import { 22 $DEVCOMP, 23 For, 24 SVGElements, 25 Show, 26 batch, 27 createComponent, 28 createComputed, 29 createContext, 30 createEffect, 31 createMemo, 32 createRenderEffect, 33 createSignal, 34 createUniqueId, 35 getNextElement, 36 insert, 37 isServer, 38 mergeProps, 39 onCleanup, 40 render, 41 setAttribute, 42 sharedConfig, 43 splitProps, 44 spread, 45 ssrElement, 46 template, 47 untrack, 48 useContext, 49 voidFn 50} from "./chunk-47C2ISC4.js"; 51
52// src/wc/zometool/zometool.css.js 53var instructionsCSS = ` 54:host { 55 display: inline-grid; 56 overflow: hidden; 57 position: relative; 58 font-family: sans-serif; 59 --vzome-label-background: white; 60 container-type: inline-size; 61} 62 63:host > div:empty { 64 background: radial-gradient(#EEE, #AAA); 65} 66 67:host > div, 68:host > div > div { 69 position: absolute; 70 inset: 0; 71} 72 73.step-switch { 74 display: inherit; 75 height: 30px; 76 margin: 9px; 77 .switch__control { 78 display: block; 79 margin: 23px; 80 height: 25px; 81 border-radius: 13px; 82 width: 45px; 83 .switch__thumb { 84 height: 25px; 85 width: 25px; 86 border-radius: 13px; 87 } 88 } 89} 90.step_switch__label { 91 margin-right: 8px; 92 color: hsl(240 6% 10%); 93 user-select: none; 94 font-size: 17px; 95 min-width: max-content; 96} 97 98.step-controls { 99 display: grid; 100 grid-template-columns: 1fr 3fr; 101} 102 103.step-number { 104 min-width: 2em; 105 display: flex; 106 justify-content: center; 107} 108 109.step-buttons { 110 margin: auto; 111 min-height: 6rem; 112 gap: 13px; 113 display: flex; 114 align-items: center; 115 justify-content: center; 116} 117 118.step-button { 119 appearance: none; 120 height: 60px; 121 outline: none; 122 border: 1px solid black; 123 border-radius: 18px; 124 padding: 0 16px; 125 background-color: hsl(200 98% 39%); 126 color: white; 127 font-size: 3.5rem; 128 line-height: 0; 129} 130 131.limit-step { 132 height: 48px; 133 padding: 0 12px; 134 font-size: 2rem; 135} 136 137.step-button-svg { 138 user-select: none; 139 width: 1em; 140 height: 1em; 141 display: inline-block; 142 fill: currentColor; 143 flex-shrink: 0; 144} 145.step-button:hover { 146 background-color: hsl(201 98% 44%); 147} 148.step-button:active { 149 background-color: hsl(201 98% 48%); 150} 151.step-button:disabled { 152 background-color: hsl(200deg 44.28% 69.6%); 153 color: rgba(255, 255, 255, 0.2); 154 border-color: light-dark(rgba(118, 118, 118, 0.3), rgba(195, 195, 195, 0.3)); 155} 156 157.step-button:focus-visible { 158 outline: 2px solid hsl(200 98% 39%); 159 outline-offset: 2px; 160} 161 162.zometool-instructions { 163 height: 100%; 164 display: grid; 165 grid-template-rows: min-content 1fr; 166} 167 168zometool-covering-products::before { 169 content: "Supporting products:"; 170} 171 172.zometool-products-container { 173 max-height: 8.7rem; 174 overflow: auto; 175 margin-block-start: 8px; 176} 177 178.matched-product { 179 min-width: 250px; 180 display: flex; 181 justify-content: space-between; 182} 183 184@container ( max-width: 650px ) { 185 186 :host > div { 187 inset-inline: 10px; 188 } 189 190 .step-controls { 191 display: block; 192 } 193 194 .step-switch { 195 display: inherit; 196 .switch__control { 197 display: inline-flex; 198 margin: 5px; 199 } 200 } 201 202 .step-buttons { 203 transform: scale(0.8); 204 min-height: 4rem; 205 } 206 207 .step-button { 208 padding: 0 0; 209 } 210 .limit-step { 211 padding: 0 6px; 212 } 213 .step-number { 214 min-width: 1.4em; 215 } 216} 217 218`; 219
vendor: 5,076 bytes, lines 220-365
220// node_modules/@suid/system/colorManipulator.js 221function clamp(value, min = 0, max = 1) { 222 if (true) { 223 if (value < min || value > max) { 224 console.error(`MUI: The value provided ${value} is out of range [${min}, ${max}].`); 225 } 226 } 227 return Math.min(Math.max(min, value), max); 228} 229function hexToRgb(color) { 230 color = color.substr(1); 231 const re = new RegExp(`.{1,${color.length >= 6 ? 2 : 1}}`, "g"); 232 let colors = color.match(re); 233 if (colors && colors[0].length === 1) { 234 colors = colors.map((n) => n + n); 235 } 236 return colors ? `rgb${colors.length === 4 ? "a" : ""}(${colors.map((n, index) => { 237 return index < 3 ? parseInt(n, 16) : Math.round(parseInt(n, 16) / 255 * 1e3) / 1e3; 238 }).join(", ")})` : ""; 239} 240function decomposeColor(color) { 241 if (typeof color !== "string") { 242 return color; 243 } 244 if (color.charAt(0) === "#") { 245 return decomposeColor(hexToRgb(color)); 246 } 247 const marker = color.indexOf("("); 248 const type = color.substring(0, marker); 249 if (["rgb", "rgba", "hsl", "hsla", "color"].indexOf(type) === -1) { 250 throw new Error("MUI: Unsupported `%s` color.\nThe following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color(). " + color); 251 } 252 const valuesInput = color.substring(marker + 1, color.length - 1); 253 let values2; 254 let colorSpace; 255 if (type === "color") { 256 values2 = valuesInput.split(" "); 257 colorSpace = values2.shift(); 258 if (values2.length === 4 && values2[3].charAt(0) === "/") { 259 values2[3] = values2[3].substr(1); 260 } 261 if (["srgb", "display-p3", "a98-rgb", "prophoto-rgb", "rec-2020"].indexOf( 262 // eslint-disable-next-line @typescript-eslint/no-non-null-assertion 263 colorSpace 264 ) === -1) { 265 throw new Error("MUI: unsupported `%s` color space.\nThe following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rgb, rec-2020. " + colorSpace); 266 } 267 } else { 268 values2 = valuesInput.split(","); 269 } 270 return { type, values: values2.map((value) => parseFloat(value)), colorSpace }; 271} 272function recomposeColor(color) { 273 const { type, colorSpace } = color; 274 const { values: values2 } = color; 275 let newValues; 276 if (type.indexOf("rgb") !== -1) { 277 newValues = values2.map((n, i) => i < 3 ? parseInt(n.toString(), 10) : n).join(","); 278 } else if (type.indexOf("hsl") !== -1) { 279 newValues = values2.map((n, i) => i === 1 || i === 2 ? `${n}%` : n).join(","); 280 } 281 if (type.indexOf("color") !== -1) { 282 newValues = `${colorSpace} ${values2.join(" ")}`; 283 } else { 284 newValues = `${values2.join(", ")}`; 285 } 286 return `${type}(${newValues})`; 287} 288function hslToRgb(color) { 289 const c = decomposeColor(color); 290 const { values: values2 } = c; 291 const h = values2[0]; 292 const s = values2[1] / 100; 293 const l = values2[2] / 100; 294 const a = s * Math.min(l, 1 - l); 295 const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1); 296 let type = "rgb"; 297 const rgb = [ 298 Math.round(f(0) * 255), 299 Math.round(f(8) * 255), 300 Math.round(f(4) * 255) 301 ]; 302 if (c.type === "hsla") { 303 type += "a"; 304 rgb.push(values2[3]); 305 } 306 return recomposeColor({ type, values: rgb }); 307} 308function getLuminance(color) { 309 const { type, values: values2 } = decomposeColor(color); 310 let rgb = type === "hsl" ? decomposeColor(hslToRgb(color)).values : values2; 311 rgb = rgb.map((val) => { 312 if (type !== "color") { 313 val /= 255; 314 } 315 return val <= 0.03928 ? val / 12.92 : ((val + 0.055) / 1.055) ** 2.4; 316 }); 317 return Number((0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2]).toFixed(3)); 318} 319function getContrastRatio(foreground, background) { 320 const lumA = getLuminance(foreground); 321 const lumB = getLuminance(background); 322 return (Math.max(lumA, lumB) + 0.05) / (Math.min(lumA, lumB) + 0.05); 323} 324function alpha(color, value) { 325 let { type, values: values2 } = decomposeColor(color); 326 value = clamp(value); 327 if (type === "rgb" || type === "hsl") { 328 type += "a"; 329 } 330 if (type === "color") { 331 values2[3] = `/${value}`; 332 } else { 333 values2[3] = value; 334 } 335 return recomposeColor({ type, values: values2 }); 336} 337function darken(inputColor, coefficient) { 338 const color = decomposeColor(inputColor); 339 coefficient = clamp(coefficient); 340 if (color.type.indexOf("hsl") !== -1) { 341 color.values[2] *= 1 - coefficient; 342 } else if (color.type.indexOf("rgb") !== -1 || color.type.indexOf("color") !== -1) { 343 for (let i = 0; i < 3; i += 1) { 344 color.values[i] *= 1 - coefficient; 345 } 346 } 347 return recomposeColor(color); 348} 349function lighten(inputColor, coefficient) { 350 const color = decomposeColor(inputColor); 351 coefficient = clamp(coefficient); 352 if (color.type.indexOf("hsl") !== -1) { 353 color.values[2] += (100 - color.values[2]) * coefficient; 354 } else if (color.type.indexOf("rgb") !== -1) { 355 for (let i = 0; i < 3; i += 1) { 356 color.values[i] += (255 - color.values[i]) * coefficient; 357 } 358 } else if (color.type.indexOf("color") !== -1) { 359 for (let i = 0; i < 3; i += 1) { 360 color.values[i] += (1 - color.values[i]) * coefficient; 361 } 362 } 363 return recomposeColor(color); 364} 365
vendor: 2,355 bytes, lines 366-448
366// node_modules/@suid/system/breakpoints.js 367var values = { 368 xs: 0, 369 sm: 600, 370 md: 900, 371 lg: 1200, 372 xl: 1536 373 // large screens 374}; 375function handleBreakpoints(props, propValue, styleFromPropValue) { 376 const theme = props.theme || {}; 377 if (Array.isArray(propValue)) { 378 const themeBreakpoints = theme.breakpoints; 379 return propValue.reduce((acc, item, index) => { 380 acc = { 381 ...acc, 382 ...themeBreakpoints.up(themeBreakpoints.keys[index], styleFromPropValue(propValue[index])) 383 }; 384 return acc; 385 }, {}); 386 } 387 if (typeof propValue === "object") { 388 const themeBreakpoints = theme.breakpoints; 389 const keys = Object.keys(propValue); 390 return keys.reduce((acc, breakpoint) => { 391 if (Object.keys(themeBreakpoints.values || values).indexOf(breakpoint) !== -1) { 392 acc = { 393 ...acc, 394 ...themeBreakpoints.up(breakpoint, styleFromPropValue(propValue[breakpoint], breakpoint)) 395 }; 396 } else { 397 const cssKey = breakpoint; 398 acc[cssKey] = propValue[cssKey]; 399 } 400 return acc; 401 }, {}); 402 } 403 const output = styleFromPropValue(propValue); 404 return output; 405} 406function computeBreakpointsBase(values2, breakpoints) { 407 const base = {}; 408 if (typeof values2 !== "object") { 409 return base; 410 } 411 const breakpointsKeys = Object.keys(breakpoints); 412 if (Array.isArray(values2)) { 413 breakpointsKeys.forEach((breakpoint, i) => { 414 if (i < values2.length) { 415 base[breakpoint] = true; 416 } 417 }); 418 } else { 419 breakpointsKeys.forEach((breakpoint) => { 420 if (values2[breakpoint] != null) { 421 base[breakpoint] = true; 422 } 423 }); 424 } 425 return base; 426} 427function resolveBreakpointValues(data) { 428 const values2 = data.values; 429 const base = data.base || computeBreakpointsBase(values2, data.breakpoints || {}); 430 const keys = Object.keys(base); 431 if (keys.length === 0) { 432 return data.values; 433 } 434 let previous; 435 return keys.reduce((acc, breakpoint, i) => { 436 if (Array.isArray(values2)) { 437 acc[breakpoint] = values2[i] != null ? values2[i] : values2[previous]; 438 previous = i; 439 } else if (typeof values2 === "number") { 440 acc[breakpoint] = values2; 441 } else { 442 acc[breakpoint] = values2[breakpoint] != null ? values2[breakpoint] : values2[previous]; 443 previous = breakpoint; 444 } 445 return acc; 446 }, {}); 447} 448
vendor: 182 bytes, lines 449-452
449// node_modules/@suid/styled-engine/StyledEngineProvider/StyledEngineContext.jsx 450var StyledEngineContext = createContext({}); 451var StyledEngineContext_default = StyledEngineContext; 452
vendor: 1,118 bytes, lines 453-487
453// node_modules/@suid/material/node_modules/@suid/utils/deepmerge.js 454function isPlainObject(item) { 455 return item !== null && typeof item === "object" && item.constructor === Object; 456} 457function sortKeys(object, keys) { 458 for (const key of keys) { 459 const value = object[key]; 460 delete object[key]; 461 object[key] = value; 462 } 463} 464function deepmerge(target, source, options = { clone: true }) { 465 const output = options.clone ? { ...target } : target; 466 const sourceKeys = options.sortKeys ? [] : void 0; 467 if (isPlainObject(target) && isPlainObject(source)) { 468 Object.keys(source).forEach((key) => { 469 if (key === "__proto__") { 470 return; 471 } 472 if (sourceKeys) 473 sourceKeys.push(key); 474 let sourceValue; 475 let targetValue; 476 if (isPlainObject(sourceValue = source[key]) && key in target && isPlainObject(targetValue = target[key])) { 477 output[key] = deepmerge(targetValue, sourceValue, options); 478 } else if (sourceValue !== void 0) { 479 output[key] = sourceValue; 480 } 481 }); 482 if (sourceKeys) 483 sortKeys(output, sourceKeys); 484 } 485 return output; 486} 487
vendor: 514 bytes, lines 488-509
488// node_modules/@suid/material/node_modules/@suid/utils/cloneObject.js 489function cloneObject(target) { 490 if (Array.isArray(target)) { 491 const output = []; 492 for (const value of target) { 493 output.push(cloneObject(value)); 494 } 495 return output; 496 } else if (isPlainObject(target)) { 497 const output = {}; 498 for (const key in target) { 499 if (key === "__proto__") { 500 continue; 501 } 502 output[key] = cloneObject(target[key]); 503 } 504 return output; 505 } else { 506 return target; 507 } 508} 509
vendor: 226 bytes, lines 510-518
510// node_modules/@suid/material/node_modules/@suid/utils/merge.js 511function merge(target, ...sources) { 512 for (const source of sources) 513 deepmerge(target, cloneObject(source), { 514 clone: false 515 }); 516 return target; 517} 518
vendor: 302 bytes, lines 519-530
519// node_modules/@suid/material/styles/createComponents.jsx 520var componentsDefault = createComponentsOptions({}); 521function createComponentsOptions(options) { 522 return options; 523} 524function createComponents(data) { 525 const result = { 526 ...merge({}, componentsDefault, data ?? {}) 527 }; 528 return result; 529} 530
vendor: 357 bytes, lines 531-546
531// node_modules/@suid/material/styles/createMixins.js 532function createMixins(breakpoints, spacing = void 0, mixins = {}) { 533 return { 534 toolbar: { 535 minHeight: 56, 536 [`${breakpoints.up("xs")} and (orientation: landscape)`]: { 537 minHeight: 48 538 }, 539 [breakpoints.up("sm")]: { 540 minHeight: 64 541 } 542 }, 543 ...mixins 544 }; 545} 546
vendor: 129 bytes, lines 547-553
547// node_modules/@suid/material/colors/common.js 548var common = { 549 black: "#000", 550 white: "#fff" 551}; 552var common_default = common; 553
vendor: 338 bytes, lines 554-572
554// node_modules/@suid/material/colors/red.js 555var red = { 556 50: "#ffebee", 557 100: "#ffcdd2", 558 200: "#ef9a9a", 559 300: "#e57373", 560 400: "#ef5350", 561 500: "#f44336", 562 600: "#e53935", 563 700: "#d32f2f", 564 800: "#c62828", 565 900: "#b71c1c", 566 A100: "#ff8a80", 567 A200: "#ff5252", 568 A400: "#ff1744", 569 A700: "#d50000" 570}; 571var red_default = red; 572
vendor: 350 bytes, lines 573-591
573// node_modules/@suid/material/colors/purple.js 574var purple = { 575 50: "#f3e5f5", 576 100: "#e1bee7", 577 200: "#ce93d8", 578 300: "#ba68c8", 579 400: "#ab47bc", 580 500: "#9c27b0", 581 600: "#8e24aa", 582 700: "#7b1fa2", 583 800: "#6a1b9a", 584 900: "#4a148c", 585 A100: "#ea80fc", 586 A200: "#e040fb", 587 A400: "#d500f9", 588 A700: "#aa00ff" 589}; 590var purple_default = purple; 591
vendor: 342 bytes, lines 592-610
592// node_modules/@suid/material/colors/blue.js 593var blue = { 594 50: "#e3f2fd", 595 100: "#bbdefb", 596 200: "#90caf9", 597 300: "#64b5f6", 598 400: "#42a5f5", 599 500: "#2196f3", 600 600: "#1e88e5", 601 700: "#1976d2", 602 800: "#1565c0", 603 900: "#0d47a1", 604 A100: "#82b1ff", 605 A200: "#448aff", 606 A400: "#2979ff", 607 A700: "#2962ff" 608}; 609var blue_default = blue; 610
vendor: 362 bytes, lines 611-629
611// node_modules/@suid/material/colors/lightBlue.js 612var lightBlue = { 613 50: "#e1f5fe", 614 100: "#b3e5fc", 615 200: "#81d4fa", 616 300: "#4fc3f7", 617 400: "#29b6f6", 618 500: "#03a9f4", 619 600: "#039be5", 620 700: "#0288d1", 621 800: "#0277bd", 622 900: "#01579b", 623 A100: "#80d8ff", 624 A200: "#40c4ff", 625 A400: "#00b0ff", 626 A700: "#0091ea" 627}; 628var lightBlue_default = lightBlue; 629
vendor: 346 bytes, lines 630-648
630// node_modules/@suid/material/colors/green.js 631var green = { 632 50: "#e8f5e9", 633 100: "#c8e6c9", 634 200: "#a5d6a7", 635 300: "#81c784", 636 400: "#66bb6a", 637 500: "#4caf50", 638 600: "#43a047", 639 700: "#388e3c", 640 800: "#2e7d32", 641 900: "#1b5e20", 642 A100: "#b9f6ca", 643 A200: "#69f0ae", 644 A400: "#00e676", 645 A700: "#00c853" 646}; 647var green_default = green; 648
vendor: 350 bytes, lines 649-667
649// node_modules/@suid/material/colors/orange.js 650var orange = { 651 50: "#fff3e0", 652 100: "#ffe0b2", 653 200: "#ffcc80", 654 300: "#ffb74d", 655 400: "#ffa726", 656 500: "#ff9800", 657 600: "#fb8c00", 658 700: "#f57c00", 659 800: "#ef6c00", 660 900: "#e65100", 661 A100: "#ffd180", 662 A200: "#ffab40", 663 A400: "#ff9100", 664 A700: "#ff6d00" 665}; 666var orange_default = orange; 667
vendor: 342 bytes, lines 668-686
668// node_modules/@suid/material/colors/grey.js 669var grey = { 670 50: "#fafafa", 671 100: "#f5f5f5", 672 200: "#eeeeee", 673 300: "#e0e0e0", 674 400: "#bdbdbd", 675 500: "#9e9e9e", 676 600: "#757575", 677 700: "#616161", 678 800: "#424242", 679 900: "#212121", 680 A100: "#f5f5f5", 681 A200: "#eeeeee", 682 A400: "#bdbdbd", 683 A700: "#616161" 684}; 685var grey_default = grey; 686
vendor: 5,854 bytes, lines 687-892
687// node_modules/@suid/material/styles/createPalette.jsx 688var useLightOptions = () => ({ 689 text: { 690 primary: "rgba(0, 0, 0, 0.87)", 691 secondary: "rgba(0, 0, 0, 0.6)", 692 disabled: "rgba(0, 0, 0, 0.38)" 693 }, 694 divider: "rgba(0, 0, 0, 0.12)", 695 background: { 696 paper: common_default.white, 697 default: common_default.white 698 }, 699 action: { 700 active: "rgba(0, 0, 0, 0.54)", 701 hover: "rgba(0, 0, 0, 0.04)", 702 hoverOpacity: 0.04, 703 selected: "rgba(0, 0, 0, 0.08)", 704 selectedOpacity: 0.08, 705 disabled: "rgba(0, 0, 0, 0.26)", 706 disabledBackground: "rgba(0, 0, 0, 0.12)", 707 disabledOpacity: 0.38, 708 focus: "rgba(0, 0, 0, 0.12)", 709 focusOpacity: 0.12, 710 activatedOpacity: 0.12 711 } 712}); 713var lightColors = { 714 primary: { 715 main: blue_default[700], 716 light: blue_default[400], 717 dark: blue_default[800] 718 }, 719 secondary: { 720 main: purple_default[500], 721 light: purple_default[300], 722 dark: purple_default[700] 723 }, 724 error: { 725 main: red_default[700], 726 light: red_default[400], 727 dark: red_default[800] 728 }, 729 info: { 730 main: lightBlue_default[700], 731 light: lightBlue_default[800], 732 dark: lightBlue_default[900] 733 }, 734 success: { 735 main: green_default[800], 736 light: green_default[500], 737 dark: green_default[900] 738 }, 739 warning: { 740 main: "#ED6C02", 741 light: orange_default[500], 742 dark: orange_default[900] 743 } 744}; 745var useDarkOptions = () => ({ 746 text: { 747 primary: common_default.white, 748 secondary: "rgba(255, 255, 255, 0.7)", 749 disabled: "rgba(255, 255, 255, 0.5)" 750 }, 751 divider: "rgba(255, 255, 255, 0.12)", 752 background: { 753 paper: "#121212", 754 default: "#121212" 755 }, 756 action: { 757 active: common_default.white, 758 hover: "rgba(255, 255, 255, 0.08)", 759 hoverOpacity: 0.08, 760 selected: "rgba(255, 255, 255, 0.16)", 761 selectedOpacity: 0.16, 762 disabled: "rgba(255, 255, 255, 0.3)", 763 disabledBackground: "rgba(255, 255, 255, 0.12)", 764 disabledOpacity: 0.38, 765 focus: "rgba(255, 255, 255, 0.12)", 766 focusOpacity: 0.12, 767 activatedOpacity: 0.24 768 } 769}); 770var darkColors = { 771 primary: { 772 main: blue_default[200], 773 light: blue_default[50], 774 dark: blue_default[400] 775 }, 776 secondary: { 777 main: purple_default[200], 778 light: purple_default[50], 779 dark: purple_default[400] 780 }, 781 error: { 782 main: red_default[500], 783 light: red_default[300], 784 dark: red_default[700] 785 }, 786 info: { 787 main: lightBlue_default[400], 788 light: lightBlue_default[300], 789 dark: lightBlue_default[700] 790 }, 791 success: { 792 main: green_default[400], 793 light: green_default[300], 794 dark: green_default[700] 795 }, 796 warning: { 797 main: orange_default[400], 798 light: orange_default[300], 799 dark: orange_default[700] 800 } 801}; 802var modes = { 803 light: useLightOptions, 804 dark: useDarkOptions 805}; 806function getContrastText(background, contrastThreshold) { 807 return getContrastRatio(background, common_default.white) >= contrastThreshold ? common_default.white : "rgba(0, 0, 0, 0.87)"; 808} 809function addLightOrDark(intent, direction, shade, tonalOffset) { 810 const tonalOffsetLight = typeof tonalOffset === "number" ? tonalOffset : tonalOffset.light; 811 const tonalOffsetDark = typeof tonalOffset === "number" ? tonalOffset * 1.5 : tonalOffset.dark; 812 if (!intent[direction]) { 813 if (intent.hasOwnProperty(shade)) { 814 intent[direction] = intent[shade]; 815 } else if (direction === "light") { 816 intent.light = lighten(intent.main, tonalOffsetLight); 817 } else if (direction === "dark") { 818 intent.dark = darken(intent.main, tonalOffsetDark); 819 } 820 } 821} 822function augmentColor(data) { 823 const color = { 824 ...data.color 825 }; 826 const mainShade = data.mainShade ?? 500; 827 if (!data.color.main && data.color[mainShade]) color.main = data.color[mainShade]; 828 addLightOrDark(color, "light", data.lightShade ?? 300, data.tonalOffset); 829 addLightOrDark(color, "dark", data.darkShade ?? 700, data.tonalOffset); 830 if (!color.contrastText) color.contrastText = getContrastText(color.main, data.contrastThreshold); 831 return color; 832} 833var usePalleteDefaults = () => createPaletteOptions({ 834 mode: "light", 835 tonalOffset: 0.2, 836 contrastThreshold: 3, 837 grey: grey_default, 838 common: common_default 839}); 840function createPaletteOptions(data) { 841 return data; 842} 843function createPalette(options) { 844 const colorNames = ["error", "info", "primary", "secondary", "success", "warning"]; 845 const palleteDefaults = usePalleteDefaults(); 846 const result = { 847 ...merge({}, palleteDefaults, modes[options?.mode ?? palleteDefaults.mode](), options), 848 isColorName(name) { 849 return colorNames.includes(name); 850 }, 851 getColorObject(color) { 852 return result[color]; 853 }, 854 getColor(color) { 855 return result.mode === "light" ? result[color].light : result[color].dark; 856 }, 857 augmentColor(data) { 858 return augmentColor({ 859 ...data, 860 tonalOffset: result.tonalOffset, 861 contrastThreshold: result.contrastThreshold 862 }); 863 }, 864 getContrastText(background) { 865 return getContrastText(background, result.contrastThreshold); 866 } 867 }; 868 const getDefaultColor = (color) => result.mode === "light" ? lightColors[color] : darkColors[color]; 869 result.primary = result.augmentColor({ 870 color: result.primary || getDefaultColor("primary") 871 }); 872 result.secondary = result.augmentColor({ 873 color: result.secondary || getDefaultColor("secondary"), 874 mainShade: "A400", 875 lightShade: "A200", 876 darkShade: "A700" 877 }); 878 result.error = result.augmentColor({ 879 color: result.error || getDefaultColor("error") 880 }); 881 result.warning = result.augmentColor({ 882 color: result.warning || getDefaultColor("warning") 883 }); 884 result.info = result.augmentColor({ 885 color: result.info || getDefaultColor("info") 886 }); 887 result.success = result.augmentColor({ 888 color: result.success || getDefaultColor("success") 889 }); 890 return result; 891} 892
vendor: 2,280 bytes, lines 893-911
893// node_modules/@suid/material/styles/createShadows.jsx 894var cache = {}; 895var shadowKeyUmbraOpacity = 0.2; 896var shadowKeyPenumbraOpacity = 0.14; 897var shadowAmbientShadowOpacity = 0.12; 898function createCssShadow(...px) { 899 return [`${px[0]}px ${px[1]}px ${px[2]}px ${px[3]}px rgba(0,0,0,${shadowKeyUmbraOpacity})`, `${px[4]}px ${px[5]}px ${px[6]}px ${px[7]}px rgba(0,0,0,${shadowKeyPenumbraOpacity})`, `${px[8]}px ${px[9]}px ${px[10]}px ${px[11]}px rgba(0,0,0,${shadowAmbientShadowOpacity})`].join(","); 900} 901var shadows = [() => "none", () => createCssShadow(0, 2, 1, -1, 0, 1, 1, 0, 0, 1, 3, 0), () => createCssShadow(0, 3, 1, -2, 0, 2, 2, 0, 0, 1, 5, 0), () => createCssShadow(0, 3, 3, -2, 0, 3, 4, 0, 0, 1, 8, 0), () => createCssShadow(0, 2, 4, -1, 0, 4, 5, 0, 0, 1, 10, 0), () => createCssShadow(0, 3, 5, -1, 0, 5, 8, 0, 0, 1, 14, 0), () => createCssShadow(0, 3, 5, -1, 0, 6, 10, 0, 0, 1, 18, 0), () => createCssShadow(0, 4, 5, -2, 0, 7, 10, 1, 0, 2, 16, 1), () => createCssShadow(0, 5, 5, -3, 0, 8, 10, 1, 0, 3, 14, 2), () => createCssShadow(0, 5, 6, -3, 0, 9, 12, 1, 0, 3, 16, 2), () => createCssShadow(0, 6, 6, -3, 0, 10, 14, 1, 0, 4, 18, 3), () => createCssShadow(0, 6, 7, -4, 0, 11, 15, 1, 0, 4, 20, 3), () => createCssShadow(0, 7, 8, -4, 0, 12, 17, 2, 0, 5, 22, 4), () => createCssShadow(0, 7, 8, -4, 0, 13, 19, 2, 0, 5, 24, 4), () => createCssShadow(0, 7, 9, -4, 0, 14, 21, 2, 0, 5, 26, 4), () => createCssShadow(0, 8, 9, -5, 0, 15, 22, 2, 0, 6, 28, 5), () => createCssShadow(0, 8, 10, -5, 0, 16, 24, 2, 0, 6, 30, 5), () => createCssShadow(0, 8, 11, -5, 0, 17, 26, 2, 0, 6, 32, 5), () => createCssShadow(0, 9, 11, -5, 0, 18, 28, 2, 0, 7, 34, 6), () => createCssShadow(0, 9, 12, -6, 0, 19, 29, 2, 0, 7, 36, 6), () => createCssShadow(0, 10, 13, -6, 0, 20, 31, 3, 0, 8, 38, 7), () => createCssShadow(0, 10, 13, -6, 0, 21, 33, 3, 0, 8, 40, 7), () => createCssShadow(0, 10, 14, -6, 0, 22, 35, 3, 0, 8, 42, 7), () => createCssShadow(0, 11, 14, -7, 0, 23, 36, 3, 0, 9, 44, 8), () => createCssShadow(0, 11, 15, -7, 0, 24, 38, 3, 0, 9, 46, 8)]; 902function createShadows() { 903 return new Proxy([], { 904 get: (target, p) => { 905 if (typeof p !== "string" || isNaN(Number(p))) return target[p]; 906 if (p in cache) return cache[p]; 907 return cache[p] = shadows[p](); 908 } 909 }); 910} 911
vendor: 2,348 bytes, lines 912-983
912// node_modules/@suid/material/styles/createTransitions.jsx 913var easing = { 914 easeInOut: "cubic-bezier(0.4, 0, 0.2, 1)", 915 easeOut: "cubic-bezier(0.0, 0, 0.2, 1)", 916 easeIn: "cubic-bezier(0.4, 0, 1, 1)", 917 sharp: "cubic-bezier(0.4, 0, 0.6, 1)" 918}; 919var duration = { 920 shortest: 150, 921 shorter: 200, 922 short: 250, 923 standard: 300, 924 complex: 375, 925 enteringScreen: 225, 926 leavingScreen: 195 927}; 928function formatMs(milliseconds) { 929 return `${Math.round(milliseconds)}ms`; 930} 931function getAutoHeightDuration(height) { 932 if (!height) { 933 return 0; 934 } 935 const constant = height / 36; 936 return Math.round((4 + 15 * constant ** 0.25 + constant / 5) * 10); 937} 938function createTransitions(inputTransitions) { 939 const mergedEasing = { 940 ...easing, 941 ...inputTransitions.easing 942 }; 943 const mergedDuration = { 944 ...duration, 945 ...inputTransitions.duration 946 }; 947 const create2 = (props = ["all"], options = {}) => { 948 const { 949 duration: durationOption = mergedDuration.standard, 950 easing: easingOption = mergedEasing.easeInOut, 951 delay = 0, 952 ...other 953 } = options; 954 if (true) { 955 const isString = (value) => typeof value === "string"; 956 const isNumber = (value) => !isNaN(parseFloat(value)); 957 if (!isString(props) && !Array.isArray(props)) { 958 console.error('MUI: Argument "props" must be a string or Array.'); 959 } 960 if (!isNumber(durationOption) && !isString(durationOption)) { 961 console.error(`MUI: Argument "duration" must be a number or a string but found ${durationOption}.`); 962 } 963 if (!isString(easingOption)) { 964 console.error('MUI: Argument "easing" must be a string.'); 965 } 966 if (!isNumber(delay) && !isString(delay)) { 967 console.error('MUI: Argument "delay" must be a number or a string.'); 968 } 969 if (Object.keys(other).length !== 0) { 970 console.error(`MUI: Unrecognized argument(s) [${Object.keys(other).join(",")}].`); 971 } 972 } 973 return (Array.isArray(props) ? props : [props]).map((animatedProp) => `${animatedProp} ${typeof durationOption === "string" ? durationOption : formatMs(durationOption)} ${easingOption} ${typeof delay === "string" ? delay : formatMs(delay)}`).join(","); 974 }; 975 return { 976 getAutoHeightDuration, 977 create: create2, 978 ...inputTransitions, 979 easing: mergedEasing, 980 duration: mergedDuration 981 }; 982} 983
vendor: 2,332 bytes, lines 984-1057
984// node_modules/@suid/material/styles/createTypography.jsx 985var fontWeight = { 986 light: 300, 987 regular: 400, 988 medium: 500, 989 bold: 700 990}; 991var typographyDefaults = createTypographyOptions({ 992 fontFamily: '"Roboto", "Helvetica", "Arial", sans-serif', 993 fontSize: 14, 994 htmlFontSize: 16, 995 h1: {}, 996 h2: {}, 997 h3: {}, 998 h4: {}, 999 h5: {}, 1000 h6: {}, 1001 subtitle1: {}, 1002 subtitle2: {}, 1003 body1: {}, 1004 body2: {}, 1005 button: {}, 1006 caption: {}, 1007 overline: {}, 1008 fontWeightLight: 300, 1009 fontWeightRegular: 400, 1010 fontWeightMedium: 500, 1011 fontWeightBold: 700 1012}); 1013function createTypographyOptions(options) { 1014 return options; 1015} 1016function round(value) { 1017 return Math.round(value * 1e5) / 1e5; 1018} 1019function makeVariant(base, fontWeight2, size, lineHeight, letterSpacing, casing) { 1020 return { 1021 fontFamily: base.fontFamily, 1022 fontWeight: fontWeight2, 1023 fontSize: base.pxToRem(size), 1024 lineHeight: `${lineHeight}`, 1025 letterSpacing: `${round(letterSpacing / size)}em`, 1026 ...casing ? { 1027 textTransform: "uppercase" 1028 } : {} 1029 }; 1030} 1031function createTypography(options = {}) { 1032 const base = { 1033 fontFamily: options.fontFamily ?? typographyDefaults.fontFamily, 1034 fontSize: options.fontSize ?? typographyDefaults.fontSize, 1035 htmlFontSize: options?.htmlFontSize ?? typographyDefaults.htmlFontSize, 1036 pxToRem: (size) => { 1037 const coef = base.fontSize / 14; 1038 return `${size / base.htmlFontSize * coef}rem`; 1039 } 1040 }; 1041 return merge(base, { 1042 h1: makeVariant(base, fontWeight.light, 96, 1.167, -1.5), 1043 h2: makeVariant(base, fontWeight.light, 60, 1.2, -0.5), 1044 h3: makeVariant(base, fontWeight.regular, 48, 1.167, 0), 1045 h4: makeVariant(base, fontWeight.regular, 34, 1.235, 0.25), 1046 h5: makeVariant(base, fontWeight.regular, 24, 1.334, 0), 1047 h6: makeVariant(base, fontWeight.medium, 20, 1.6, 0.15), 1048 subtitle1: makeVariant(base, fontWeight.regular, 16, 1.75, 0.15), 1049 subtitle2: makeVariant(base, fontWeight.medium, 14, 1.57, 0.1), 1050 body1: makeVariant(base, fontWeight.regular, 16, 1.5, 0.15), 1051 body2: makeVariant(base, fontWeight.regular, 14, 1.43, 0.15), 1052 button: makeVariant(base, fontWeight.medium, 14, 1.75, 0.4, true), 1053 caption: makeVariant(base, fontWeight.regular, 12, 1.66, 0.4), 1054 overline: makeVariant(base, fontWeight.regular, 12, 2.66, 1, true) 1055 }, typographyDefaults, options); 1056} 1057
vendor: 391 bytes, lines 1058-1077
1058// node_modules/@suid/material/styles/createZIndex.jsx 1059var zIndexDefaults = createZIndexOptions({ 1060 mobileStepper: 1e3, 1061 speedDial: 1050, 1062 appBar: 1100, 1063 drawer: 1200, 1064 modal: 1300, 1065 snackbar: 1400, 1066 tooltip: 1500 1067}); 1068function createZIndexOptions(data) { 1069 return data; 1070} 1071function createZIndex(data) { 1072 const result = { 1073 ...merge({}, zIndexDefaults, data) 1074 }; 1075 return result; 1076} 1077
vendor: 617 bytes, lines 1078-1094
1078// node_modules/@suid/system/node_modules/@suid/css/renderMediaQuery.js 1079function renderMediaQuery(comparator, width, units = "px") { 1080 let selector; 1081 if (comparator === "up") { 1082 selector = `(min-width:${width}${units})`; 1083 } else if (comparator === "down") { 1084 selector = `(max-width:${width}${units})`; 1085 } else if (comparator === "between") { 1086 const [maxW, minW] = width; 1087 selector = `(max-width:${maxW}${units}) and (min-width:${minW}${units})`; 1088 } else { 1089 throw new Error(`Invalid comparator: ${comparator}`); 1090 } 1091 return `@media ${selector}`; 1092} 1093var renderMediaQuery_default = renderMediaQuery; 1094
vendor: 1,105 bytes, lines 1095-1135
1095// node_modules/@suid/system/createTheme/createBreakpoints.js 1096var breakpointsDefault = createBreakpointsOptions({ 1097 columns: 12, 1098 keys: ["xs", "sm", "md", "lg", "xl"], 1099 values: { 1100 xs: 0, 1101 sm: 600, 1102 md: 900, 1103 lg: 1200, 1104 xl: 1536 1105 }, 1106 unit: "px" 1107}); 1108function createBreakpointsOptions(options) { 1109 return options; 1110} 1111function createBreakpoints(options) { 1112 const result = { 1113 ...breakpointsDefault, 1114 ...options ?? {}, 1115 up: (value, css) => { 1116 const key = renderMediaQuery_default("up", result.resolve(value)); 1117 return css ? { [key]: css } : key; 1118 }, 1119 down: (value, css) => { 1120 const key = renderMediaQuery_default("down", result.resolve(value)); 1121 return css ? { [key]: css } : key; 1122 }, 1123 between: (value, css) => { 1124 const key = renderMediaQuery_default("between", [ 1125 result.resolve(value[0]), 1126 result.resolve(value[1]) 1127 ]); 1128 return css ? { [key]: css } : key; 1129 }, 1130 resolve: (value) => typeof value === "number" ? value : result.values[value] 1131 }; 1132 return result; 1133} 1134var createBreakpoints_default = createBreakpoints; 1135
vendor: 352 bytes, lines 1136-1146
1136// node_modules/@suid/system/createTheme/createSpacing.js 1137function createSpacing(options) { 1138 if (typeof options === "function") 1139 return options; 1140 const resolved = (...values2) => { 1141 return values2.map((v) => typeof v === "number" ? `${v * (options ?? 8)}px` : v).join(" "); 1142 }; 1143 return resolved; 1144} 1145var createSpacing_default = createSpacing; 1146
vendor: 1,125 bytes, lines 1147-1181
1147// node_modules/@suid/system/node_modules/@suid/utils/deepmerge.js 1148function isPlainObject2(item) { 1149 return item !== null && typeof item === "object" && item.constructor === Object; 1150} 1151function sortKeys2(object, keys) { 1152 for (const key of keys) { 1153 const value = object[key]; 1154 delete object[key]; 1155 object[key] = value; 1156 } 1157} 1158function deepmerge2(target, source, options = { clone: true }) { 1159 const output = options.clone ? { ...target } : target; 1160 const sourceKeys = options.sortKeys ? [] : void 0; 1161 if (isPlainObject2(target) && isPlainObject2(source)) { 1162 Object.keys(source).forEach((key) => { 1163 if (key === "__proto__") { 1164 return; 1165 } 1166 if (sourceKeys) 1167 sourceKeys.push(key); 1168 let sourceValue; 1169 let targetValue; 1170 if (isPlainObject2(sourceValue = source[key]) && key in target && isPlainObject2(targetValue = target[key])) { 1171 output[key] = deepmerge2(targetValue, sourceValue, options); 1172 } else if (sourceValue !== void 0) { 1173 output[key] = sourceValue; 1174 } 1175 }); 1176 if (sourceKeys) 1177 sortKeys2(output, sourceKeys); 1178 } 1179 return output; 1180} 1181
vendor: 516 bytes, lines 1182-1203
1182// node_modules/@suid/system/node_modules/@suid/utils/cloneObject.js 1183function cloneObject2(target) { 1184 if (Array.isArray(target)) { 1185 const output = []; 1186 for (const value of target) { 1187 output.push(cloneObject2(value)); 1188 } 1189 return output; 1190 } else if (isPlainObject2(target)) { 1191 const output = {}; 1192 for (const key in target) { 1193 if (key === "__proto__") { 1194 continue; 1195 } 1196 output[key] = cloneObject2(target[key]); 1197 } 1198 return output; 1199 } else { 1200 return target; 1201 } 1202} 1203
vendor: 227 bytes, lines 1204-1212
1204// node_modules/@suid/system/node_modules/@suid/utils/merge.js 1205function merge2(target, ...sources) { 1206 for (const source of sources) 1207 deepmerge2(target, cloneObject2(source), { 1208 clone: false 1209 }); 1210 return target; 1211} 1212
vendor: 317 bytes, lines 1213-1227
1213// node_modules/@suid/system/createTheme/shape.js 1214var shapeDefaults = createShapeOptions({ 1215 borderRadius: 4 1216}); 1217function createShapeOptions(data) { 1218 return data; 1219} 1220function createShape(options) { 1221 const result = { 1222 ...merge2({}, shapeDefaults, options) 1223 }; 1224 return result; 1225} 1226var shape_default = createShape; 1227
vendor: 1,143 bytes, lines 1228-1261
1228// node_modules/@suid/material/styles/createTheme.jsx 1229function createTheme(input = {}) { 1230 const theme = { 1231 direction: "ltr", 1232 ...input 1233 }; 1234 function def(key, defaults) { 1235 const inputValue = input[key]; 1236 Object.defineProperty(theme, key, { 1237 configurable: true, 1238 enumerable: true, 1239 ...typeof inputValue === "function" ? { 1240 get: inputValue 1241 } : { 1242 value: defaults({ 1243 [key]: inputValue 1244 }) 1245 } 1246 }); 1247 } 1248 def("breakpoints", (input2) => createBreakpoints_default(input2.breakpoints)); 1249 def("components", (input2) => createComponents(input2.components)); 1250 def("palette", (input2) => createPalette(input2.palette)); 1251 def("shape", (input2) => shape_default(input2.shape)); 1252 def("spacing", (input2) => createSpacing_default(input2.spacing)); 1253 def("typography", (input2) => createTypography(input2.typography)); 1254 def("shadows", () => createShadows()); 1255 def("transitions", () => createTransitions({})); 1256 def("zIndex", (input2) => createZIndex(input2.zIndex)); 1257 def("mixins", () => createMixins(theme.breakpoints)); 1258 return theme; 1259} 1260var createTheme_default = createTheme; 1261
vendor: 311 bytes, lines 1262-1273
1262// node_modules/@suid/system/makeGetDefaultTheme.js 1263function makeGetDefaultTheme(createTheme3) { 1264 let defaultTheme; 1265 return function getDefaultTheme() { 1266 if (!defaultTheme) { 1267 defaultTheme = createTheme3(); 1268 } 1269 return defaultTheme; 1270 }; 1271} 1272var makeGetDefaultTheme_default = makeGetDefaultTheme; 1273
vendor: 138 bytes, lines 1274-1276
1274// node_modules/@suid/material/styles/getDefaultTheme.js 1275var getDefaultTheme_default = makeGetDefaultTheme_default(createTheme_default); 1276
vendor: 352 bytes, lines 1277-1287
1277// node_modules/@suid/system/ThemeContext/ThemeContext.jsx 1278var ThemeContext; 1279if (true) { 1280 const global = globalThis; 1281 const suid = global.__suid || (global.__suid = {}); 1282 ThemeContext = suid.systemThemeContext || (suid.systemThemeContext = createContext({})); 1283} else { 1284 ThemeContext = createContext({}); 1285} 1286var ThemeContext_default = ThemeContext; 1287
vendor: 496 bytes, lines 1288-1307
1288// node_modules/@suid/system/createTheme/createTheme.jsx 1289function createTheme2(data) { 1290 const result = { 1291 direction: "ltr", 1292 shadows: void 0, 1293 transitions: void 0, 1294 components: void 0, 1295 palette: void 0, 1296 typography: void 0, 1297 zIndex: void 0, 1298 mixins: void 0, 1299 ...data, 1300 breakpoints: createBreakpoints(data?.breakpoints), 1301 shape: createShape(data?.shape), 1302 spacing: createSpacing(data?.spacing) 1303 }; 1304 return result; 1305} 1306var createTheme_default2 = createTheme2; 1307
vendor: 131 bytes, lines 1308-1310
1308// node_modules/@suid/system/getDefaultTheme.js 1309var getDefaultTheme_default2 = makeGetDefaultTheme_default(createTheme_default2); 1310
vendor: 169 bytes, lines 1311-1317
1311// node_modules/@suid/system/node_modules/@suid/utils/isEmptyObject.js 1312function isEmptyObject(object) { 1313 for (const _key in object) 1314 return false; 1315 return true; 1316} 1317
vendor: 430 bytes, lines 1318-1331
1318// node_modules/@suid/system/useTheme.js 1319function useTheme(defaultTheme = getDefaultTheme_default2, Context = ThemeContext_default) { 1320 const theme = useContext(Context); 1321 if (isEmptyObject(theme) && defaultTheme) { 1322 if (typeof defaultTheme === "function") 1323 return defaultTheme(); 1324 return defaultTheme; 1325 } 1326 if (!theme) 1327 throw new Error("Theme is not defined"); 1328 return theme; 1329} 1330var useTheme_default = useTheme; 1331
vendor: 212 bytes, lines 1332-1337
1332// node_modules/@suid/material/styles/useTheme.js 1333function useTheme2(defaultTheme = getDefaultTheme_default) { 1334 return useTheme_default(defaultTheme, ThemeContext_default); 1335} 1336var useTheme_default2 = useTheme2; 1337
vendor: 175 bytes, lines 1338-1343
1338// node_modules/@suid/base/useTheme.js 1339function useTheme3(defaultTheme) { 1340 return useTheme_default(defaultTheme, ThemeContext_default); 1341} 1342var useTheme_default3 = useTheme3; 1343
vendor: 567 bytes, lines 1344-1361
1344// node_modules/@suid/base/useThemeProps.js 1345function useThemeProps(options) { 1346 const props = []; 1347 const propDefaults = typeof options.propDefaults === "function" ? options.propDefaults({ 1348 set: (v) => v, 1349 inProps: options.props 1350 }) : options.propDefaults; 1351 const theme = useTheme_default3(); 1352 const themeProps = theme.components?.[options.name]?.defaultProps; 1353 if (propDefaults) 1354 props.push(propDefaults); 1355 if (themeProps) 1356 props.push(themeProps); 1357 if (!props.length) 1358 return options.props; 1359 return mergeProps(...[...props, options.props]); 1360} 1361
vendor: 1,411 bytes, lines 1362-1400
1362// node_modules/@suid/system/Dynamic/Dynamic.jsx 1363function createElement(tagName, isSVG = false) { 1364 return isSVG ? document.createElementNS("http://www.w3.org/2000/svg", tagName) : document.createElement(tagName); 1365} 1366function createServerDynamicComponent(component, props) { 1367 const comp = component(), t = typeof comp; 1368 if (comp) { 1369 if (t === "function") return comp(props); 1370 else if (t === "string") { 1371 return ssrElement(comp, props, void 0, true); 1372 } 1373 } 1374} 1375function createStaticComponent(component, props) { 1376 switch (typeof component) { 1377 case "function": 1378 if ("_DX_DEV_") Object.assign(component, { 1379 [$DEVCOMP]: true 1380 }); 1381 return untrack(() => component(props)); 1382 case "string": 1383 const isSvg = SVGElements.has(component); 1384 const el = sharedConfig.context ? getNextElement() : createElement(component, isSvg); 1385 spread(el, props, isSvg); 1386 return el; 1387 } 1388} 1389function createDynamicComponent(component, props) { 1390 if (isServer) return createServerDynamicComponent(component, props); 1391 const cached = createMemo(component); 1392 return createMemo(() => createStaticComponent(cached(), props)); 1393} 1394function Dynamic(props) { 1395 const [p, others] = splitProps(props, ["$component"]); 1396 if (isServer) return createServerDynamicComponent(() => p.$component, others); 1397 return createDynamicComponent(() => p.$component, others); 1398} 1399var Dynamic_default = Dynamic; 1400
vendor: 1,132 bytes, lines 1401-1435
1401// node_modules/@suid/styled-engine/node_modules/@suid/utils/deepmerge.js 1402function isPlainObject3(item) { 1403 return item !== null && typeof item === "object" && item.constructor === Object; 1404} 1405function sortKeys3(object, keys) { 1406 for (const key of keys) { 1407 const value = object[key]; 1408 delete object[key]; 1409 object[key] = value; 1410 } 1411} 1412function deepmerge3(target, source, options = { clone: true }) { 1413 const output = options.clone ? { ...target } : target; 1414 const sourceKeys = options.sortKeys ? [] : void 0; 1415 if (isPlainObject3(target) && isPlainObject3(source)) { 1416 Object.keys(source).forEach((key) => { 1417 if (key === "__proto__") { 1418 return; 1419 } 1420 if (sourceKeys) 1421 sourceKeys.push(key); 1422 let sourceValue; 1423 let targetValue; 1424 if (isPlainObject3(sourceValue = source[key]) && key in target && isPlainObject3(targetValue = target[key])) { 1425 output[key] = deepmerge3(targetValue, sourceValue, options); 1426 } else if (sourceValue !== void 0) { 1427 output[key] = sourceValue; 1428 } 1429 }); 1430 if (sourceKeys) 1431 sortKeys3(output, sourceKeys); 1432 } 1433 return output; 1434} 1435
vendor: 411 bytes, lines 1436-1451
1436// node_modules/@suid/styled-engine/mergeStyleProps.js 1437function mergeStyleProps(values2) { 1438 const result = values2.reduce((result2, value) => { 1439 if ("name" in value) 1440 result2[`--${value.name}`] = "0"; 1441 deepmerge3(result2, value, { 1442 clone: false, 1443 sortKeys: true 1444 }); 1445 return result2; 1446 }, {}); 1447 delete result.name; 1448 return result; 1449} 1450var mergeStyleProps_default = mergeStyleProps; 1451
vendor: 494 bytes, lines 1452-1471
1452// node_modules/@suid/styled-engine/node_modules/@suid/css/assert.js 1453function isVar(value) { 1454 return value.startsWith("--"); 1455} 1456function isPrivateVar(value) { 1457 return value.startsWith("__"); 1458} 1459function isSelector(value) { 1460 return /[^a-z-]/i.test(value) && !isVar(value); 1461} 1462function isGlobalSelector(value) { 1463 return value.startsWith("@global"); 1464} 1465function isMediaQuery(value) { 1466 return value.startsWith("@media"); 1467} 1468function isKeyframes(value) { 1469 return value.startsWith("@keyframes"); 1470} 1471
vendor: 180 bytes, lines 1472-1476
1472// node_modules/@suid/styled-engine/node_modules/@suid/css/utils/string.js 1473function snakeCase(value) { 1474 return value.replace(/[A-Z]/g, (letter) => `-${letter.toLowerCase()}`); 1475} 1476
vendor: 3,096 bytes, lines 1477-1567
1477// node_modules/@suid/styled-engine/node_modules/@suid/css/render.js 1478function renderSelector(propKey, propValue, selectors = [], options = {}) { 1479 const subselectors = propKey.split(",").map((v) => { 1480 v = v.trim(); 1481 return v.includes("&") ? v : `& ${v}`; 1482 }); 1483 return render2(propValue, (selectors.length ? selectors : [""]).flatMap((selector) => subselectors.map((v) => v.replace(/&/g, selector).trim())), { 1484 ...options 1485 }); 1486} 1487function snakeCaseWithCache(name, cache2) { 1488 if (!cache2) 1489 return snakeCase(name); 1490 let result = cache2.get(name); 1491 if (result) 1492 return result; 1493 cache2.set(name, result = snakeCase(name)); 1494 return result; 1495} 1496function render2(css, selectors = [], options = {}) { 1497 const props = []; 1498 const rules = []; 1499 for (let propKey in css) { 1500 const propValue = css[propKey]; 1501 if (isPrivateVar(propKey)) { 1502 continue; 1503 } else if (isGlobalSelector(propKey)) { 1504 for (const selector in propValue) { 1505 rules.push(...renderSelector(selector, propValue[selector], [], options)); 1506 } 1507 } else if (isMediaQuery(propKey)) { 1508 rules.push(...render2(propValue, selectors, { 1509 ...options, 1510 sublevel: true 1511 }).map((v) => `${propKey} { 1512${v} 1513}`)); 1514 } else if (isVar(propKey)) { 1515 if (propValue !== void 0 && propValue !== null) 1516 props.push(`${propKey}: ${propValue};`); 1517 } else if (isKeyframes(propKey)) { 1518 const keyframes = []; 1519 for (const k in propValue) { 1520 keyframes.push(...render2(propValue[k], [/^\d+$/.test(k) ? `${k}%` : k], { 1521 ...options, 1522 sublevel: true 1523 })); 1524 } 1525 rules.push(`${propKey} { 1526${keyframes.join("\n")} 1527}`); 1528 } else if (isSelector(propKey)) { 1529 rules.push(...renderSelector(propKey, propValue, selectors, options)); 1530 } else if (options.extraProperties && propKey in options.extraProperties) { 1531 const extraProps = options.extraProperties[propKey](propValue); 1532 for (const extraPropKey in extraProps) { 1533 const inValue = extraProps[extraPropKey]; 1534 const value = options.onPropertyValue ? options.onPropertyValue(extraPropKey, inValue) : inValue; 1535 if (value !== void 0 && value !== null) 1536 props.push(`${snakeCaseWithCache(extraPropKey, options.propertyNameCache)}: ${value};`); 1537 } 1538 } else { 1539 propKey = snakeCaseWithCache(propKey, options.propertyNameCache); 1540 const value = options.onPropertyValue ? options.onPropertyValue(propKey, propValue) : propValue; 1541 if (value !== void 0 && value !== null) 1542 props.push(`${propKey}: ${value};`); 1543 } 1544 } 1545 const renderProps = (level) => { 1546 const pad = " ".repeat(level); 1547 return `${pad}${props.join(` 1548${pad}`)}`; 1549 }; 1550 if (selectors.length) { 1551 const pad = options.sublevel ? ` ` : ``; 1552 const selectorStr = pad + selectors.join(`, 1553${pad}`); 1554 return [ 1555 ...props.length ? [ 1556 `${selectorStr} { 1557${renderProps(options.sublevel ? 2 : 1)} 1558${pad}}` 1559 ] : [], 1560 ...rules 1561 ]; 1562 } else { 1563 return [...props.length ? [renderProps(0)] : [], ...rules]; 1564 } 1565} 1566var render_default = render2; 1567
vendor: 165 bytes, lines 1568-1572
1568// node_modules/@suid/styled-engine/node_modules/@suid/css/utils/array.js 1569function toArray(value) { 1570 return value ? Array.isArray(value) ? value : [value] : []; 1571} 1572
vendor: 186 bytes, lines 1573-1579
1573// node_modules/@suid/styled-engine/node_modules/@suid/css/utils/function.js 1574function resolveFunction(value) { 1575 if (typeof value === "function") 1576 value = value(); 1577 return value; 1578} 1579
vendor: 1,603 bytes, lines 1580-1628
1580// node_modules/@suid/styled-engine/node_modules/@suid/css/createStyleObject.js 1581var StyleCache = class { 1582 ids = /* @__PURE__ */ new Map(); 1583 rules = /* @__PURE__ */ new Map(); 1584 propertyNames = /* @__PURE__ */ new Map(); 1585 create(name, rules, componentId) { 1586 let styleObject = this.rules.get(rules); 1587 if (styleObject) 1588 return styleObject; 1589 let componentIndex = this.ids.get(componentId); 1590 if (typeof componentIndex === "number") { 1591 this.ids.set(componentId, ++componentIndex); 1592 componentId += `_${componentIndex}`; 1593 } 1594 styleObject = create(name, rules, componentId); 1595 this.save(styleObject, rules); 1596 return styleObject; 1597 } 1598 save(style, rules) { 1599 this.ids.set(style.id, 0); 1600 this.rules.set(rules, style); 1601 } 1602 delete(style) { 1603 this.ids.delete(style.id); 1604 this.rules.delete(style.rules); 1605 } 1606}; 1607function create(name, rules, id) { 1608 return { 1609 id, 1610 name, 1611 className: `${name}-${id}`, 1612 rules: rules.replaceAll(`$id`, `${id}`) 1613 }; 1614} 1615function createStyleObject(options) { 1616 const className = `${options.name}-$id`; 1617 const propsValues = toArray(resolveFunction(options.props)); 1618 const propertyNameCache = options.cache?.propertyNames; 1619 const rules = propsValues.map((v) => typeof v === "string" ? `.${className} { 1620${v} 1621}` : render_default(v, [`.${className}`], { 1622 extraProperties: options.extraProperties, 1623 propertyNameCache 1624 }).join("\n")).join("\n"); 1625 return options.cache?.create(options.name, rules, options.componentId) || create(options.name, rules, options.componentId); 1626} 1627var createStyleObject_default = createStyleObject; 1628
vendor: 364 bytes, lines 1629-1639
1629// node_modules/@suid/styled-engine/node_modules/@suid/css/dom/setStyleElementText.js 1630function setStyleElementText(element, text) { 1631 if ("styleSheet" in element) { 1632 element["styleSheet"].cssText = text; 1633 } else { 1634 element.innerText = ""; 1635 element.appendChild(document.createTextNode(text)); 1636 } 1637} 1638var setStyleElementText_default = setStyleElementText; 1639
vendor: 679 bytes, lines 1640-1662
1640// node_modules/@suid/styled-engine/node_modules/@suid/css/dom/createStyleElement.js 1641function setAttributes(element, attributes) { 1642 for (const name in attributes) { 1643 const value = attributes[name]; 1644 if (value !== void 0) { 1645 if (value === null) { 1646 element.removeAttribute(name); 1647 } else { 1648 element.setAttribute(name, value); 1649 } 1650 } 1651 } 1652} 1653function createStyleElement(css, attributes) { 1654 const element = document.createElement("style"); 1655 element.type = "text/css"; 1656 if (attributes) 1657 setAttributes(element, attributes); 1658 setStyleElementText_default(element, css); 1659 return element; 1660} 1661var createStyleElement_default = createStyleElement; 1662
vendor: 322 bytes, lines 1663-1670
1663// node_modules/@suid/styled-engine/node_modules/@suid/css/dom/registerStyleElementUsage.js 1664function registerStyleElementUsage(style) { 1665 let uses = Number(style.getAttribute("data-uses")); 1666 uses++; 1667 style.setAttribute("data-uses", uses.toString()); 1668} 1669var registerStyleElementUsage_default = registerStyleElementUsage; 1670
vendor: 1,253 bytes, lines 1671-1703
1671// node_modules/@suid/styled-engine/node_modules/@suid/css/dom/appendStyleElement.js 1672var placeholderId = "suid-injectFirst"; 1673function appendStyleElement(css, attributes, injectFirst) { 1674 if (Array.isArray(css)) 1675 css = css.join("\n"); 1676 const id = attributes?.["id"]; 1677 const head = document.head || document.getElementsByTagName("head")[0]; 1678 const prevElement = id && document.getElementById(id); 1679 if (prevElement && prevElement instanceof HTMLStyleElement) { 1680 setStyleElementText_default(prevElement, css); 1681 registerStyleElementUsage_default(prevElement); 1682 return prevElement; 1683 } else { 1684 if (prevElement) 1685 prevElement.remove(); 1686 const element = createStyleElement_default(css, attributes); 1687 registerStyleElementUsage_default(element); 1688 if (injectFirst) { 1689 let placeholderElement = head.querySelector(`#${placeholderId}`); 1690 if (!placeholderElement) { 1691 placeholderElement = document.createElement("style"); 1692 placeholderElement.setAttribute("id", placeholderId); 1693 head.prepend(placeholderElement); 1694 } 1695 head.insertBefore(element, placeholderElement); 1696 } else { 1697 head.appendChild(element); 1698 } 1699 return element; 1700 } 1701} 1702var appendStyleElement_default = appendStyleElement; 1703
vendor: 445 bytes, lines 1704-1713
1704// node_modules/@suid/styled-engine/node_modules/@suid/css/dom/findStyleElement.js 1705function findStyleElement(input, classPrefix = "css-") { 1706 if (typeof input === "string") 1707 return document.getElementById(input); 1708 const className = [...input.classList].find((name) => name.startsWith(classPrefix)); 1709 if (className) 1710 return document.getElementById(className.slice(classPrefix.length)); 1711} 1712var findStyleElement_default = findStyleElement; 1713
vendor: 386 bytes, lines 1714-1725
1714// node_modules/@suid/styled-engine/node_modules/@suid/css/dom/unregisterStyleElementUsage.js 1715function unregisterStyleElementUsage(style) { 1716 let uses = Number(style.getAttribute("data-uses")); 1717 uses--; 1718 if (uses <= 0) { 1719 style.remove(); 1720 } else { 1721 style.setAttribute("data-uses", uses.toString()); 1722 } 1723} 1724var unregisterStyleElementUsage_default = unregisterStyleElementUsage; 1725
vendor: 172 bytes, lines 1726-1730
1726// node_modules/@suid/styled-engine/node_modules/@suid/utils/randomString.js 1727function randomString() { 1728 return Math.random().toString(36).substring(2, 15).slice(0, 8); 1729} 1730
vendor: 2,929 bytes, lines 1731-1821
1731// node_modules/@suid/styled-engine/createStyle.jsx 1732var _tmpl$ = /* @__PURE__ */ template(`<style>`); 1733var styleCache = isServer ? void 0 : new StyleCache(); 1734function normalizeStyleProps(props) { 1735 if (!props) { 1736 return []; 1737 } else if (Array.isArray(props)) { 1738 return props.flat(Infinity).filter((v) => !!v); 1739 } else { 1740 return [props]; 1741 } 1742} 1743function createStyleId() { 1744 if (!sharedConfig.context) return randomString(); 1745 const id = createUniqueId().replaceAll("-", ""); 1746 const chunkSize = 9; 1747 const chunks = Math.ceil(id.length / chunkSize); 1748 const ids = []; 1749 for (let chunk = 1; chunk <= chunks; ++chunk) { 1750 const index = (chunk - 1) * chunkSize; 1751 const number = Number(id.slice(index, index + chunkSize)); 1752 ids.push(number.toString(32)); 1753 } 1754 return ids.join("-"); 1755} 1756function createStyle(value) { 1757 const context = useContext(StyledEngineContext_default); 1758 const [name, setName] = createSignal(""); 1759 const componentId = createStyleId(); 1760 let styleElement; 1761 createRenderEffect((prevResult) => { 1762 const propsValue = value(); 1763 let styleObject; 1764 if (propsValue) { 1765 styleObject = createStyleObject_default({ 1766 name: "css", 1767 props: mergeStyleProps_default(normalizeStyleProps(propsValue)), 1768 cache: styleCache, 1769 componentId 1770 }); 1771 if (isServer) { 1772 if (true) { 1773 if (context.injectFirst) console.warn(`SUID: 'injectFirst' is not supported in SSR mode.`); 1774 } 1775 voidFn(() => (() => { 1776 const _el$ = _tmpl$(); 1777 createRenderEffect((_p$) => { 1778 const _v$ = styleObject.id, _v$2 = styleObject.rules, _v$3 = context.cache?.nonce; 1779 _v$ !== _p$._v$ && setAttribute(_el$, "id", _p$._v$ = _v$); 1780 _v$2 !== _p$._v$2 && (_el$.innerHTML = _p$._v$2 = _v$2); 1781 _v$3 !== _p$._v$3 && setAttribute(_el$, "nonce", _p$._v$3 = _v$3); 1782 return _p$; 1783 }, { 1784 _v$: void 0, 1785 _v$2: void 0, 1786 _v$3: void 0 1787 }); 1788 return _el$; 1789 })()); 1790 } else { 1791 styleElement = findStyleElement_default(styleObject.id); 1792 if (styleElement) { 1793 registerStyleElementUsage_default(styleElement); 1794 } else { 1795 styleElement = appendStyleElement_default(styleObject.rules, { 1796 id: styleObject.id, 1797 nonce: context.cache?.nonce 1798 }, context.injectFirst); 1799 } 1800 if (prevResult?.styleElement) { 1801 unregisterStyleElementUsage_default(prevResult.styleElement); 1802 } 1803 } 1804 } 1805 if (typeof styleObject?.className === "string") { 1806 setName(styleObject.className); 1807 } else { 1808 setName(""); 1809 } 1810 return { 1811 className: styleObject?.className, 1812 styleElement 1813 }; 1814 }, void 0); 1815 onCleanup(() => { 1816 if (styleElement) unregisterStyleElementUsage_default(styleElement); 1817 }); 1818 return name; 1819} 1820var createStyle_default = createStyle; 1821
vendor: 427 bytes, lines 1822-1838
1822// node_modules/@suid/system/node_modules/@suid/css/assert.js 1823function isVar2(value) { 1824 return value.startsWith("--"); 1825} 1826function isSelector2(value) { 1827 return /[^a-z-]/i.test(value) && !isVar2(value); 1828} 1829function isGlobalSelector2(value) { 1830 return value.startsWith("@global"); 1831} 1832function isMediaQuery2(value) { 1833 return value.startsWith("@media"); 1834} 1835function isKeyframes2(value) { 1836 return value.startsWith("@keyframes"); 1837} 1838
vendor: 923 bytes, lines 1839-1868
1839// node_modules/@suid/system/node_modules/@suid/css/resolve.js 1840function resolve(css, onProp, cssTarget = {}) { 1841 for (const name in css) { 1842 const value = css[name]; 1843 if (isGlobalSelector2(name)) { 1844 cssTarget[name] = resolve(value, onProp); 1845 } else if (isMediaQuery2(name)) { 1846 cssTarget[name] = resolve(value, onProp); 1847 } else if (isKeyframes2(name)) { 1848 cssTarget[name] = {}; 1849 for (const v in value) { 1850 cssTarget[name][v] = resolve(value[v], onProp); 1851 } 1852 } else if (isSelector2(name)) { 1853 cssTarget[name] = resolve(value, onProp); 1854 } else { 1855 const result = onProp(name, value); 1856 if (result) { 1857 for (const key in result) { 1858 cssTarget[key] = isMediaQuery2(key) ? { ...cssTarget[key], ...result[key] } : result[key]; 1859 } 1860 } else { 1861 cssTarget[name] = value; 1862 } 1863 } 1864 } 1865 return cssTarget; 1866} 1867var resolve_default = resolve; 1868
vendor: 1,204 bytes, lines 1869-1926
1869// node_modules/@suid/system/resolveStyledProps.js 1870var unitLess = /* @__PURE__ */ new Set([ 1871 "animationIterationCount", 1872 "borderImageOutset", 1873 "borderImageSlice", 1874 "borderImageWidth", 1875 "boxFlex", 1876 "boxFlexGroup", 1877 "boxOrdinalGroup", 1878 "columnCount", 1879 "columns", 1880 "flex", 1881 "flexGrow", 1882 "flexPositive", 1883 "flexShrink", 1884 "flexNegative", 1885 "flexOrder", 1886 "gridRow", 1887 "gridRowEnd", 1888 "gridRowSpan", 1889 "gridRowStart", 1890 "gridColumn", 1891 "gridColumnEnd", 1892 "gridColumnSpan", 1893 "gridColumnStart", 1894 "msGridRow", 1895 "msGridRowSpan", 1896 "msGridColumn", 1897 "msGridColumnSpan", 1898 "fontWeight", 1899 "lineHeight", 1900 "opacity", 1901 "order", 1902 "orphans", 1903 "tabSize", 1904 "widows", 1905 "zIndex", 1906 "zoom", 1907 "WebkitLineClamp", 1908 "fillOpacity", 1909 "floodOpacity", 1910 "stopOpacity", 1911 "strokeDasharray", 1912 "strokeDashoffset", 1913 "strokeMiterlimit", 1914 "strokeOpacity", 1915 "strokeWidth" 1916]); 1917function resolveStyledPropsValue(name, value) { 1918 if (typeof value === "number") { 1919 return { [name]: unitLess.has(name) ? value.toString() : `${value}px` }; 1920 } 1921} 1922function resolveStyledProps(v, cssTarget = {}) { 1923 return resolve_default(v, resolveStyledPropsValue, cssTarget); 1924} 1925var resolveStyledProps_default = resolveStyledProps; 1926
vendor: 369 bytes, lines 1927-1941
1927// node_modules/@suid/system/getThemeValue.js 1928function getThemeValue(theme, key, value) { 1929 if (typeof value !== "string") 1930 return value; 1931 const names = value.split("."); 1932 let ref = theme[key]; 1933 for (let i = 0; i < names.length; i++) { 1934 ref = ref?.[names[i]]; 1935 if (!ref) 1936 break; 1937 } 1938 return ref ?? value; 1939} 1940var getThemeValue_default = getThemeValue; 1941
vendor: 1,939 bytes, lines 1942-1999
1942// node_modules/@suid/system/spacing.js 1943function getPath(obj, path) { 1944 if (!path || typeof path !== "string") { 1945 return null; 1946 } 1947 return path.split(".").reduce((acc, item) => acc && acc[item] ? acc[item] : null, obj); 1948} 1949function createUnaryUnit(theme, themeKey, defaultValue, propName) { 1950 const themeSpacing = getPath(theme, themeKey) || defaultValue; 1951 if (typeof themeSpacing === "number") { 1952 return (abs) => { 1953 if (typeof abs === "string") { 1954 return abs; 1955 } 1956 if (true) { 1957 if (typeof abs !== "number") { 1958 console.error(`MUI: Expected ${propName} argument to be a number or a string, got ${abs}.`); 1959 } 1960 } 1961 return themeSpacing * abs; 1962 }; 1963 } 1964 if (Array.isArray(themeSpacing)) { 1965 return (abs) => { 1966 if (typeof abs === "string") { 1967 return abs; 1968 } 1969 if (true) { 1970 if (!Number.isInteger(abs)) { 1971 console.error([ 1972 `MUI: The \`theme.${themeKey}\` array type cannot be combined with non integer values.You should either use an integer value that can be used as index, or define the \`theme.${themeKey}\` as a number.` 1973 ].join("\n")); 1974 } else if (abs > themeSpacing.length - 1) { 1975 console.error([ 1976 `MUI: The value provided (${abs}) overflows.`, 1977 `The supported values are: ${JSON.stringify(themeSpacing)}.`, 1978 `${abs} > ${themeSpacing.length - 1}, you need to add the missing values.` 1979 ].join("\n")); 1980 } 1981 } 1982 return themeSpacing[abs]; 1983 }; 1984 } 1985 if (typeof themeSpacing === "function") { 1986 return themeSpacing; 1987 } 1988 if (true) { 1989 console.error([ 1990 `MUI: The \`theme.${themeKey}\` value (${themeSpacing}) is invalid.`, 1991 "It should be a number, an array or a function." 1992 ].join("\n")); 1993 } 1994 return () => void 0; 1995} 1996function createUnarySpacing(theme) { 1997 return createUnaryUnit(theme, "spacing.resolve", 8, "spacing.resolve"); 1998} 1999
vendor: 7,598 bytes, lines 2000-2207
2000// node_modules/@suid/system/createSystemProps.js 2001var dirMap = { 2002 x: ["Left", "Right"], 2003 y: ["Top", "Bottom"] 2004}; 2005function asPx(value) { 2006 return typeof value === "number" ? `${value}px` : value; 2007} 2008function customProp(name, onValue) { 2009 return (value, theme) => onValue(name, value, theme); 2010} 2011function prop(name, onValue) { 2012 return onValue ? (value, theme) => ({ 2013 [name]: onValue(name, value, theme) 2014 }) : (value) => ({ [name]: value }); 2015} 2016function pxProp(name) { 2017 return prop(name, (name2, value) => asPx(value)); 2018} 2019function mProp(name, suffix, onValue) { 2020 const names = suffix.map((v) => `${name}${v}`); 2021 return onValue ? (value, theme) => names.reduce((result, name2) => { 2022 result[name2] = onValue(name2, value, theme); 2023 return result; 2024 }, {}) : (value) => names.reduce((result, name2) => { 2025 result[name2] = value; 2026 return result; 2027 }, {}); 2028} 2029function createSystemProps() { 2030 return { 2031 ...createSystemDisplayProps(), 2032 ...createSystemFlexboxProps(), 2033 ...createSystemGridProps(), 2034 ...createSystemPositionProps(), 2035 ...createSystemPaletteProps(), 2036 ...createSystemSizingProps(), 2037 ...createSystemBorderProps(), 2038 ...createSystemSpacingProps(), 2039 ...createSystemTypographyProps() 2040 }; 2041} 2042function createSystemDisplayProps() { 2043 return { 2044 displayPrint: customProp("displayPrint", (name, display) => ({ 2045 "@media print": { 2046 display 2047 } 2048 })), 2049 displayRaw: prop("display"), 2050 overflow: prop("overflow"), 2051 textOverflow: prop("textOverflow"), 2052 visibility: prop("visibility"), 2053 whiteSpace: prop("whiteSpace") 2054 }; 2055} 2056function createSystemFlexboxProps() { 2057 return { 2058 flexBasis: prop("flexBasis"), 2059 flexDirection: prop("flexDirection"), 2060 flexWrap: prop("flexWrap"), 2061 justifyContent: prop("justifyContent"), 2062 alignItems: prop("alignItems"), 2063 alignContent: prop("alignContent"), 2064 order: prop("order"), 2065 flex: prop("flex"), 2066 flexGrow: prop("flexGrow"), 2067 flexShrink: prop("flexShrink"), 2068 alignSelf: prop("alignSelf"), 2069 justifyItems: prop("justifyItems"), 2070 justifySelf: prop("justifySelf") 2071 }; 2072} 2073function createSystemGridProps() { 2074 const spacing = (name, value, theme) => createUnaryUnit(theme, "spacing", 8, name)(value); 2075 return { 2076 gap: prop("gap", spacing), 2077 columnGap: prop("columnGap", spacing), 2078 rowGap: prop("rowGap", spacing), 2079 gridColumn: prop("gridColumn"), 2080 gridRow: prop("gridRow"), 2081 gridAutoFlow: prop("gridAutoFlow"), 2082 gridAutoColumns: prop("gridAutoColumns"), 2083 gridAutoRows: prop("gridAutoRows"), 2084 gridTemplateColumns: prop("gridTemplateColumns"), 2085 gridTemplateRows: prop("gridTemplateRows"), 2086 gridTemplateAreas: prop("gridTemplateAreas"), 2087 gridArea: prop("gridArea") 2088 }; 2089} 2090function createSystemPositionProps() { 2091 return { 2092 position: prop("position"), 2093 zIndex: prop("zIndex", (name, value, theme) => theme.zIndex?.[name] ?? value), 2094 top: pxProp("top"), 2095 right: pxProp("right"), 2096 bottom: pxProp("bottom"), 2097 left: pxProp("left") 2098 }; 2099} 2100function createSystemPaletteProps() { 2101 const paletteValue = (name, value, theme) => getThemeValue_default(theme, "palette", value); 2102 return { 2103 color: prop("color", paletteValue), 2104 bgcolor: prop("backgroundColor", paletteValue), 2105 backgroundColor: prop("backgroundColor", paletteValue) 2106 }; 2107} 2108function createSystemSizingProps() { 2109 const onValue = (name, value, theme) => { 2110 if (name === "maxWidth") { 2111 value = theme.breakpoints.values[name] ?? value; 2112 } 2113 if (typeof value === "number") { 2114 value = value > 0 && value <= 1 ? `${value * 100}%` : `${value}px`; 2115 } 2116 return value; 2117 }; 2118 return { 2119 width: prop("width", onValue), 2120 maxWidth: prop("maxWidth", onValue), 2121 minWidth: prop("minWidth", onValue), 2122 height: prop("height", onValue), 2123 maxHeight: prop("maxHeight", onValue), 2124 minHeight: prop("minHeight", onValue), 2125 boxSizing: prop("boxSizing", onValue) 2126 }; 2127} 2128function createSystemBorderProps() { 2129 const borderValue = (name, value) => typeof value === "number" ? `${value}px solid` : value; 2130 const paletteValue = (name, value, theme) => getThemeValue_default(theme, "palette", value); 2131 return { 2132 border: prop("border", borderValue), 2133 borderTop: prop("borderTop", borderValue), 2134 borderRight: prop("borderRight", borderValue), 2135 borderBottom: prop("borderBottom", borderValue), 2136 borderLeft: prop("borderLeft", borderValue), 2137 borderColor: prop("borderColor", paletteValue), 2138 borderTopColor: prop("borderTopColor", paletteValue), 2139 borderRightColor: prop("borderRightColor", paletteValue), 2140 borderBottomColor: prop("borderBottomColor", paletteValue), 2141 borderLeftColor: prop("borderLeftColor", paletteValue), 2142 borderRadius: prop("borderRadius", (name, value, theme) => typeof value === "number" ? `${theme.shape.borderRadius * value}px` : value) 2143 }; 2144} 2145function createSystemTypographyProps() { 2146 const typographyValue = (name, value, theme) => getThemeValue_default(theme, "typography", value); 2147 return { 2148 typography: customProp("typography", (name, value, theme) => getThemeValue_default(theme, "typography", value)), 2149 fontFamily: prop("fontFamily", typographyValue), 2150 fontSize: prop("fontSize", (name, value, theme) => asPx(typographyValue(name, value, theme))), 2151 fontStyle: prop("fontStyle", typographyValue), 2152 fontWeight: prop("fontWeight", typographyValue), 2153 letterSpacing: pxProp("letterSpacing"), 2154 lineHeight: prop("lineHeight"), 2155 textAlign: prop("textAlign"), 2156 textTransform: prop("textTransform") 2157 }; 2158} 2159function createSystemSpacingProps() { 2160 const spacing = (name, value, theme) => theme.spacing(value); 2161 const m = "margin"; 2162 const p = "padding"; 2163 return { 2164 m: prop(m, spacing), 2165 mt: prop("marginTop", spacing), 2166 mr: prop("marginRight", spacing), 2167 mb: prop("marginBottom", spacing), 2168 ml: prop("marginLeft", spacing), 2169 mx: mProp(m, dirMap["x"], spacing), 2170 my: mProp(m, dirMap["y"], spacing), 2171 margin: prop(m, spacing), 2172 marginTop: prop("marginTop", spacing), 2173 marginRight: prop("marginRight", spacing), 2174 marginBottom: prop("marginBottom", spacing), 2175 marginLeft: prop("marginLeft", spacing), 2176 marginX: mProp(m, dirMap["x"], spacing), 2177 marginY: mProp(m, dirMap["y"], spacing), 2178 marginInline: mProp(m, ["Inline", "InlineStart"], spacing), 2179 marginInlineStart: prop("marginInlineStart", spacing), 2180 marginInlineEnd: prop("marginInlineEnd", spacing), 2181 marginBlock: mProp(m, ["BlockStart", "BlockEnd"], spacing), 2182 marginBlockStart: prop("marginBlockStart", spacing), 2183 marginBlockEnd: prop("marginBlockEnd", spacing), 2184 p: prop(p, spacing), 2185 pt: prop("paddingTop", spacing), 2186 pr: prop("paddingRight", spacing), 2187 pb: prop("paddingBottom", spacing), 2188 pl: prop("paddingLeft", spacing), 2189 px: mProp(p, dirMap["x"], spacing), 2190 py: mProp(p, dirMap["y"], spacing), 2191 padding: prop(p, spacing), 2192 paddingTop: prop("paddingTop", spacing), 2193 paddingRight: prop("paddingRight", spacing), 2194 paddingBottom: prop("paddingBottom", spacing), 2195 paddingLeft: prop("paddingLeft", spacing), 2196 paddingX: mProp(p, dirMap["x"], spacing), 2197 paddingY: mProp(p, dirMap["y"], spacing), 2198 paddingInline: mProp(p, ["Inline", "InlineStart"], spacing), 2199 paddingInlineStart: prop("paddingInlineStart", spacing), 2200 paddingInlineEnd: prop("paddingInlineEnd", spacing), 2201 paddingBlock: mProp(p, ["BlockStart", "BlockEnd"], spacing), 2202 paddingBlockStart: prop("paddingBlockStart", spacing), 2203 paddingBlockEnd: prop("paddingBlockEnd", spacing) 2204 }; 2205} 2206var createSystemProps_default = createSystemProps; 2207
vendor: 179 bytes, lines 2208-2212
2208// node_modules/@suid/system/systemProps.js 2209var systemProps = createSystemProps_default(); 2210var systemPropNames = Object.keys(systemProps); 2211var systemProps_default = systemProps; 2212
vendor: 1,007 bytes, lines 2213-2239
2213// node_modules/@suid/system/resolveSxProps.js 2214function resolveSystemPropsValue(name, value, theme) { 2215 return systemProps_default[name](value, theme); 2216} 2217function resolveSxPropsValue(name, value, theme) { 2218 return name in systemProps_default ? resolveSystemPropsValue(name, value, theme) : resolveStyledPropsValue(name, value); 2219} 2220function resolveSxProps(object, theme) { 2221 return resolve_default(object, (name, value) => { 2222 if (typeof value === "function") { 2223 value = value(theme); 2224 } 2225 if (value === null || value === void 0) { 2226 return value; 2227 } else if (typeof value === "object") { 2228 const sortedCss = {}; 2229 for (const key of theme.breakpoints.keys) { 2230 sortedCss[theme.breakpoints.up(key)] = {}; 2231 } 2232 return Object.assign(sortedCss, handleBreakpoints({ theme }, value, (v) => resolveSxPropsValue(name, v, theme) ?? { [name]: v })); 2233 } else { 2234 return resolveSxPropsValue(name, value, theme); 2235 } 2236 }); 2237} 2238var resolveSxProps_default = resolveSxProps; 2239
vendor: 166 bytes, lines 2240-2244
2240// node_modules/@suid/system/node_modules/@suid/utils/randomString.js 2241function randomString2() { 2242 return Math.random().toString(36).substring(2, 15).slice(0, 8); 2243} 2244
vendor: 520 bytes, lines 2245-2258
2245// node_modules/clsx/dist/clsx.m.js 2246function r(e) { 2247 var t, f, n = ""; 2248 if ("string" == typeof e || "number" == typeof e) n += e; 2249 else if ("object" == typeof e) if (Array.isArray(e)) for (t = 0; t < e.length; t++) e[t] && (f = r(e[t])) && (n && (n += " "), n += f); 2250 else for (t in e) e[t] && (n && (n += " "), n += t); 2251 return n; 2252} 2253function clsx() { 2254 for (var e, t, f = 0, n = ""; f < arguments.length; ) (e = arguments[f++]) && (t = r(e)) && (n && (n += " "), n += t); 2255 return n; 2256} 2257var clsx_m_default = clsx; 2258
vendor: 3,828 bytes, lines 2259-2367
2259// node_modules/@suid/system/createStyled.jsx 2260function redefine(component, ..._types) { 2261 return component; 2262} 2263var skipProps = ["ownerState", "theme", "sx", "as"]; 2264function resolveStyles(useTheme4, className, styles, inProps) { 2265 return createMemo(() => { 2266 const theme = useTheme4(); 2267 const ownerState = inProps.ownerState; 2268 return styles.reduce((result, style) => { 2269 let styledProps; 2270 if (typeof style === "function") { 2271 styledProps = style({ 2272 ownerState, 2273 theme, 2274 get sx() { 2275 return inProps.sx; 2276 }, 2277 get as() { 2278 return inProps.as; 2279 }, 2280 props: inProps 2281 }); 2282 } else if (style) { 2283 styledProps = style; 2284 } 2285 if (styledProps) result.push(resolveStyledProps_default(styledProps, { 2286 name: className, 2287 __resolved: true 2288 })); 2289 return result; 2290 }, []); 2291 }); 2292} 2293function isStyledComponent(input) { 2294 return typeof input === "function" && "__styled" in input && !!input.__styled; 2295} 2296function createStyled(config) { 2297 return function styled(Component, options = {}) { 2298 let cssClassName; 2299 let className; 2300 if (options.name) { 2301 const slot = options.slot || "Root"; 2302 className = cssClassName = `${options.name}-${slot.slice(0, 1).toLowerCase() + slot.slice(1)}`; 2303 } else { 2304 className = `styled-${randomString2()}`; 2305 cssClassName = "css"; 2306 } 2307 const isComponentStyled = isStyledComponent(Component); 2308 return function(...styles) { 2309 function StyledComponent(inProps) { 2310 let theme; 2311 const $useTheme = () => { 2312 const inTheme = inProps.theme; 2313 if (inTheme) { 2314 return inTheme; 2315 } else if (theme) { 2316 return theme; 2317 } else { 2318 return theme = config && config.onUseTheme ? config.onUseTheme() : useTheme_default(); 2319 } 2320 }; 2321 const [, otherProps] = splitProps(inProps, options.skipProps || skipProps); 2322 const inStyles = resolveStyles($useTheme, cssClassName, styles, inProps); 2323 const inSx = () => { 2324 const sx2 = inProps.sx; 2325 return sx2 ? Array.isArray(sx2) ? sx2 : [sx2] : []; 2326 }; 2327 const $component = () => { 2328 if (isComponentStyled) return Component; 2329 const as = inProps.as; 2330 return as ? as : Component; 2331 }; 2332 const is$ComponentStyled = isComponentStyled ? () => true : createMemo(() => isStyledComponent($component())); 2333 const sx = options.skipSx ? () => inStyles() : () => { 2334 const theme2 = $useTheme(); 2335 return [...inStyles(), ...inSx().map((sx2) => sx2.__resolved ? sx2 : resolveSxProps_default(sx2, theme2))]; 2336 }; 2337 const styleClassName = createStyle_default(() => is$ComponentStyled() ? void 0 : sx()); 2338 return createDynamicComponent($component, mergeProps(otherProps, { 2339 get children() { 2340 return inProps.children; 2341 }, 2342 // [review] This property must be omitted on each component individually. 2343 get component() { 2344 return is$ComponentStyled() ? inProps.component : null; 2345 }, 2346 get as() { 2347 return isComponentStyled ? inProps.as : void 0; 2348 }, 2349 get sx() { 2350 return is$ComponentStyled() ? sx() : void 0; 2351 }, 2352 get ownerState() { 2353 return is$ComponentStyled() ? inProps.ownerState : void 0; 2354 }, 2355 get class() { 2356 return clsx_m_default([.../* @__PURE__ */ new Set([inProps.class, className, styleClassName()])]); 2357 } 2358 })); 2359 } 2360 StyledComponent["__styled"] = true; 2361 if (className) StyledComponent.toString = () => `.${className}`; 2362 return StyledComponent; 2363 }; 2364 }; 2365} 2366var createStyled_default = createStyled; 2367
vendor: 185 bytes, lines 2368-2373
2368// node_modules/@suid/material/styles/styled.jsx 2369var skipRootProps = [...skipProps, "classes"]; 2370var styled_default = createStyled_default({ 2371 onUseTheme: () => useTheme_default2() 2372}); 2373
vendor: 960 bytes, lines 2374-2407
2374// node_modules/@suid/base/generateUtilityClass.js 2375var defaultGenerator = (componentName) => componentName; 2376var createClassNameGenerator = () => { 2377 let generate = defaultGenerator; 2378 return { 2379 configure(generator) { 2380 generate = generator; 2381 }, 2382 generate(componentName) { 2383 return generate(componentName); 2384 }, 2385 reset() { 2386 generate = defaultGenerator; 2387 } 2388 }; 2389}; 2390var ClassNameGenerator = createClassNameGenerator(); 2391var globalStateClassesMapping = { 2392 active: "Mui-active", 2393 checked: "Mui-checked", 2394 completed: "Mui-completed", 2395 disabled: "Mui-disabled", 2396 error: "Mui-error", 2397 expanded: "Mui-expanded", 2398 focused: "Mui-focused", 2399 focusVisible: "Mui-focusVisible", 2400 required: "Mui-required", 2401 selected: "Mui-selected" 2402}; 2403function generateUtilityClass(componentName, slot) { 2404 const globalStateClass = globalStateClassesMapping[slot]; 2405 return globalStateClass || `${ClassNameGenerator.generate(componentName)}-${slot}`; 2406} 2407
vendor: 246 bytes, lines 2408-2416
2408// node_modules/@suid/base/generateUtilityClasses.js 2409function generateUtilityClasses(componentName, slots) { 2410 const result = {}; 2411 slots.forEach((slot) => { 2412 result[slot] = generateUtilityClass(componentName, slot); 2413 }); 2414 return result; 2415} 2416
vendor: 646 bytes, lines 2417-2437
2417// node_modules/@suid/base/composeClasses.js 2418function composeClasses(slots, getUtilityClass, classes) { 2419 const output = {}; 2420 Object.keys(slots).forEach( 2421 // `Objet.keys(slots)` can't be wider than `T` because we infer `T` from `slots`. 2422 // @ts-expect-error https://github.com/microsoft/TypeScript/pull/12253#issuecomment-263132208 2423 (slot) => { 2424 output[slot] = slots[slot].reduce((acc, key) => { 2425 if (key) { 2426 if (classes && classes[key]) { 2427 acc.push(classes[key]); 2428 } 2429 acc.push(getUtilityClass(key)); 2430 } 2431 return acc; 2432 }, []).join(" "); 2433 } 2434 ); 2435 return output; 2436} 2437
vendor: 262 bytes, lines 2438-2443
2438// node_modules/@suid/material/TableContainer/tableContainerClasses.js 2439function getTableContainerUtilityClass(slot) { 2440 return generateUtilityClass("MuiTableContainer", slot); 2441} 2442var tableContainerClasses = generateUtilityClasses("MuiTableContainer", ["root"]); 2443
vendor: 1,548 bytes, lines 2444-2500
2444// node_modules/@suid/system/inspect.js 2445var $INSPECT = Symbol("solid-inspect"); 2446var inspectionEnabled = false; 2447function inspect(fn) { 2448 try { 2449 inspectionEnabled = true; 2450 const result = fn(); 2451 return Array.isArray(result) ? result : [result]; 2452 } finally { 2453 inspectionEnabled = false; 2454 } 2455} 2456function componentTrap(fn) { 2457 function Component(props) { 2458 if (inspectionEnabled) 2459 return { 2460 Component, 2461 props, 2462 $INSPECT 2463 }; 2464 return fn(props); 2465 } 2466 Object.defineProperty(Component, "name", { 2467 value: fn.name 2468 }); 2469 Component.toString = fn.toString; 2470 return Component; 2471} 2472function isComponentObject(input, component) { 2473 return !!input && input.$INSPECT === $INSPECT && (!component || input.Component === component); 2474} 2475function resolveChildren(children) { 2476 if (typeof children === "function" && !children.length) 2477 return resolveChildren(children()); 2478 if (Array.isArray(children)) { 2479 const results = []; 2480 for (let i = 0; i < children.length; i++) { 2481 const result = resolveChildren(children[i]); 2482 Array.isArray(result) ? ( 2483 // eslint-disable-next-line prefer-spread 2484 results.push.apply(results, result) 2485 ) : results.push(result); 2486 } 2487 return results; 2488 } 2489 return children; 2490} 2491function inspectChildren(fn) { 2492 const children = createMemo(() => inspect(fn)); 2493 const memo = createMemo(() => inspect(() => resolveChildren(children()))); 2494 memo.toArray = () => { 2495 const c = memo(); 2496 return Array.isArray(c) ? c : c != null ? [c] : []; 2497 }; 2498 return memo; 2499} 2500
vendor: 2,322 bytes, lines 2501-2573
2501// node_modules/@suid/base/createComponentFactory.js 2502function createComponentFactory() { 2503 return function(options) { 2504 function useClasses(ownerState) { 2505 const haveSlotClasses = !!options.slotClasses; 2506 const compose = () => { 2507 if (!options.slotClasses) 2508 throw new Error(`'slotClasses' option is not defined`); 2509 if (!options.utilityClass) 2510 throw new Error(`'utilityClass' option is not defined`); 2511 return composeClasses(options.slotClasses(ownerState), options.utilityClass, ownerState["classes"] ?? ""); 2512 }; 2513 const classes = createMutable({}); 2514 if (haveSlotClasses) 2515 createComputed(() => { 2516 const result = compose(); 2517 batch(() => { 2518 for (const slot in result) 2519 classes[slot] = result[slot]; 2520 }); 2521 }); 2522 return classes; 2523 } 2524 function splitInProps(allProps) { 2525 const [props, otherProps] = splitProps(allProps, options.selfPropNames); 2526 return { allProps, props, otherProps }; 2527 } 2528 function useThemeProps3(input) { 2529 return useThemeProps({ 2530 propDefaults: input.propDefaults || options.propDefaults, 2531 props: input.props, 2532 name: options.name 2533 }); 2534 } 2535 function useProps(props) { 2536 const themeProps = useThemeProps3({ props }); 2537 return splitInProps(themeProps); 2538 } 2539 function defineComponent(cb, styled = true) { 2540 cb = componentTrap(cb); 2541 cb.toString = () => `.${options.name}-root`; 2542 if (styled) 2543 cb.__styled = true; 2544 return cb; 2545 } 2546 function component(cb) { 2547 const Component = defineComponent(function Component2(inProps) { 2548 const { allProps, otherProps, props } = useProps(inProps); 2549 const classes = options.autoCallUseClasses ?? true ? useClasses(allProps) : {}; 2550 return cb({ 2551 allProps, 2552 otherProps, 2553 props, 2554 classes 2555 }); 2556 }); 2557 Object.defineProperty(Component, "name", { value: cb.name }); 2558 return Component; 2559 } 2560 return { 2561 name: options.name, 2562 selfPropNames: options.selfPropNames, 2563 component, 2564 defineComponent, 2565 useClasses, 2566 useThemeProps: useThemeProps3, 2567 useProps, 2568 splitInProps 2569 }; 2570 }; 2571} 2572var createComponentFactory_default = createComponentFactory; 2573
vendor: 947 bytes, lines 2574-2613
2574// node_modules/@suid/material/TableContainer/TableContainer.jsx 2575var $ = createComponentFactory_default()({ 2576 name: "MuiTableContainer", 2577 propDefaults: ({ 2578 set 2579 }) => set({ 2580 component: "div" 2581 }), 2582 selfPropNames: ["children", "classes"], 2583 utilityClass: getTableContainerUtilityClass, 2584 slotClasses: () => ({ 2585 root: ["root"] 2586 }) 2587}); 2588var TableContainerRoot = styled_default("div", { 2589 name: "MuiTableContainer", 2590 slot: "Root", 2591 overridesResolver: (props, styles) => styles.root 2592})({ 2593 width: "100%", 2594 overflowX: "auto" 2595}); 2596var TableContainer = $.component(function TableContainer2({ 2597 classes, 2598 allProps, 2599 props, 2600 otherProps 2601}) { 2602 return createComponent(TableContainerRoot, mergeProps(otherProps, { 2603 get ["class"]() { 2604 return clsx_m_default(classes.root, otherProps.class); 2605 }, 2606 ownerState: allProps, 2607 get children() { 2608 return props.children; 2609 } 2610 })); 2611}); 2612var TableContainer_default = TableContainer; 2613
vendor: 131 bytes, lines 2614-2617
2614// node_modules/@suid/material/Table/TableContext.js 2615var TableContext = createContext(); 2616var TableContext_default = TableContext; 2617
vendor: 230 bytes, lines 2618-2626
2618// node_modules/@suid/material/Table/tableClasses.js 2619function getTableUtilityClass(slot) { 2620 return generateUtilityClass("MuiTable", slot); 2621} 2622var tableClasses = generateUtilityClasses("MuiTable", [ 2623 "root", 2624 "stickyHeader" 2625]); 2626
vendor: 1,901 bytes, lines 2627-2706
2627// node_modules/@suid/material/Table/Table.jsx 2628var $2 = createComponentFactory_default()({ 2629 name: "MuiTable", 2630 propDefaults: ({ 2631 set 2632 }) => set({ 2633 component: defaultComponent, 2634 padding: "normal", 2635 size: "medium", 2636 stickyHeader: false 2637 }), 2638 selfPropNames: ["children", "classes", "padding", "size", "stickyHeader"], 2639 utilityClass: getTableUtilityClass, 2640 slotClasses: (ownerState) => ({ 2641 root: ["root", ownerState.stickyHeader && "stickyHeader"] 2642 }) 2643}); 2644var TableRoot = styled_default("table", { 2645 name: "MuiTable", 2646 slot: "Root", 2647 overridesResolver: (props, styles) => { 2648 return [styles.root, props.ownerState.stickyHeader && styles.stickyHeader]; 2649 } 2650})(({ 2651 theme, 2652 ownerState 2653}) => ({ 2654 display: "table", 2655 width: "100%", 2656 borderCollapse: "collapse", 2657 borderSpacing: 0, 2658 "& caption": { 2659 ...theme.typography.body2, 2660 padding: theme.spacing(2), 2661 color: theme.palette.text.secondary, 2662 textAlign: "left", 2663 captionSide: "bottom" 2664 }, 2665 ...ownerState.stickyHeader && { 2666 borderCollapse: "separate" 2667 } 2668})); 2669var defaultComponent = "table"; 2670var Table = $2.component(function Table2({ 2671 allProps, 2672 classes, 2673 otherProps, 2674 props 2675}) { 2676 return createComponent(TableContext_default.Provider, { 2677 value: { 2678 get padding() { 2679 return props.padding; 2680 }, 2681 get size() { 2682 return props.size; 2683 }, 2684 get stickyHeader() { 2685 return props.stickyHeader; 2686 } 2687 }, 2688 get children() { 2689 return createComponent(TableRoot, mergeProps({ 2690 get role() { 2691 return allProps.component === defaultComponent ? null : "table"; 2692 } 2693 }, otherProps, { 2694 get ["class"]() { 2695 return clsx_m_default(classes.root, otherProps.class); 2696 }, 2697 ownerState: allProps, 2698 get children() { 2699 return props.children; 2700 } 2701 })); 2702 } 2703 }); 2704}); 2705var Table_default = Table; 2706
vendor: 147 bytes, lines 2707-2710
2707// node_modules/@suid/material/Table/Tablelvl2Context.js 2708var Tablelvl2Context = createContext(); 2709var Tablelvl2Context_default = Tablelvl2Context; 2710
vendor: 232 bytes, lines 2711-2716
2711// node_modules/@suid/material/TableHead/tableHeadClasses.js 2712function getTableHeadUtilityClass(slot) { 2713 return generateUtilityClass("MuiTableHead", slot); 2714} 2715var tableHeadClasses = generateUtilityClasses("MuiTableHead", ["root"]); 2716
vendor: 1,251 bytes, lines 2717-2768
2717// node_modules/@suid/material/TableHead/TableHead.jsx 2718var $3 = createComponentFactory_default()({ 2719 name: "MuiTableHead", 2720 propDefaults: ({ 2721 set 2722 }) => set({ 2723 component: defaultComponent2 2724 }), 2725 selfPropNames: ["children", "classes"], 2726 utilityClass: getTableHeadUtilityClass, 2727 slotClasses: () => ({ 2728 root: ["root"] 2729 }) 2730}); 2731var TableHeadRoot = styled_default("thead", { 2732 name: "MuiTableHead", 2733 slot: "Root", 2734 overridesResolver: (props, styles) => styles.root 2735})({ 2736 display: "table-header-group" 2737}); 2738var tablelvl2 = { 2739 variant: "head" 2740}; 2741var defaultComponent2 = "thead"; 2742var TableHead = $3.component(function TableHead2({ 2743 classes, 2744 allProps, 2745 otherProps, 2746 props 2747}) { 2748 return createComponent(Tablelvl2Context_default.Provider, { 2749 value: tablelvl2, 2750 get children() { 2751 return createComponent(TableHeadRoot, mergeProps({ 2752 get role() { 2753 return otherProps.component === defaultComponent2 ? null : "rowgroup"; 2754 } 2755 }, otherProps, { 2756 get ["class"]() { 2757 return clsx_m_default(classes.root, otherProps.class); 2758 }, 2759 ownerState: allProps, 2760 get children() { 2761 return props.children; 2762 } 2763 })); 2764 } 2765 }); 2766}); 2767var TableHead_default = TableHead; 2768
vendor: 324 bytes, lines 2769-2781
2769// node_modules/@suid/material/TableRow/tableRowClasses.js 2770function getTableRowUtilityClass(slot) { 2771 return generateUtilityClass("MuiTableRow", slot); 2772} 2773var tableRowClasses = generateUtilityClasses("MuiTableRow", [ 2774 "root", 2775 "selected", 2776 "hover", 2777 "head", 2778 "footer" 2779]); 2780var tableRowClasses_default = tableRowClasses; 2781
vendor: 2,121 bytes, lines 2782-2853
2782// node_modules/@suid/material/TableRow/TableRow.jsx 2783var $4 = createComponentFactory_default()({ 2784 name: "MuiTableRow", 2785 propDefaults: ({ 2786 set 2787 }) => set({ 2788 component: defaultComponent3, 2789 hover: false, 2790 selected: false 2791 }), 2792 selfPropNames: ["children", "classes", "hover", "selected"], 2793 utilityClass: getTableRowUtilityClass, 2794 slotClasses: (ownerState) => ({ 2795 root: ["root", ownerState.selected && "selected", ownerState.hover && "hover", ownerState.head && "head", ownerState.footer && "footer"] 2796 }) 2797}); 2798var TableRowRoot = styled_default("tr", { 2799 name: "MuiTableRow", 2800 slot: "Root", 2801 overridesResolver: (props, styles) => { 2802 return [styles.root, props.ownerState.head && styles.head, props.ownerState.footer && styles.footer]; 2803 } 2804})(({ 2805 theme 2806}) => ({ 2807 color: "inherit", 2808 display: "table-row", 2809 verticalAlign: "middle", 2810 // We disable the focus ring for mouse, touch and keyboard users. 2811 outline: 0, 2812 [`&.${tableRowClasses_default.hover}:hover`]: { 2813 backgroundColor: theme.palette.action.hover 2814 }, 2815 [`&.${tableRowClasses_default.selected}`]: { 2816 backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity), 2817 "&:hover": { 2818 backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity) 2819 } 2820 } 2821})); 2822var defaultComponent3 = "tr"; 2823var TableRow = $4.component(function TableRow2({ 2824 classes, 2825 allProps, 2826 otherProps, 2827 props 2828}) { 2829 const tablelvl22 = useContext(Tablelvl2Context_default); 2830 const ownerState = mergeProps(allProps, { 2831 get head() { 2832 return tablelvl22 && tablelvl22.variant === "head"; 2833 }, 2834 get footer() { 2835 return tablelvl22 && tablelvl22.variant === "footer"; 2836 } 2837 }); 2838 return createComponent(TableRowRoot, mergeProps({ 2839 get role() { 2840 return otherProps.component === defaultComponent3 ? null : "row"; 2841 } 2842 }, otherProps, { 2843 get ["class"]() { 2844 return clsx_m_default(classes.root, otherProps.class); 2845 }, 2846 ownerState, 2847 get children() { 2848 return props.children; 2849 } 2850 })); 2851}); 2852var TableRow_default = TableRow; 2853
vendor: 280 bytes, lines 2854-2861
2854// node_modules/@suid/material/node_modules/@suid/utils/capitalize.js 2855function capitalize3(string) { 2856 if (typeof string !== "string") { 2857 throw new Error("MUI: `capitalize(string)` expects a string argument."); 2858 } 2859 return string.charAt(0).toUpperCase() + string.slice(1); 2860} 2861
vendor: 90 bytes, lines 2862-2864
2862// node_modules/@suid/material/utils/capitalize.js 2863var capitalize_default = capitalize3; 2864
vendor: 470 bytes, lines 2865-2885
2865// node_modules/@suid/material/TableCell/tableCellClasses.js 2866function getTableCellUtilityClass(slot) { 2867 return generateUtilityClass("MuiTableCell", slot); 2868} 2869var tableCellClasses = generateUtilityClasses("MuiTableCell", [ 2870 "root", 2871 "head", 2872 "body", 2873 "footer", 2874 "sizeSmall", 2875 "sizeMedium", 2876 "paddingCheckbox", 2877 "paddingNone", 2878 "alignLeft", 2879 "alignCenter", 2880 "alignRight", 2881 "alignJustify", 2882 "stickyHeader" 2883]); 2884var tableCellClasses_default = tableCellClasses; 2885
vendor: 4,652 bytes, lines 2886-3025
2886// node_modules/@suid/material/TableCell/TableCell.jsx 2887var $5 = createComponentFactory_default()({ 2888 name: "MuiTableCell", 2889 propDefaults: ({ 2890 set 2891 }) => set({ 2892 align: "inherit" 2893 }), 2894 selfPropNames: ["align", "children", "classes", "component", "padding", "scope", "size", "sortDirection", "variant"], 2895 autoCallUseClasses: false, 2896 utilityClass: getTableCellUtilityClass, 2897 slotClasses: (ownerState) => ({ 2898 root: ["root", ownerState.variant, ownerState.stickyHeader && "stickyHeader", ownerState.align !== "inherit" && `align${capitalize_default(ownerState.align)}`, ownerState.padding !== "normal" && `padding${capitalize_default(ownerState.padding)}`, `size${capitalize_default(ownerState.size)}`] 2899 }) 2900}); 2901var TableCellRoot = styled_default("td", { 2902 name: "MuiTableCell", 2903 slot: "Root", 2904 overridesResolver: (props, styles) => { 2905 return [styles.root, styles[props.ownerState.variant], styles[`size${capitalize_default(props.ownerState.size)}`], props.ownerState.padding !== "normal" && styles[`padding${capitalize_default(props.ownerState.padding)}`], props.ownerState.align !== "inherit" && styles[`align${capitalize_default(props.ownerState.align)}`], props.ownerState.stickyHeader && styles.stickyHeader]; 2906 } 2907})(({ 2908 theme, 2909 ownerState 2910}) => ({ 2911 ...theme.typography.body2, 2912 display: "table-cell", 2913 verticalAlign: "inherit", 2914 // Workaround for a rendering bug with spanned columns in Chrome 62.0. 2915 // Removes the alpha (sets it to 1), and lightens or darkens the theme color. 2916 borderBottom: `1px solid 2917 ${theme.palette.mode === "light" ? lighten(alpha(theme.palette.divider, 1), 0.88) : darken(alpha(theme.palette.divider, 1), 0.68)}`, 2918 textAlign: "left", 2919 padding: 16, 2920 ...ownerState.variant === "head" && { 2921 color: theme.palette.text.primary, 2922 lineHeight: theme.typography.pxToRem(24), 2923 fontWeight: theme.typography.fontWeightMedium 2924 }, 2925 ...ownerState.variant === "body" && { 2926 color: theme.palette.text.primary 2927 }, 2928 ...ownerState.variant === "footer" && { 2929 color: theme.palette.text.secondary, 2930 lineHeight: theme.typography.pxToRem(21), 2931 fontSize: theme.typography.pxToRem(12) 2932 }, 2933 ...ownerState.size === "small" && { 2934 padding: "6px 16px", 2935 [`&.${tableCellClasses_default.paddingCheckbox}`]: { 2936 width: 24, 2937 padding: "0 12px 0 16px", 2938 "& > *": { 2939 padding: 0 2940 } 2941 } 2942 }, 2943 ...ownerState.padding === "checkbox" && { 2944 width: 48, 2945 padding: "0 0 0 4px" 2946 }, 2947 ...ownerState.padding === "none" && { 2948 padding: 0 2949 }, 2950 ...ownerState.align === "left" && { 2951 textAlign: "left" 2952 }, 2953 ...ownerState.align === "center" && { 2954 textAlign: "center" 2955 }, 2956 ...ownerState.align === "right" && { 2957 textAlign: "right", 2958 flexDirection: "row-reverse" 2959 }, 2960 ...ownerState.align === "justify" && { 2961 textAlign: "justify" 2962 }, 2963 ...ownerState.stickyHeader && { 2964 position: "sticky", 2965 top: 0, 2966 zIndex: 2, 2967 backgroundColor: theme.palette.background.default 2968 } 2969})); 2970var TableCell = $5.component(function TableCell2({ 2971 otherProps, 2972 allProps, 2973 props 2974}) { 2975 const table = useContext(TableContext_default); 2976 const tablelvl22 = useContext(Tablelvl2Context_default); 2977 const isHeadCell = () => tablelvl22 && tablelvl22.variant === "head"; 2978 const component = () => allProps.component || isHeadCell() ? "th" : "td"; 2979 const scope = () => !props.scope && isHeadCell() ? "col" : props.scope; 2980 const variant = () => props.variant || tablelvl22 && tablelvl22.variant; 2981 const ariaSort = () => props.sortDirection ? props.sortDirection === "asc" ? "ascending" : "descending" : void 0; 2982 const ownerState = mergeProps(allProps, { 2983 get component() { 2984 return component(); 2985 }, 2986 get padding() { 2987 return props.padding || (table && table.padding ? table.padding : "normal"); 2988 }, 2989 get size() { 2990 return props.size || (table && table.size ? table.size : "medium"); 2991 }, 2992 get sortDirection() { 2993 return props.sortDirection; 2994 }, 2995 get stickyHeader() { 2996 return variant() === "head" && table && table.stickyHeader; 2997 }, 2998 get variant() { 2999 return variant(); 3000 } 3001 }); 3002 const classes = $5.useClasses(ownerState); 3003 const $TableCellRoot = redefine(TableCellRoot, "th"); 3004 return createComponent($TableCellRoot, mergeProps({ 3005 get as() { 3006 return props.component; 3007 }, 3008 get scope() { 3009 return scope(); 3010 }, 3011 get ["aria-sort"]() { 3012 return ariaSort(); 3013 } 3014 }, otherProps, { 3015 get ["class"]() { 3016 return clsx_m_default(classes.root, otherProps.class); 3017 }, 3018 ownerState, 3019 get children() { 3020 return props.children; 3021 } 3022 })); 3023}); 3024var TableCell_default = TableCell; 3025
vendor: 232 bytes, lines 3026-3031
3026// node_modules/@suid/material/TableBody/tableBodyClasses.js 3027function getTableBodyUtilityClass(slot) { 3028 return generateUtilityClass("MuiTableBody", slot); 3029} 3030var tableBodyClasses = generateUtilityClasses("MuiTableBody", ["root"]); 3031
vendor: 1,229 bytes, lines 3032-3082
3032// node_modules/@suid/material/TableBody/TableBody.jsx 3033var $6 = createComponentFactory_default()({ 3034 name: "MuiTableBody", 3035 propDefaults: ({ 3036 set 3037 }) => set({ 3038 component: defaultComponent4 3039 }), 3040 selfPropNames: ["children", "classes"], 3041 utilityClass: getTableBodyUtilityClass, 3042 slotClasses: () => ({ 3043 root: ["root"] 3044 }) 3045}); 3046var TableBodyRoot = styled_default("tbody", { 3047 name: "MuiTableBody", 3048 slot: "Root", 3049 overridesResolver: (props, styles) => styles.root 3050})({ 3051 display: "table-row-group" 3052}); 3053var defaultComponent4 = "tbody"; 3054var TableBody = $6.component(function TableBody2({ 3055 allProps, 3056 classes, 3057 props, 3058 otherProps 3059}) { 3060 return createComponent(Tablelvl2Context_default.Provider, { 3061 value: { 3062 variant: "body" 3063 }, 3064 get children() { 3065 return createComponent(TableBodyRoot, mergeProps({ 3066 get role() { 3067 return otherProps.component === defaultComponent4 ? null : "rowgroup"; 3068 } 3069 }, otherProps, { 3070 get ["class"]() { 3071 return clsx_m_default(classes.root, otherProps.class); 3072 }, 3073 ownerState: allProps, 3074 get children() { 3075 return props.children; 3076 } 3077 })); 3078 } 3079 }); 3080}); 3081var TableBody_default = TableBody; 3082
vendor: 669 bytes, lines 3083-3118
3083// node_modules/@suid/material/Paper/paperClasses.js 3084function getPaperUtilityClass(slot) { 3085 return generateUtilityClass("MuiPaper", slot); 3086} 3087var paperClasses = generateUtilityClasses("MuiPaper", [ 3088 "root", 3089 "rounded", 3090 "outlined", 3091 "elevation", 3092 "elevation0", 3093 "elevation1", 3094 "elevation2", 3095 "elevation3", 3096 "elevation4", 3097 "elevation5", 3098 "elevation6", 3099 "elevation7", 3100 "elevation8", 3101 "elevation9", 3102 "elevation10", 3103 "elevation11", 3104 "elevation12", 3105 "elevation13", 3106 "elevation14", 3107 "elevation15", 3108 "elevation16", 3109 "elevation17", 3110 "elevation18", 3111 "elevation19", 3112 "elevation20", 3113 "elevation21", 3114 "elevation22", 3115 "elevation23", 3116 "elevation24" 3117]); 3118
vendor: 2,168 bytes, lines 3119-3191
3119// node_modules/@suid/material/Paper/Paper.jsx 3120var $7 = createComponentFactory_default()({ 3121 name: "MuiPaper", 3122 selfPropNames: ["children", "classes", "elevation", "square", "variant"], 3123 propDefaults: ({ 3124 set 3125 }) => set({ 3126 component: "div", 3127 elevation: 1, 3128 square: false, 3129 variant: "elevation" 3130 }), 3131 utilityClass: getPaperUtilityClass, 3132 slotClasses: (o) => ({ 3133 root: ["root", o.variant, !o.square && "rounded", o.variant === "elevation" && `elevation${o.elevation}`] 3134 }) 3135}); 3136var getOverlayAlpha = (elevation) => { 3137 let alphaValue; 3138 if (elevation < 1) { 3139 alphaValue = 5.11916 * elevation ** 2; 3140 } else { 3141 alphaValue = 4.5 * Math.log(elevation + 1) + 2; 3142 } 3143 return Number((alphaValue / 100).toFixed(2)); 3144}; 3145var PaperRoot = styled_default("div", { 3146 name: "MuiPaper", 3147 slot: "Root" 3148})(({ 3149 theme, 3150 ownerState 3151}) => ({ 3152 backgroundColor: theme.palette.background.paper, 3153 color: theme.palette.text.primary, 3154 transition: theme.transitions.create("box-shadow"), 3155 ...!ownerState.square && { 3156 borderRadius: theme.shape.borderRadius 3157 }, 3158 ...ownerState.variant === "outlined" && { 3159 border: `1px solid ${theme.palette.divider}` 3160 }, 3161 ...ownerState.variant === "elevation" && { 3162 boxShadow: theme.shadows[ownerState.elevation], 3163 ...theme.palette.mode === "dark" && { 3164 backgroundImage: `linear-gradient(${alpha("#fff", getOverlayAlpha(ownerState.elevation))}, ${alpha("#fff", getOverlayAlpha(ownerState.elevation))})` 3165 } 3166 } 3167})); 3168var Paper = $7.component(function Paper2({ 3169 allProps, 3170 props, 3171 otherProps, 3172 classes 3173}) { 3174 if (true) { 3175 const theme = useTheme_default2(); 3176 if (theme.shadows[props.elevation] === void 0) { 3177 console.error([`MUI: The elevation provided <Paper elevation={${props.elevation}}> is not available in the theme.`, `Please make sure that \`theme.shadows[${props.elevation}]\` is defined.`].join("\n")); 3178 } 3179 } 3180 return createComponent(PaperRoot, mergeProps(otherProps, { 3181 ownerState: allProps, 3182 get ["class"]() { 3183 return clsx_m_default(classes.root, allProps.class); 3184 }, 3185 get children() { 3186 return props.children; 3187 } 3188 })); 3189}); 3190var Paper_default = Paper; 3191
3192// src/wc/zometool/parts/ball.svg 3193var ball_default = "<?xml version='1.0'?>\n<svg version='1.1' xmlns='http://www.w3.org/2000/svg'\n stroke='black' stroke-linejoin='round' stroke-width='0.5' fill='#f2f2f2' \n viewBox='367 217 498 63' >\n<path d='M 429.4384460449219 241.020751953125 L 420.0563049316406 226.42242431640625 L 420.1898498535156 229.72821044921875 L 429.6340026855469 244.4136505126953 z'/>\n<path d='M 420.0563049316406 273.57757568359375 L 429.4384460449219 258.979248046875 L 429.6340026855469 255.5863494873047 L 420.1898498535156 270.27178955078125 z'/>\n<path d='M 379.77288818359375 231.83489990234375 L 379.98895263671875 226.4755859375 L 370.45379638671875 240.98785400390625 z'/>\n<path d='M 379.98895263671875 273.5244140625 L 379.77288818359375 268.1650695800781 L 370.45379638671875 259.0121154785156 z'/>\n<path d='M 389.3106384277344 226.1944580078125 L 389.4249572753906 220.889404296875 L 379.98895263671875 226.4755859375 L 379.77288818359375 231.83489990234375 z'/>\n<path d='M 389.4249572753906 279.110595703125 L 389.3106384277344 273.8055419921875 L 379.77288818359375 268.1650695800781 L 379.98895263671875 273.5244140625 z'/>\n<path d='M 420.0563049316406 273.57757568359375 L 420.1898498535156 270.27178955078125 L 410.6893615722656 273.8055419921875 L 404.7574157714844 279.28369140625 L 410.5750427246094 279.110595703125 z'/>\n<path d='M 410.6893615722656 226.1944580078125 L 420.1898498535156 229.72821044921875 L 420.0563049316406 226.42242431640625 L 410.5750427246094 220.889404296875 L 404.7574157714844 220.71630859375 z'/>\n<path d='M 389.3106384277344 226.1944580078125 L 404.7574157714844 220.71630859375 L 389.4249572753906 220.889404296875 z'/>\n<path d='M 404.7574157714844 279.28369140625 L 389.3106384277344 273.8055419921875 L 389.4249572753906 279.110595703125 z'/>\n<path d='M 379.6891174316406 240.87982177734375 L 379.77288818359375 231.83489990234375 L 370.45379638671875 240.98785400390625 L 370.3323669433594 250 z'/>\n<path d='M 379.6891174316406 259.1201477050781 L 370.3323669433594 250 L 370.45379638671875 259.0121154785156 L 379.77288818359375 268.1650695800781 z'/>\n<path d='M 420.1898498535156 229.72821044921875 L 420.3252868652344 244.35943603515625 L 429.6340026855469 244.4136505126953 z'/>\n<path d='M 420.1898498535156 270.27178955078125 L 429.6340026855469 255.5863494873047 L 420.3252868652344 255.64056396484375 z'/>\n<path d='M 429.6340026855469 244.4136505126953 L 420.3252868652344 244.35943603515625 L 420.3252868652344 255.64056396484375 L 429.6340026855469 255.5863494873047 z'/>\n<path d='M 389.3106384277344 226.1944580078125 L 395.19635009765625 231.725830078125 L 410.6893615722656 226.1944580078125 L 404.7574157714844 220.71630859375 z'/>\n<path d='M 404.7574157714844 279.28369140625 L 410.6893615722656 273.8055419921875 L 395.19635009765625 268.274169921875 L 389.3106384277344 273.8055419921875 z'/>\n<path d='M 379.6891174316406 240.87982177734375 L 370.3323669433594 250 L 379.6891174316406 259.1201477050781 z'/>\n<path d='M 410.6893615722656 226.1944580078125 L 410.7612609863281 240.845947265625 L 420.3252868652344 244.35943603515625 L 420.1898498535156 229.72821044921875 z'/>\n<path d='M 410.6893615722656 273.8055419921875 L 420.1898498535156 270.27178955078125 L 420.3252868652344 255.64056396484375 L 410.7612609863281 259.154052734375 z'/>\n<path d='M 389.3106384277344 226.1944580078125 L 379.77288818359375 231.83489990234375 L 379.6891174316406 240.87982177734375 L 389.23876953125 240.845947265625 L 395.19635009765625 231.725830078125 z'/>\n<path d='M 395.19635009765625 268.274169921875 L 389.23876953125 259.154052734375 L 379.6891174316406 259.1201477050781 L 379.77288818359375 268.1650695800781 L 389.3106384277344 273.8055419921875 z'/>\n<path d='M 410.6893615722656 273.8055419921875 L 410.7612609863281 259.154052734375 L 395.19635009765625 268.274169921875 z'/>\n<path d='M 395.19635009765625 231.725830078125 L 410.7612609863281 240.845947265625 L 410.6893615722656 226.1944580078125 z'/>\n<path d='M 389.23876953125 240.845947265625 L 379.6891174316406 240.87982177734375 L 379.6891174316406 259.1201477050781 L 389.23876953125 259.154052734375 z'/>\n<path d='M 404.821533203125 250 L 410.7612609863281 259.154052734375 L 420.3252868652344 255.64056396484375 L 420.3252868652344 244.35943603515625 L 410.7612609863281 240.845947265625 z'/>\n<path d='M 395.19635009765625 231.725830078125 L 389.23876953125 240.845947265625 L 404.821533203125 250 L 410.7612609863281 240.845947265625 z'/>\n<path d='M 395.19635009765625 268.274169921875 L 410.7612609863281 259.154052734375 L 404.821533203125 250 L 389.23876953125 259.154052734375 z'/>\n<path d='M 389.23876953125 240.845947265625 L 389.23876953125 259.154052734375 L 404.821533203125 250 z'/>\n\n</svg>\n"; 3194
3195// src/wc/zometool/parts/b0.svg 3196var b0_default = "<?xml version='1.0'?>\n<svg version='1.1' xmlns='http://www.w3.org/2000/svg'\n stroke='black' stroke-linejoin='round' stroke-width='0.5' fill='#008ec2' \n viewBox='415 217 498 63' >\n<path d='M 429.009765625 258.9645080566406 L 429.0482177734375 255.54771423339844 L 429.0482177734375 244.45228576660156 L 429.009765625 241.03549194335938 z'/>\n<path d='M 417.9527893066406 255.54771423339844 L 417.9913635253906 250 L 417.9527893066406 244.45228576660156 z'/>\n<path d='M 417.9527893066406 255.54771423339844 L 418.0300598144531 255.57159423828125 L 417.9913635253906 250 z'/>\n<path d='M 417.9527893066406 244.45228576660156 L 417.9913635253906 250 L 418.0300598144531 244.42840576171875 z'/>\n<path d='M 429.21209716796875 259.02703857421875 L 429.1732177734375 255.57159423828125 L 429.0482177734375 255.54771423339844 L 429.009765625 258.9645080566406 z'/>\n<path d='M 429.0482177734375 244.45228576660156 L 429.1732177734375 244.42840576171875 L 429.21209716796875 240.97296142578125 L 429.009765625 241.03549194335938 z'/>\n<path d='M 417.9913635253906 250 L 418.0300598144531 255.57159423828125 L 418.0300598144531 244.42840576171875 z'/>\n<path d='M 523.5797729492188 255.57159423828125 L 534.7230224609375 255.57159423828125 L 534.7230224609375 244.42840576171875 L 523.5797729492188 244.42840576171875 z'/>\n<path d='M 418.0300598144531 255.57159423828125 L 429.1732177734375 255.57159423828125 L 429.1732177734375 244.42840576171875 L 418.0300598144531 244.42840576171875 z'/>\n<path d='M 429.21209716796875 259.02703857421875 L 429.21209716796875 240.97296142578125 L 429.1732177734375 244.42840576171875 L 429.1732177734375 255.57159423828125 z'/>\n<path d='M 523.744384765625 259.02703857421875 L 523.744384765625 240.97296142578125 L 429.21209716796875 240.97296142578125 L 429.21209716796875 259.02703857421875 z'/>\n\n</svg>\n"; 3197
3198// src/wc/zometool/parts/b1.svg 3199var b1_default = "<?xml version='1.0'?>\n<svg version='1.1' xmlns='http://www.w3.org/2000/svg'\n stroke='black' stroke-linejoin='round' stroke-width='0.5' fill='#008ec2' \n viewBox='415 217 498 63' >\n<path d='M 429.009765625 258.9645080566406 L 429.0482177734375 255.54771423339844 L 429.0482177734375 244.45228576660156 L 429.009765625 241.03549194335938 z'/>\n<path d='M 417.9527893066406 255.54771423339844 L 417.9913635253906 250 L 417.9527893066406 244.45228576660156 z'/>\n<path d='M 417.9527893066406 255.54771423339844 L 418.0300598144531 255.57159423828125 L 417.9913635253906 250 z'/>\n<path d='M 417.9527893066406 244.45228576660156 L 417.9913635253906 250 L 418.0300598144531 244.42840576171875 z'/>\n<path d='M 429.21209716796875 259.02703857421875 L 429.1732177734375 255.57159423828125 L 429.0482177734375 255.54771423339844 L 429.009765625 258.9645080566406 z'/>\n<path d='M 429.0482177734375 244.45228576660156 L 429.1732177734375 244.42840576171875 L 429.21209716796875 240.97296142578125 L 429.009765625 241.03549194335938 z'/>\n<path d='M 417.9913635253906 250 L 418.0300598144531 255.57159423828125 L 418.0300598144531 244.42840576171875 z'/>\n<path d='M 617.9863891601562 255.57159423828125 L 629.1295776367188 255.57159423828125 L 629.1295776367188 244.42840576171875 L 617.9863891601562 244.42840576171875 z'/>\n<path d='M 418.0300598144531 255.57159423828125 L 429.1732177734375 255.57159423828125 L 429.1732177734375 244.42840576171875 L 418.0300598144531 244.42840576171875 z'/>\n<path d='M 429.21209716796875 259.02703857421875 L 429.21209716796875 240.97296142578125 L 429.1732177734375 244.42840576171875 L 429.1732177734375 255.57159423828125 z'/>\n<path d='M 618.2766723632812 259.02703857421875 L 618.2766723632812 240.97296142578125 L 429.21209716796875 240.97296142578125 L 429.21209716796875 259.02703857421875 z'/>\n\n</svg>\n"; 3200
3201// src/wc/zometool/parts/b2.svg 3202var b2_default = "<?xml version='1.0'?>\n<svg version='1.1' xmlns='http://www.w3.org/2000/svg'\n stroke='black' stroke-linejoin='round' stroke-width='0.5' fill='#008ec2' \n viewBox='415 217 498 63' >\n<path d='M 429.009765625 258.9645080566406 L 429.0482177734375 255.54771423339844 L 429.0482177734375 244.45228576660156 L 429.009765625 241.03549194335938 z'/>\n<path d='M 417.9527893066406 255.54771423339844 L 417.9913635253906 250 L 417.9527893066406 244.45228576660156 z'/>\n<path d='M 417.9527893066406 255.54771423339844 L 418.0300598144531 255.57159423828125 L 417.9913635253906 250 z'/>\n<path d='M 417.9527893066406 244.45228576660156 L 417.9913635253906 250 L 418.0300598144531 244.42840576171875 z'/>\n<path d='M 429.21209716796875 259.02703857421875 L 429.1732177734375 255.57159423828125 L 429.0482177734375 255.54771423339844 L 429.009765625 258.9645080566406 z'/>\n<path d='M 429.0482177734375 244.45228576660156 L 429.1732177734375 244.42840576171875 L 429.21209716796875 240.97296142578125 L 429.009765625 241.03549194335938 z'/>\n<path d='M 417.9913635253906 250 L 418.0300598144531 255.57159423828125 L 418.0300598144531 244.42840576171875 z'/>\n<path d='M 770.7394409179688 255.57159423828125 L 781.882568359375 255.57159423828125 L 781.882568359375 244.42840576171875 L 770.7394409179688 244.42840576171875 z'/>\n<path d='M 418.0300598144531 255.57159423828125 L 429.1732177734375 255.57159423828125 L 429.1732177734375 244.42840576171875 L 418.0300598144531 244.42840576171875 z'/>\n<path d='M 429.21209716796875 259.02703857421875 L 429.21209716796875 240.97296142578125 L 429.1732177734375 244.42840576171875 L 429.1732177734375 255.57159423828125 z'/>\n<path d='M 771.233154296875 259.02703857421875 L 771.233154296875 240.97296142578125 L 429.21209716796875 240.97296142578125 L 429.21209716796875 259.02703857421875 z'/>\n\n</svg>\n"; 3203
3204// src/wc/zometool/parts/y0.svg 3205var y0_default = "<?xml version='1.0'?>\n<svg version='1.1' xmlns='http://www.w3.org/2000/svg'\n stroke='black' stroke-linejoin='round' stroke-width='0.5' fill='#ffb31a'\n viewBox='415 217 498 63' >\n<path d='M 429.11968994140625 255.54849243164062 L 429.11968994140625 244.45150756835938 L 429.08367919921875 241.033447265625 L 429.08367919921875 258.966552734375 z'/>\n<path d='M 417.9969177246094 255.54849243164062 L 418.105712890625 250 L 417.9969177246094 244.45150756835938 z'/>\n<path d='M 429.2956237792969 250 L 429.11968994140625 244.45150756835938 L 417.9969177246094 244.45150756835938 L 418.105712890625 250 z'/>\n<path d='M 429.11968994140625 255.54849243164062 L 429.2956237792969 250 L 418.105712890625 250 L 417.9969177246094 255.54849243164062 z'/>\n<path d='M 429.11968994140625 255.54849243164062 L 429.08367919921875 258.966552734375 L 429.3687744140625 250 L 429.2956237792969 250 z'/>\n<path d='M 429.3687744140625 250 L 429.08367919921875 241.033447265625 L 429.11968994140625 244.45150756835938 L 429.2956237792969 250 z'/>\n<path d='M 429.08367919921875 258.966552734375 L 438.68206787109375 258.966552734375 L 439.0612487792969 250 L 429.3687744140625 250 z'/>\n<path d='M 429.3687744140625 250 L 439.0612487792969 250 L 438.68206787109375 241.033447265625 L 429.08367919921875 241.033447265625 z'/>\n<path d='M 503.0325012207031 244.42919921875 L 503.0325012207031 255.57080078125 L 514.199951171875 255.57080078125 L 514.199951171875 244.42919921875 z'/>\n<path d='M 438.68206787109375 241.033447265625 L 439.0612487792969 250 L 493.499755859375 240.97503662109375 z'/>\n<path d='M 493.499755859375 259.02496337890625 L 439.0612487792969 250 L 438.68206787109375 258.966552734375 z'/>\n<path d='M 493.499755859375 259.02496337890625 L 503.1606750488281 259.02496337890625 L 503.1606750488281 240.97503662109375 L 493.499755859375 240.97503662109375 z'/>\n<path d='M 493.499755859375 259.02496337890625 L 493.499755859375 240.97503662109375 L 439.0612487792969 250 z'/>\n\n</svg>\n"; 3206
3207// src/wc/zometool/parts/y1.svg 3208var y1_default = "<?xml version='1.0'?>\n<svg version='1.1' xmlns='http://www.w3.org/2000/svg'\n stroke='black' stroke-linejoin='round' stroke-width='0.5' fill='#ffb31a'\n viewBox='415 217 498 63' >\n<path d='M 429.11968994140625 255.54849243164062 L 429.11968994140625 244.45150756835938 L 429.08367919921875 241.033447265625 L 429.08367919921875 258.966552734375 z'/>\n<path d='M 417.9969177246094 255.54849243164062 L 418.105712890625 250 L 417.9969177246094 244.45150756835938 z'/>\n<path d='M 429.2956237792969 250 L 429.11968994140625 244.45150756835938 L 417.9969177246094 244.45150756835938 L 418.105712890625 250 z'/>\n<path d='M 429.11968994140625 255.54849243164062 L 429.2956237792969 250 L 418.105712890625 250 L 417.9969177246094 255.54849243164062 z'/>\n<path d='M 429.11968994140625 255.54849243164062 L 429.08367919921875 258.966552734375 L 429.3687744140625 250 L 429.2956237792969 250 z'/>\n<path d='M 429.3687744140625 250 L 429.08367919921875 241.033447265625 L 429.11968994140625 244.45150756835938 L 429.2956237792969 250 z'/>\n<path d='M 429.08367919921875 258.966552734375 L 479.341552734375 258.966552734375 L 480.1192321777344 250 L 429.3687744140625 250 z'/>\n<path d='M 429.3687744140625 250 L 480.1192321777344 250 L 479.341552734375 241.033447265625 L 429.08367919921875 241.033447265625 z'/>\n<path d='M 584.7794799804688 244.42919921875 L 584.7794799804688 255.57080078125 L 595.9468994140625 255.57080078125 L 595.9468994140625 244.42919921875 z'/>\n<path d='M 479.341552734375 241.033447265625 L 480.1192321777344 250 L 534.424072265625 240.97503662109375 z'/>\n<path d='M 534.424072265625 259.02496337890625 L 480.1192321777344 250 L 479.341552734375 258.966552734375 z'/>\n<path d='M 534.424072265625 259.02496337890625 L 585.00927734375 259.02496337890625 L 585.00927734375 240.97503662109375 L 534.424072265625 240.97503662109375 z'/>\n<path d='M 534.424072265625 259.02496337890625 L 534.424072265625 240.97503662109375 L 480.1192321777344 250 z'/>\n\n</svg>\n"; 3209
3210// src/wc/zometool/parts/y2.svg 3211var y2_default = "<?xml version='1.0'?>\n<svg version='1.1' xmlns='http://www.w3.org/2000/svg'\n stroke='black' stroke-linejoin='round' stroke-width='0.5' fill='#ffb31a'\n viewBox='415 217 498 63' >\n<path d='M 429.11968994140625 255.54849243164062 L 429.11968994140625 244.45150756835938 L 429.08367919921875 241.033447265625 L 429.08367919921875 258.966552734375 z'/>\n<path d='M 417.9969177246094 255.54849243164062 L 418.105712890625 250 L 417.9969177246094 244.45150756835938 z'/>\n<path d='M 429.2956237792969 250 L 429.11968994140625 244.45150756835938 L 417.9969177246094 244.45150756835938 L 418.105712890625 250 z'/>\n<path d='M 429.11968994140625 255.54849243164062 L 429.2956237792969 250 L 418.105712890625 250 L 417.9969177246094 255.54849243164062 z'/>\n<path d='M 429.11968994140625 255.54849243164062 L 429.08367919921875 258.966552734375 L 429.3687744140625 250 L 429.2956237792969 250 z'/>\n<path d='M 429.3687744140625 250 L 429.08367919921875 241.033447265625 L 429.11968994140625 244.45150756835938 L 429.2956237792969 250 z'/>\n<path d='M 429.08367919921875 258.966552734375 L 545.1299438476562 258.966552734375 L 546.552490234375 250 L 429.3687744140625 250 z'/>\n<path d='M 429.3687744140625 250 L 546.552490234375 250 L 545.1299438476562 241.033447265625 L 429.08367919921875 241.033447265625 z'/>\n<path d='M 717.0487060546875 244.42919921875 L 717.0487060546875 255.57080078125 L 728.2161254882812 255.57080078125 L 728.2161254882812 244.42919921875 z'/>\n<path d='M 545.1299438476562 241.033447265625 L 546.552490234375 250 L 600.6409912109375 240.97503662109375 z'/>\n<path d='M 600.6409912109375 259.02496337890625 L 546.552490234375 250 L 545.1299438476562 258.966552734375 z'/>\n<path d='M 600.6409912109375 259.02496337890625 L 717.443115234375 259.02496337890625 L 717.443115234375 240.97503662109375 L 600.6409912109375 240.97503662109375 z'/>\n<path d='M 600.6409912109375 259.02496337890625 L 600.6409912109375 240.97503662109375 L 546.552490234375 250 z'/>\n\n</svg>\n"; 3212
3213// src/wc/zometool/parts/r00.svg 3214var r00_default = `<?xml version="1.0" encoding="UTF-8" standalone="no"?> 3215<svg 3216 version="1.1" 3217 stroke="black" 3218 stroke-linejoin="round" 3219 stroke-width="0.5" fill='#d91218' 3220 viewBox='415 217 498 63' 3221 xmlns="http://www.w3.org/2000/svg" 3222 xmlns:svg="http://www.w3.org/2000/svg"> 3223 <path 3224 d="M 459.8148193359375 244.4668426513672 L 459.8148193359375 255.5331573486328 L 470.33953857421875 255.5331573486328 L 470.33953857421875 244.4668426513672 z" 3225 id="path210" /> 3226 <path 3227 d="M 429.3848876953125 250 L 429.458984375 244.44664001464844 L 429.4384460449219 241.020751953125 L 429.31890869140625 250 z" 3228 id="path216" /> 3229 <path 3230 d="M 429.3848876953125 250 L 429.31890869140625 250 L 429.4384460449219 258.979248046875 L 429.458984375 255.55335998535156 z" 3231 id="path218" /> 3232 <path 3233 d="M 418.1608581542969 250 L 418.2066345214844 255.55335998535156 L 418.2812805175781 253.44622802734375 L 418.2812805175781 246.55377197265625 L 418.2066345214844 244.44664001464844 z" 3234 id="path224" /> 3235 <path 3236 d="M 429.458984375 255.55335998535156 L 429.5796813964844 253.44622802734375 L 418.2812805175781 253.44622802734375 L 418.2066345214844 255.55335998535156 z" 3237 id="path226" /> 3238 <path 3239 d="M 418.2066345214844 244.44664001464844 L 418.2812805175781 246.55377197265625 L 429.5796813964844 246.55377197265625 L 429.458984375 244.44664001464844 z" 3240 id="path228" /> 3241 <path 3242 d="M 429.6340026855469 244.4136505126953 L 429.4384460449219 241.020751953125 L 429.458984375 244.44664001464844 L 429.5796813964844 246.55377197265625 z" 3243 id="path230" /> 3244 <path 3245 d="M 429.458984375 255.55335998535156 L 429.4384460449219 258.979248046875 L 429.6340026855469 255.5863494873047 L 429.5796813964844 253.44622802734375 z" 3246 id="path232" /> 3247 <path 3248 d="m 459.62398,240.93179 -30.24165,0.034 0.073,3.50396 z" 3249 id="path234" 3250 style="stroke-width:0.387783" /> 3251 <path 3252 d="m 429.52937,255.55614 -0.0733,3.45274 30.34107,0.0335 z" 3253 id="path236" 3254 style="stroke-width:0.385571" /> 3255 <path 3256 d="M 471.44659423828125 244.43408203125 L 460.1688232421875 244.43408203125 L 460.3213195800781 250 L 471.6276550292969 250 z" 3257 id="path238" /> 3258 <path 3259 d="M 460.3213195800781 250 L 460.1688232421875 255.56591796875 L 471.44659423828125 255.56591796875 L 471.6276550292969 250 z" 3260 id="path240" /> 3261 <path 3262 d="M 429.5796813964844 253.44622802734375 L 429.5796813964844 246.55377197265625 L 418.2812805175781 246.55377197265625 L 418.2812805175781 253.44622802734375 z" 3263 id="path242" /> 3264 <path 3265 d="M 429.5796813964844 253.44622802734375 L 429.6340026855469 255.5863494873047 L 429.6340026855469 244.4136505126953 L 429.5796813964844 246.55377197265625 z" 3266 id="path244" /> 3267 <path 3268 d="m 459.87199,249.94251 -30.49119,5.65762 30.32084,3.46948 z" 3269 id="path246" 3270 style="stroke-width:0.384982" /> 3271 <path 3272 d="m 459.70161,240.93037 -30.32081,3.46949 30.49115,5.65763 z" 3273 id="path248" 3274 style="stroke-width:0.384982" /> 3275 <path 3276 d="M 459.81482,250 429.634,244.41365 v 11.1727 z" 3277 id="path250" 3278 style="stroke-width:0.380598" /> 3279</svg> 3280`; 3281
3282// src/wc/zometool/parts/r0.svg 3283var r0_default = "<?xml version='1.0'?>\n<svg version='1.1' xmlns='http://www.w3.org/2000/svg'\n stroke='black' stroke-linejoin='round' stroke-width='0.5' fill='#d91218' \n viewBox='415 217 498 63' >\n<path d='M 429.3848876953125 250 L 429.458984375 244.44664001464844 L 429.4384460449219 241.020751953125 L 429.31890869140625 250 z'/>\n<path d='M 429.3848876953125 250 L 429.31890869140625 250 L 429.4384460449219 258.979248046875 L 429.458984375 255.55335998535156 z'/>\n<path d='M 418.1608581542969 250 L 418.2066345214844 255.55335998535156 L 418.2812805175781 253.44622802734375 L 418.2812805175781 246.55377197265625 L 418.2066345214844 244.44664001464844 z'/>\n<path d='M 429.458984375 255.55335998535156 L 429.5796813964844 253.44622802734375 L 418.2812805175781 253.44622802734375 L 418.2066345214844 255.55335998535156 z'/>\n<path d='M 418.2066345214844 244.44664001464844 L 418.2812805175781 246.55377197265625 L 429.5796813964844 246.55377197265625 L 429.458984375 244.44664001464844 z'/>\n<path d='M 429.6340026855469 244.4136505126953 L 429.4384460449219 241.020751953125 L 429.458984375 244.44664001464844 L 429.5796813964844 246.55377197265625 z'/>\n<path d='M 429.458984375 255.55335998535156 L 429.4384460449219 258.979248046875 L 429.6340026855469 255.5863494873047 L 429.5796813964844 253.44622802734375 z'/>\n<path d='M 446.5180358886719 241.020751953125 L 429.4384460449219 241.020751953125 L 429.6340026855469 244.4136505126953 L 446.8269958496094 244.4136505126953 z'/>\n<path d='M 429.6340026855469 255.5863494873047 L 429.4384460449219 258.979248046875 L 446.5180358886719 258.979248046875 L 446.8269958496094 255.5863494873047 z'/>\n<path d='M 498.5417785644531 240.98785400390625 L 446.5180358886719 241.020751953125 L 446.8269958496094 244.4136505126953 z'/>\n<path d='M 446.8269958496094 255.5863494873047 L 446.5180358886719 258.979248046875 L 498.5417785644531 259.0121154785156 z'/>\n<path d='M 526.880859375 244.43408203125 L 515.6030883789062 244.43408203125 L 515.89599609375 250 L 527.2023315429688 250 z'/>\n<path d='M 515.89599609375 250 L 515.6030883789062 255.56591796875 L 526.880859375 255.56591796875 L 527.2023315429688 250 z'/>\n<path d='M 429.5796813964844 253.44622802734375 L 429.5796813964844 246.55377197265625 L 418.2812805175781 246.55377197265625 L 418.2812805175781 253.44622802734375 z'/>\n<path d='M 429.5796813964844 253.44622802734375 L 429.6340026855469 255.5863494873047 L 429.6340026855469 244.4136505126953 L 429.5796813964844 246.55377197265625 z'/>\n<path d='M 498.5417785644531 240.98785400390625 L 498.94671630859375 250 L 516.1592407226562 250 L 515.6838989257812 240.98785400390625 z'/>\n<path d='M 498.94671630859375 250 L 498.5417785644531 259.0121154785156 L 515.6838989257812 259.0121154785156 L 516.1592407226562 250 z'/>\n<path d='M 498.94671630859375 250 L 446.8269958496094 255.5863494873047 L 498.5417785644531 259.0121154785156 z'/>\n<path d='M 498.5417785644531 240.98785400390625 L 446.8269958496094 244.4136505126953 L 498.94671630859375 250 z'/>\n<path d='M 429.6340026855469 244.4136505126953 L 429.6340026855469 255.5863494873047 L 446.8269958496094 255.5863494873047 L 446.8269958496094 244.4136505126953 z'/>\n<path d='M 498.94671630859375 250 L 446.8269958496094 244.4136505126953 L 446.8269958496094 255.5863494873047 z'/>\n\n</svg>\n"; 3284
3285// src/wc/zometool/parts/r1.svg 3286var r1_default = `<?xml version='1.0'?> 3287<svg version='1.1' xmlns='http://www.w3.org/2000/svg' 3288 stroke='black' stroke-linejoin='round' stroke-width='0.5' fill="#d91218" 3289 viewBox='415 217 498 63' > 3290<path d='M 429.3848876953125 250 L 429.458984375 244.44664001464844 L 429.4384460449219 241.020751953125 L 429.31890869140625 250 z'/> 3291<path d='M 429.3848876953125 250 L 429.31890869140625 250 L 429.4384460449219 258.979248046875 L 429.458984375 255.55335998535156 z'/> 3292<path d='M 418.1608581542969 250 L 418.2066345214844 255.55335998535156 L 418.2812805175781 253.44622802734375 L 418.2812805175781 246.55377197265625 L 418.2066345214844 244.44664001464844 z'/> 3293<path d='M 429.458984375 255.55335998535156 L 429.5796813964844 253.44622802734375 L 418.2812805175781 253.44622802734375 L 418.2066345214844 255.55335998535156 z'/> 3294<path d='M 418.2066345214844 244.44664001464844 L 418.2812805175781 246.55377197265625 L 429.5796813964844 246.55377197265625 L 429.458984375 244.44664001464844 z'/> 3295<path d='M 429.6340026855469 244.4136505126953 L 429.4384460449219 241.020751953125 L 429.458984375 244.44664001464844 L 429.5796813964844 246.55377197265625 z'/> 3296<path d='M 429.458984375 255.55335998535156 L 429.4384460449219 258.979248046875 L 429.6340026855469 255.5863494873047 L 429.5796813964844 253.44622802734375 z'/> 3297<path d='M 491.23291015625 241.020751953125 L 429.4384460449219 241.020751953125 L 429.6340026855469 244.4136505126953 L 491.8388366699219 244.4136505126953 z'/> 3298<path d='M 429.6340026855469 255.5863494873047 L 429.4384460449219 258.979248046875 L 491.23291015625 258.979248046875 L 491.8388366699219 255.5863494873047 z'/> 3299<path d='M 543.4203491210938 240.98785400390625 L 491.23291015625 241.020751953125 L 491.8388366699219 244.4136505126953 z'/> 3300<path d='M 491.8388366699219 255.5863494873047 L 491.23291015625 258.979248046875 L 543.4203491210938 259.0121154785156 z'/> 3301<path d='M 616.5752563476562 244.43408203125 L 605.2974853515625 244.43408203125 L 605.8176879882812 250 L 617.1240844726562 250 z'/> 3302<path d='M 605.8176879882812 250 L 605.2974853515625 255.56591796875 L 616.5752563476562 255.56591796875 L 617.1240844726562 250 z'/> 3303<path d='M 429.5796813964844 253.44622802734375 L 429.5796813964844 246.55377197265625 L 418.2812805175781 246.55377197265625 L 418.2812805175781 253.44622802734375 z'/> 3304<path d='M 429.5796813964844 253.44622802734375 L 429.6340026855469 255.5863494873047 L 429.6340026855469 244.4136505126953 L 429.5796813964844 246.55377197265625 z'/> 3305<path d='M 543.4203491210938 240.98785400390625 L 544.0097045898438 250 L 606.2852172851562 250 L 605.4409790039062 240.98785400390625 z'/> 3306<path d='M 544.0097045898438 250 L 543.4203491210938 259.0121154785156 L 605.4409790039062 259.0121154785156 L 606.2852172851562 250 z'/> 3307<path d='M 544.0097045898438 250 L 491.8388366699219 255.5863494873047 L 543.4203491210938 259.0121154785156 z'/> 3308<path d='M 543.4203491210938 240.98785400390625 L 491.8388366699219 244.4136505126953 L 544.0097045898438 250 z'/> 3309<path d='M 429.6340026855469 244.4136505126953 L 429.6340026855469 255.5863494873047 L 491.8388366699219 255.5863494873047 L 491.8388366699219 244.4136505126953 z'/> 3310<path d='M 544.0097045898438 250 L 491.8388366699219 244.4136505126953 L 491.8388366699219 255.5863494873047 z'/> 3311 3312</svg> 3313`; 3314
3315// src/wc/zometool/parts/r2.svg 3316var r2_default = "<?xml version='1.0'?>\n<svg version='1.1' xmlns='http://www.w3.org/2000/svg'\n stroke='black' stroke-linejoin='round' stroke-width='0.5' fill='#d91218' \n viewBox='415 217 498 63' >\n<path d='M 429.3848876953125 250 L 429.458984375 244.44664001464844 L 429.4384460449219 241.020751953125 L 429.31890869140625 250 z'/>\n<path d='M 429.3848876953125 250 L 429.31890869140625 250 L 429.4384460449219 258.979248046875 L 429.458984375 255.55335998535156 z'/>\n<path d='M 418.1608581542969 250 L 418.2066345214844 255.55335998535156 L 418.2812805175781 253.44622802734375 L 418.2812805175781 246.55377197265625 L 418.2066345214844 244.44664001464844 z'/>\n<path d='M 429.458984375 255.55335998535156 L 429.5796813964844 253.44622802734375 L 418.2812805175781 253.44622802734375 L 418.2066345214844 255.55335998535156 z'/>\n<path d='M 418.2066345214844 244.44664001464844 L 418.2812805175781 246.55377197265625 L 429.5796813964844 246.55377197265625 L 429.458984375 244.44664001464844 z'/>\n<path d='M 429.6340026855469 244.4136505126953 L 429.4384460449219 241.020751953125 L 429.458984375 244.44664001464844 L 429.5796813964844 246.55377197265625 z'/>\n<path d='M 429.458984375 255.55335998535156 L 429.4384460449219 258.979248046875 L 429.6340026855469 255.5863494873047 L 429.5796813964844 253.44622802734375 z'/>\n<path d='M 563.5831909179688 241.020751953125 L 429.4384460449219 241.020751953125 L 429.6340026855469 244.4136505126953 L 564.6695556640625 244.4136505126953 z'/>\n<path d='M 429.6340026855469 255.5863494873047 L 429.4384460449219 258.979248046875 L 563.5831909179688 258.979248046875 L 564.6695556640625 255.5863494873047 z'/>\n<path d='M 616.035400390625 240.98785400390625 L 563.5831909179688 241.020751953125 L 564.6695556640625 244.4136505126953 z'/>\n<path d='M 564.6695556640625 255.5863494873047 L 563.5831909179688 258.979248046875 L 616.035400390625 259.0121154785156 z'/>\n<path d='M 761.7039184570312 244.43408203125 L 750.4261474609375 244.43408203125 L 751.3140869140625 250 L 762.6204223632812 250 z'/>\n<path d='M 751.3140869140625 250 L 750.4261474609375 255.56591796875 L 761.7039184570312 255.56591796875 L 762.6204223632812 250 z'/>\n<path d='M 429.5796813964844 253.44622802734375 L 429.5796813964844 246.55377197265625 L 418.2812805175781 246.55377197265625 L 418.2812805175781 253.44622802734375 z'/>\n<path d='M 429.5796813964844 253.44622802734375 L 429.6340026855469 255.5863494873047 L 429.6340026855469 244.4136505126953 L 429.5796813964844 246.55377197265625 z'/>\n<path d='M 616.035400390625 240.98785400390625 L 616.9231567382812 250 L 752.1121215820312 250 L 750.6710815429688 240.98785400390625 z'/>\n<path d='M 616.9231567382812 250 L 616.035400390625 259.0121154785156 L 750.6710815429688 259.0121154785156 L 752.1121215820312 250 z'/>\n<path d='M 616.9231567382812 250 L 564.6695556640625 255.5863494873047 L 616.035400390625 259.0121154785156 z'/>\n<path d='M 616.035400390625 240.98785400390625 L 564.6695556640625 244.4136505126953 L 616.9231567382812 250 z'/>\n<path d='M 429.6340026855469 244.4136505126953 L 429.6340026855469 255.5863494873047 L 564.6695556640625 255.5863494873047 L 564.6695556640625 244.4136505126953 z'/>\n<path d='M 616.9231567382812 250 L 564.6695556640625 244.4136505126953 L 564.6695556640625 255.5863494873047 z'/>\n\n</svg>\n"; 3317
3318// src/wc/zometool/parts/g0.svg 3319var g0_default = "<?xml version='1.0'?>\n<svg version='1.1' xmlns='http://www.w3.org/2000/svg'\n stroke='black' stroke-linejoin='round' stroke-width='0.5' fill='#00993f' \n viewBox='408 225 373 48' >\n<path d='M 418.52264404296875 240.22256469726562 L 420.1631164550781 247.30157470703125 L 420.0196228027344 246.56666564941406 L 418.9914245605469 242.12939453125 z'/>\n<path d='M 421.2759094238281 251.67417907714844 L 420.7160949707031 249.3028564453125 L 420.0196228027344 246.56666564941406 L 420.1631164550781 247.30157470703125 z'/>\n<path d='M 529.6583862304688 259.7774353027344 L 530.2808227539062 259.8243713378906 L 512.4366455078125 254.383056640625 z'/>\n<path d='M 411.4580993652344 243.95169067382812 L 412.4798889160156 248.32981872558594 L 413.1492614746094 251.03469848632812 L 412.5397644042969 248.32179260253906 L 411.4920654296875 243.93377685546875 z'/>\n<path d='M 418.611572265625 240.17562866210938 L 418.52264404296875 240.22256469726562 L 418.9914245605469 242.12939453125 L 419.0484619140625 242.10577392578125 z'/>\n<path d='M 528.7800903320312 253.4500274658203 L 536.3526611328125 251.67819213867188 L 535.3866577148438 248.9652862548828 L 527.81982421875 250.6971435546875 z'/>\n<path d='M 420.11700439453125 246.54995727539062 L 412.5397644042969 248.32179260253906 L 413.1492614746094 251.03469848632812 L 420.7160949707031 249.3028564453125 z'/>\n<path d='M 420.3199462890625 247.28057861328125 L 420.11700439453125 246.54995727539062 L 420.7160949707031 249.3028564453125 L 421.2759094238281 251.67417907714844 z'/>\n<path d='M 437.2784118652344 250 L 420.3199462890625 247.28057861328125 L 421.2759094238281 251.67417907714844 L 438.168701171875 254.38307189941406 z'/>\n<path d='M 437.2784118652344 250 L 511.835205078125 250 L 510.3671875 245.61692810058594 L 436.09930419921875 245.61692810058594 z'/>\n<path d='M 510.3671875 245.61692810058594 L 511.835205078125 250 L 528.7936401367188 252.71942138671875 L 527.260009765625 248.3258056640625 z'/>\n<path d='M 437.2784118652344 250 L 438.168701171875 254.38307189941406 L 512.4366455078125 254.383056640625 L 511.835205078125 250 z'/>\n<path d='M 420.11700439453125 246.54995727539062 L 419.0484619140625 242.10577392578125 L 411.4920654296875 243.93377685546875 L 412.5397644042969 248.32179260253906 z'/>\n<path d='M 529.7105102539062 257.89422607421875 L 537.2639770507812 256.06622314453125 L 536.3526611328125 251.67819213867188 L 528.7800903320312 253.4500274658203 z'/>\n<path d='M 418.611572265625 240.17562866210938 L 437.2784118652344 250 L 436.09930419921875 245.61692810058594 z'/>\n<path d='M 512.4366455078125 254.383056640625 L 530.2808227539062 259.8243713378906 L 511.835205078125 250 z'/>\n<path d='M 418.611572265625 240.17562866210938 L 419.0484619140625 242.10577392578125 L 420.11700439453125 246.54995727539062 L 420.3199462890625 247.28057861328125 z'/>\n<path d='M 418.611572265625 240.17562866210938 L 420.3199462890625 247.28057861328125 L 437.2784118652344 250 z'/>\n<path d='M 530.2808227539062 259.8243713378906 L 528.7936401367188 252.71942138671875 L 511.835205078125 250 z'/>\n\n</svg>\n"; 3320
3321// src/wc/zometool/parts/g1.svg 3322var g1_default = "<?xml version='1.0'?>\n<svg version='1.1' xmlns='http://www.w3.org/2000/svg'\n stroke='black' stroke-linejoin='round' stroke-width='0.5' fill='#00993f' \n viewBox='408 225 373 48' >\n<path d='M 418.52264404296875 240.22256469726562 L 420.1631164550781 247.30157470703125 L 420.0196228027344 246.56666564941406 L 418.9914245605469 242.12939453125 z'/>\n<path d='M 421.2759094238281 251.67417907714844 L 420.7160949707031 249.3028564453125 L 420.0196228027344 246.56666564941406 L 420.1631164550781 247.30157470703125 z'/>\n<path d='M 621.2393798828125 259.7774353027344 L 622.3013916015625 259.8243408203125 L 604.23681640625 254.383056640625 z'/>\n<path d='M 411.4580993652344 243.95169067382812 L 412.4798889160156 248.32981872558594 L 413.1492614746094 251.03469848632812 L 412.5397644042969 248.32179260253906 L 411.4920654296875 243.93377685546875 z'/>\n<path d='M 418.611572265625 240.17562866210938 L 418.52264404296875 240.22256469726562 L 418.9914245605469 242.12939453125 L 419.0484619140625 242.10577392578125 z'/>\n<path d='M 620.8035278320312 253.4500274658203 L 628.3731689453125 251.67819213867188 L 627.1868896484375 248.96530151367188 L 619.6199951171875 250.69712829589844 z'/>\n<path d='M 420.11700439453125 246.54995727539062 L 412.5397644042969 248.32179260253906 L 413.1492614746094 251.03469848632812 L 420.7160949707031 249.3028564453125 z'/>\n<path d='M 420.3199462890625 247.28057861328125 L 420.11700439453125 246.54995727539062 L 420.7160949707031 249.3028564453125 L 421.2759094238281 251.67417907714844 z'/>\n<path d='M 437.2784118652344 250 L 420.3199462890625 247.28057861328125 L 421.2759094238281 251.67417907714844 L 438.168701171875 254.38307189941406 z'/>\n<path d='M 437.2784118652344 250 L 603.992431640625 249.99998474121094 L 602.1674194335938 245.61692810058594 L 436.09930419921875 245.61692810058594 z'/>\n<path d='M 602.1674194335938 245.61692810058594 L 603.992431640625 249.99998474121094 L 620.9508666992188 252.7194061279297 L 619.0602416992188 248.3258056640625 z'/>\n<path d='M 437.2784118652344 250 L 438.168701171875 254.38307189941406 L 604.23681640625 254.383056640625 L 603.992431640625 249.99998474121094 z'/>\n<path d='M 420.11700439453125 246.54995727539062 L 419.0484619140625 242.10577392578125 L 411.4920654296875 243.93377685546875 L 412.5397644042969 248.32179260253906 z'/>\n<path d='M 621.6484985351562 257.89422607421875 L 629.2001953125 256.06622314453125 L 628.3731689453125 251.67819213867188 L 620.8035278320312 253.4500274658203 z'/>\n<path d='M 418.611572265625 240.17562866210938 L 437.2784118652344 250 L 436.09930419921875 245.61692810058594 z'/>\n<path d='M 604.23681640625 254.383056640625 L 622.3013916015625 259.8243408203125 L 603.992431640625 249.99998474121094 z'/>\n<path d='M 418.611572265625 240.17562866210938 L 419.0484619140625 242.10577392578125 L 420.11700439453125 246.54995727539062 L 420.3199462890625 247.28057861328125 z'/>\n<path d='M 418.611572265625 240.17562866210938 L 420.3199462890625 247.28057861328125 L 437.2784118652344 250 z'/>\n<path d='M 622.3013916015625 259.8243408203125 L 620.9508666992188 252.7194061279297 L 603.992431640625 249.99998474121094 z'/>\n\n</svg>\n"; 3323
3324// src/wc/zometool/parts/g2.svg 3325var g2_default = "<?xml version='1.0'?>\n<svg version='1.1' xmlns='http://www.w3.org/2000/svg'\n stroke='black' stroke-linejoin='round' stroke-width='0.5' fill='#00993f' \n viewBox='408 225 373 48' >\n<path d='M 418.52264404296875 240.22256469726562 L 420.1631164550781 247.30157470703125 L 420.0196228027344 246.56666564941406 L 418.9914245605469 242.12939453125 z'/>\n<path d='M 421.2759094238281 251.67417907714844 L 420.7160949707031 249.3028564453125 L 420.0196228027344 246.56666564941406 L 420.1631164550781 247.30157470703125 z'/>\n<path d='M 769.42041015625 259.7774353027344 L 771.1937255859375 259.8243408203125 L 752.7726440429688 254.383056640625 z'/>\n<path d='M 411.4580993652344 243.95169067382812 L 412.4798889160156 248.32981872558594 L 413.1492614746094 251.03469848632812 L 412.5397644042969 248.32179260253906 L 411.4920654296875 243.93377685546875 z'/>\n<path d='M 418.611572265625 240.17562866210938 L 418.52264404296875 240.22256469726562 L 418.9914245605469 242.12939453125 L 419.0484619140625 242.10577392578125 z'/>\n<path d='M 769.7005615234375 253.45001220703125 L 777.2655029296875 251.6781768798828 L 775.7227172851562 248.9652862548828 L 768.1558837890625 250.6971435546875 z'/>\n<path d='M 420.11700439453125 246.54995727539062 L 412.5397644042969 248.32179260253906 L 413.1492614746094 251.03469848632812 L 420.7160949707031 249.3028564453125 z'/>\n<path d='M 420.3199462890625 247.28057861328125 L 420.11700439453125 246.54995727539062 L 420.7160949707031 249.3028564453125 L 421.2759094238281 251.67417907714844 z'/>\n<path d='M 437.2784118652344 250 L 420.3199462890625 247.28057861328125 L 421.2759094238281 251.67417907714844 L 438.168701171875 254.38307189941406 z'/>\n<path d='M 437.2784118652344 250 L 753.1058959960938 249.99998474121094 L 750.7032470703125 245.61691284179688 L 436.09930419921875 245.61692810058594 z'/>\n<path d='M 750.7032470703125 245.61691284179688 L 753.1058959960938 249.99998474121094 L 770.0643920898438 252.7194061279297 L 767.5960693359375 248.32582092285156 z'/>\n<path d='M 437.2784118652344 250 L 438.168701171875 254.38307189941406 L 752.7726440429688 254.383056640625 L 753.1058959960938 249.99998474121094 z'/>\n<path d='M 420.11700439453125 246.54995727539062 L 419.0484619140625 242.10577392578125 L 411.4920654296875 243.93377685546875 L 412.5397644042969 248.32179260253906 z'/>\n<path d='M 770.4074096679688 257.89422607421875 L 777.9561767578125 256.06622314453125 L 777.2655029296875 251.6781768798828 L 769.7005615234375 253.45001220703125 z'/>\n<path d='M 418.611572265625 240.17562866210938 L 437.2784118652344 250 L 436.09930419921875 245.61692810058594 z'/>\n<path d='M 752.7726440429688 254.383056640625 L 771.1937255859375 259.8243408203125 L 753.1058959960938 249.99998474121094 z'/>\n<path d='M 418.611572265625 240.17562866210938 L 419.0484619140625 242.10577392578125 L 420.11700439453125 246.54995727539062 L 420.3199462890625 247.28057861328125 z'/>\n<path d='M 418.611572265625 240.17562866210938 L 420.3199462890625 247.28057861328125 L 437.2784118652344 250 z'/>\n<path d='M 771.1937255859375 259.8243408203125 L 770.0643920898438 252.7194061279297 L 753.1058959960938 249.99998474121094 z'/>\n\n</svg>\n"; 3326
3327// src/wc/zometool/parts/hg0.svg 3328var hg0_default = "<?xml version='1.0'?>\n<svg version='1.1' xmlns='http://www.w3.org/2000/svg'\n stroke='black' stroke-linejoin='round' stroke-width='0.5' fill='#00993f' \n viewBox='408 225 373 48' >\n<path d='M 418.52264404296875 240.22256469726562 L 420.1631164550781 247.30157470703125 L 420.0196228027344 246.56666564941406 L 418.9914245605469 242.12939453125 z'/>\n<path d='M 436.09930419921875 245.61692810058594 L 436.09930419921875 245.61692810058594 L 436.9906921386719 250 L 436.9906921386719 250 z'/>\n<path d='M 438.168701171875 254.38307189941406 L 436.9906921386719 250 L 436.9906921386719 250 L 438.168701171875 254.38307189941406 z'/>\n<path d='M 421.2759094238281 251.67417907714844 L 420.7160949707031 249.3028564453125 L 420.0196228027344 246.56666564941406 L 420.1631164550781 247.30157470703125 z'/>\n<path d='M 455.56793212890625 259.7774353027344 L 455.8346862792969 259.8243713378906 L 438.168701171875 254.38307189941406 z'/>\n<path d='M 411.4580993652344 243.95169067382812 L 412.4798889160156 248.32981872558594 L 413.1492614746094 251.03469848632812 L 412.5397644042969 248.32179260253906 L 411.4920654296875 243.93377685546875 z'/>\n<path d='M 418.611572265625 240.17562866210938 L 418.52264404296875 240.22256469726562 L 418.9914245605469 242.12939453125 L 419.0484619140625 242.10577392578125 z'/>\n<path d='M 454.33160400390625 253.4500274658203 L 461.90643310546875 251.67820739746094 L 461.1187438964844 248.96530151367188 L 453.5518798828125 250.6971435546875 z'/>\n<path d='M 420.11700439453125 246.54995727539062 L 412.5397644042969 248.32179260253906 L 413.1492614746094 251.03469848632812 L 420.7160949707031 249.3028564453125 z'/>\n<path d='M 420.3199462890625 247.28057861328125 L 420.11700439453125 246.54995727539062 L 420.7160949707031 249.3028564453125 L 421.2759094238281 251.67417907714844 z'/>\n<path d='M 437.2784118652344 250 L 420.3199462890625 247.28057861328125 L 421.2759094238281 251.67417907714844 L 438.168701171875 254.38307189941406 z'/>\n<path d='M 437.2784118652344 250 L 437.2784118652344 250 L 436.09930419921875 245.61692810058594 L 436.09930419921875 245.61692810058594 z'/>\n<path d='M 436.09930419921875 245.61692810058594 L 437.2784118652344 250 L 454.23687744140625 252.71942138671875 L 452.9920959472656 248.32582092285156 z'/>\n<path d='M 437.2784118652344 250 L 438.168701171875 254.38307189941406 L 438.168701171875 254.38307189941406 L 437.2784118652344 250 z'/>\n<path d='M 420.11700439453125 246.54995727539062 L 419.0484619140625 242.10577392578125 L 411.4920654296875 243.93377685546875 L 412.5397644042969 248.32179260253906 z'/>\n<path d='M 455.3310546875 257.89422607421875 L 462.885986328125 256.06622314453125 L 461.90643310546875 251.67820739746094 L 454.33160400390625 253.4500274658203 z'/>\n<path d='M 418.611572265625 240.17562866210938 L 437.2784118652344 250 L 436.09930419921875 245.61692810058594 z'/>\n<path d='M 438.168701171875 254.38307189941406 L 455.8346862792969 259.8243713378906 L 437.2784118652344 250 z'/>\n<path d='M 418.611572265625 240.17562866210938 L 419.0484619140625 242.10577392578125 L 420.11700439453125 246.54995727539062 L 420.3199462890625 247.28057861328125 z'/>\n<path d='M 418.611572265625 240.17562866210938 L 420.3199462890625 247.28057861328125 L 437.2784118652344 250 z'/>\n<path d='M 455.8346862792969 259.8243713378906 L 454.23687744140625 252.71942138671875 L 437.2784118652344 250 z'/>\n\n</svg>\n"; 3329
3330// src/wc/zometool/parts/hg1.svg 3331var hg1_default = "<?xml version='1.0'?>\n<svg version='1.1' xmlns='http://www.w3.org/2000/svg'\n stroke='black' stroke-linejoin='round' stroke-width='0.5' fill='#00993f'\n viewBox='408 225 373 48' >\n<path d='M 418.52264404296875 240.22256469726562 L 420.1631164550781 247.30157470703125 L 420.0196228027344 246.56666564941406 L 418.9914245605469 242.12939453125 z'/>\n<path d='M 421.2759094238281 251.67417907714844 L 420.7160949707031 249.3028564453125 L 420.0196228027344 246.56666564941406 L 420.1631164550781 247.30157470703125 z'/>\n<path d='M 501.3583984375 259.7774353027344 L 501.8449401855469 259.8243713378906 L 484.0688171386719 254.38307189941406 z'/>\n<path d='M 411.4580993652344 243.95169067382812 L 412.4798889160156 248.32981872558594 L 413.1492614746094 251.03469848632812 L 412.5397644042969 248.32179260253906 L 411.4920654296875 243.93377685546875 z'/>\n<path d='M 418.611572265625 240.17562866210938 L 418.52264404296875 240.22256469726562 L 418.9914245605469 242.12939453125 L 419.0484619140625 242.10577392578125 z'/>\n<path d='M 500.34326171875 253.4500274658203 L 507.916748046875 251.67819213867188 L 507.01885986328125 248.96530151367188 L 499.45196533203125 250.6971435546875 z'/>\n<path d='M 420.11700439453125 246.54995727539062 L 412.5397644042969 248.32179260253906 L 413.1492614746094 251.03469848632812 L 420.7160949707031 249.3028564453125 z'/>\n<path d='M 420.3199462890625 247.28057861328125 L 420.11700439453125 246.54995727539062 L 420.7160949707031 249.3028564453125 L 421.2759094238281 251.67417907714844 z'/>\n<path d='M 437.2784118652344 250 L 420.3199462890625 247.28057861328125 L 421.2759094238281 251.67417907714844 L 438.168701171875 254.38307189941406 z'/>\n<path d='M 437.2784118652344 250 L 483.3570556640625 250 L 481.9993896484375 245.61692810058594 L 436.09930419921875 245.61692810058594 z'/>\n<path d='M 481.9993896484375 245.61692810058594 L 483.3570556640625 250 L 500.3155212402344 252.71942138671875 L 498.89215087890625 248.3258056640625 z'/>\n<path d='M 437.2784118652344 250 L 438.168701171875 254.38307189941406 L 484.0688171386719 254.38307189941406 L 483.3570556640625 250 z'/>\n<path d='M 420.11700439453125 246.54995727539062 L 419.0484619140625 242.10577392578125 L 411.4920654296875 243.93377685546875 L 412.5397644042969 248.32179260253906 z'/>\n<path d='M 501.300048828125 257.89422607421875 L 508.8540954589844 256.06622314453125 L 507.916748046875 251.67819213867188 L 500.34326171875 253.4500274658203 z'/>\n<path d='M 418.611572265625 240.17562866210938 L 437.2784118652344 250 L 436.09930419921875 245.61692810058594 z'/>\n<path d='M 484.0688171386719 254.38307189941406 L 501.8449401855469 259.8243713378906 L 483.3570556640625 250 z'/>\n<path d='M 418.611572265625 240.17562866210938 L 419.0484619140625 242.10577392578125 L 420.11700439453125 246.54995727539062 L 420.3199462890625 247.28057861328125 z'/>\n<path d='M 418.611572265625 240.17562866210938 L 420.3199462890625 247.28057861328125 L 437.2784118652344 250 z'/>\n<path d='M 501.8449401855469 259.8243713378906 L 500.3155212402344 252.71942138671875 L 483.3570556640625 250 z'/>\n\n</svg>\n"; 3332
3333// src/wc/zometool/parts/hg2.svg 3334var hg2_default = "<?xml version='1.0'?>\n<svg version='1.1' xmlns='http://www.w3.org/2000/svg'\n stroke='black' stroke-linejoin='round' stroke-width='0.5' fill='#00993f' \n viewBox='408 225 373 48' >\n<path d='M 418.52264404296875 240.22256469726562 L 420.1631164550781 247.30157470703125 L 420.0196228027344 246.56666564941406 L 418.9914245605469 242.12939453125 z'/>\n<path d='M 421.2759094238281 251.67417907714844 L 420.7160949707031 249.3028564453125 L 420.0196228027344 246.56666564941406 L 420.1631164550781 247.30157470703125 z'/>\n<path d='M 575.4489135742188 259.7774353027344 L 576.2910766601562 259.8243713378906 L 558.3367309570312 254.383056640625 z'/>\n<path d='M 411.4580993652344 243.95169067382812 L 412.4798889160156 248.32981872558594 L 413.1492614746094 251.03469848632812 L 412.5397644042969 248.32179260253906 L 411.4920654296875 243.93377685546875 z'/>\n<path d='M 418.611572265625 240.17562866210938 L 418.52264404296875 240.22256469726562 L 418.9914245605469 242.12939453125 L 419.0484619140625 242.10577392578125 z'/>\n<path d='M 574.7918090820312 253.4500274658203 L 582.3629150390625 251.67819213867188 L 581.2867431640625 248.9652862548828 L 573.7199096679688 250.6971435546875 z'/>\n<path d='M 420.11700439453125 246.54995727539062 L 412.5397644042969 248.32179260253906 L 413.1492614746094 251.03469848632812 L 420.7160949707031 249.3028564453125 z'/>\n<path d='M 420.3199462890625 247.28057861328125 L 420.11700439453125 246.54995727539062 L 420.7160949707031 249.3028564453125 L 421.2759094238281 251.67417907714844 z'/>\n<path d='M 437.2784118652344 250 L 420.3199462890625 247.28057861328125 L 421.2759094238281 251.67417907714844 L 438.168701171875 254.38307189941406 z'/>\n<path d='M 437.2784118652344 250 L 557.9137573242188 249.99998474121094 L 556.267333984375 245.61692810058594 L 436.09930419921875 245.61692810058594 z'/>\n<path d='M 556.267333984375 245.61692810058594 L 557.9137573242188 249.99998474121094 L 574.8722534179688 252.7194061279297 L 573.1600952148438 248.3258056640625 z'/>\n<path d='M 437.2784118652344 250 L 438.168701171875 254.38307189941406 L 558.3367309570312 254.383056640625 L 557.9137573242188 249.99998474121094 z'/>\n<path d='M 420.11700439453125 246.54995727539062 L 419.0484619140625 242.10577392578125 L 411.4920654296875 243.93377685546875 L 412.5397644042969 248.32179260253906 z'/>\n<path d='M 575.6795043945312 257.89422607421875 L 583.2321166992188 256.06622314453125 L 582.3629150390625 251.67819213867188 L 574.7918090820312 253.4500274658203 z'/>\n<path d='M 418.611572265625 240.17562866210938 L 437.2784118652344 250 L 436.09930419921875 245.61692810058594 z'/>\n<path d='M 558.3367309570312 254.383056640625 L 576.2910766601562 259.8243713378906 L 557.9137573242188 249.99998474121094 z'/>\n<path d='M 418.611572265625 240.17562866210938 L 419.0484619140625 242.10577392578125 L 420.11700439453125 246.54995727539062 L 420.3199462890625 247.28057861328125 z'/>\n<path d='M 418.611572265625 240.17562866210938 L 420.3199462890625 247.28057861328125 L 437.2784118652344 250 z'/>\n<path d='M 576.2910766601562 259.8243713378906 L 574.8722534179688 252.7194061279297 L 557.9137573242188 249.99998474121094 z'/>\n\n</svg>\n"; 3335
3336// src/wc/zometool/parts-list.jsx 3337var _tmpl$2 = /* @__PURE__ */ template(`<div class="zometool-parts-table">`); 3338var svgStrings = { 3339 ball: ball_default, 3340 b0: b0_default, 3341 b1: b1_default, 3342 b2: b2_default, 3343 y0: y0_default, 3344 y1: y1_default, 3345 y2: y2_default, 3346 r00: r00_default, 3347 r0: r0_default, 3348 r1: r1_default, 3349 r2: r2_default, 3350 g0: g0_default, 3351 g1: g1_default, 3352 g2: g2_default, 3353 hg0: hg0_default, 3354 hg1: hg1_default, 3355 hg2: hg2_default 3356}; 3357var getSvgNode = (key, color) => { 3358 let doc = new DOMParser().parseFromString(svgStrings[key], "application/xml"); 3359 const svg = document.importNode(doc.documentElement, true); 3360 svg.setAttribute("fill", color); 3361 return svg; 3362}; 3363var debug = false; 3364var ZometoolParts = (props) => { 3365 const partSx = { 3366 height: "24px", 3367 padding: "0", 3368 width: "210px", 3369 lineHeight: "0" 3370 }; 3371 return (() => { 3372 const _el$ = _tmpl$2(); 3373 insert(_el$, createComponent(TableContainer_default, { 3374 component: Paper_default, 3375 get children() { 3376 return createComponent(Table_default, { 3377 sx: { 3378 minWidth: 250 3379 }, 3380 "aria-label": "parts table", 3381 size: "small", 3382 get children() { 3383 return [createComponent(TableHead_default, { 3384 get children() { 3385 return createComponent(TableRow_default, { 3386 get children() { 3387 return [createComponent(TableCell_default, { 3388 sx: { 3389 fontWeight: "bold" 3390 }, 3391 children: "Part" 3392 }), createComponent(TableCell_default, { 3393 sx: { 3394 fontWeight: "bold" 3395 }, 3396 children: "Length" 3397 }), createComponent(TableCell_default, { 3398 sx: { 3399 fontWeight: "bold" 3400 }, 3401 align: "right", 3402 children: "Count" 3403 })]; 3404 } 3405 }); 3406 } 3407 }), createComponent(TableBody_default, { 3408 get children() { 3409 return createComponent(For, { 3410 get each() { 3411 return props.bom; 3412 }, 3413 children: ({ 3414 key, 3415 count, 3416 color 3417 }) => createComponent(TableRow_default, { 3418 sx: { 3419 "&:last-child td, &:last-child th": { 3420 border: 0 3421 } 3422 }, 3423 get children() { 3424 return [createComponent(TableCell_default, { 3425 align: "left", 3426 component: "th", 3427 scope: "row", 3428 sx: partSx, 3429 get children() { 3430 return getSvgNode(key, color); 3431 } 3432 }), createComponent(TableCell_default, { 3433 component: "th", 3434 scope: "row", 3435 get children() { 3436 return (key === "ball" ? "" : key).toUpperCase(); 3437 } 3438 }), createComponent(TableCell_default, { 3439 align: "right", 3440 children: count 3441 })]; 3442 } 3443 }) 3444 }); 3445 } 3446 })]; 3447 } 3448 }); 3449 } 3450 })); 3451 return _el$; 3452 })(); 3453}; 3454var renderComponent = (container, bom) => { 3455 const bindComponent = () => { 3456 return createComponent(ZometoolParts, { 3457 bom 3458 }); 3459 }; 3460 render(bindComponent, container); 3461}; 3462var ZometoolPartsElement = class extends HTMLElement { 3463 #instructionsId; 3464 #instructions; 3465 constructor() { 3466 super(); 3467 debug && console.log("ZometoolPartsElement constructed"); 3468 } 3469 connectedCallback() { 3470 if (!!this.#instructionsId) { 3471 this.#instructions = document.querySelector(`#${this.#instructionsId}`); 3472 if (!this.#instructions) { 3473 console.error(`No zometool-instructions with id "${this.#instructionsId}" found.`); 3474 } else if (this.#instructions.getParts === void 0) { 3475 console.error(`Element with id "${this.#instructionsId}" is not a zometool-instructions.`); 3476 return; 3477 } 3478 } 3479 if (!this.#instructions) { 3480 this.#instructions = document.querySelector("zometool-instructions"); 3481 } 3482 if (!this.#instructions) {
3483 console.error(`No zometool-instructions found.`); 3484 return; 3485 } 3486 this.#instructions.addEventListener("zometool-instructions-loaded", (e) => { 3487 debug && console.log(JSON.stringify(e.detail)); 3488 this.appendChild(document.createElement("style")).textContent = instructionsCSS; 3489 const container = document.createElement("div"); 3490 container.classList.add("zometool-parts-container"); 3491 this.appendChild(container); 3492 renderComponent(container, e.detail); 3493 }); 3494 debug && console.log("ZometoolPartsElement connected"); 3495 } 3496 static get observedAttributes() { 3497 return ["instructions"]; 3498 } 3499 attributeChangedCallback(attributeName, _oldValue, _newValue) { 3500 debug && console.log("ZometoolPartsElement attribute changed"); 3501 switch (attributeName) { 3502 case "instructions": 3503 this.#instructionsId = _newValue; 3504 break; 3505 } 3506 } 3507}; 3508
3509// src/wc/zometool/products-list.jsx 3510var _tmpl$3 = /* @__PURE__ */ template(`<div class="zometool-products-table"><ul>`); 3511var _tmpl$22 = /* @__PURE__ */ template(`<li class="matched-product">`); 3512var debug2 = false; 3513var product_catalog_url = "https://zometool.github.io/vzome-sharing/metadata/zometool-products.json"; 3514var fetchJSON = (url) => fetch(url).then((response) => response.text()).then((text) => JSON.parse(text)); 3515var productsPromise = fetchJSON(product_catalog_url); 3516var findProducts = (bom, products) => { 3517 const productCoversBom = (product, bom2) => bom2.reduce((covers, part) => covers && product.bom[part.partNum] >= part.count, true); 3518 const result = []; 3519 Object.entries(products).map(([code, product]) => { 3520 if (product.url && productCoversBom(product, bom)) 3521 result.push({ 3522 name: product.label, 3523 url: product.url 3524 }); 3525 }); 3526 return result; 3527}; 3528var productUrl = (url) => new URL(url, "https://zometool.com"); 3529var ZometoolProducts = (props) => { 3530 const [matchingProducts, setMatchingProducts] = createSignal([]); 3531 productsPromise.then((products) => { 3532 setMatchingProducts(findProducts(props.bom, products)); 3533 }); 3534 return (() => { 3535 const _el$ = _tmpl$3(), _el$2 = _el$.firstChild; 3536 insert(_el$2, createComponent(For, { 3537 get each() { 3538 return matchingProducts(); 3539 }, 3540 children: ({ 3541 name, 3542 url 3543 }) => (() => { 3544 const _el$3 = _tmpl$22(); 3545 insert(_el$3, createComponent(Link, { 3546 "class": "link", 3547 get href() { 3548 return productUrl(url); 3549 }, 3550 target: "_blank", 3551 rel: "noopener", 3552 children: name 3553 })); 3554 return _el$3; 3555 })() 3556 })); 3557 return _el$; 3558 })(); 3559}; 3560var renderComponent2 = (container, bom) => { 3561 const bindComponent = () => { 3562 return createComponent(ZometoolProducts, { 3563 bom 3564 }); 3565 }; 3566 render(bindComponent, container); 3567}; 3568var ZometoolProductsElement = class extends HTMLElement { 3569 #instructionsId; 3570 #instructions; 3571 #bomLoaded; 3572 constructor() { 3573 super(); 3574 debug2 && console.log("ZometoolProductsElement constructed"); 3575 } 3576 connectedCallback() { 3577 if (!!this.#instructionsId) { 3578 this.#instructions = document.querySelector(`#${this.#instructionsId}`); 3579 if (!this.#instructions) { 3580 console.error(`No zometool-instructions with id "${this.#instructionsId}" found.`); 3581 } else if (this.#instructions.getParts === void 0) { 3582 console.error(`Element with id "${this.#instructionsId}" is not a zometool-instructions.`); 3583 return; 3584 } 3585 } 3586 if (!this.#instructions) { 3587 this.#instructions = document.querySelector("zometool-instructions"); 3588 } 3589 if (!this.#instructions) { 3590 console.error(`No zometool-instructions found.`); 3591 return; 3592 } 3593 this.#instructions.addEventListener("zometool-instructions-loaded", (e) => { 3594 if (this.#bomLoaded) return; 3595 this.#bomLoaded = true; 3596 debug2 && console.log(JSON.stringify(e.detail)); 3597 this.appendChild(document.createElement("style")).textContent = instructionsCSS; 3598 const container = document.createElement("div"); 3599 container.classList.add("zometool-products-container"); 3600 this.appendChild(container); 3601 renderComponent2(container, e.detail); 3602 }); 3603 debug2 && console.log("ZometoolProductsElement connected"); 3604 } 3605 static get observedAttributes() { 3606 return ["instructions"]; 3607 } 3608 attributeChangedCallback(attributeName, _oldValue, _newValue) { 3609 debug2 && console.log("ZometoolProductsElement attribute changed"); 3610 switch (attributeName) { 3611 case "instructions": 3612 this.#instructionsId = _newValue; 3613 break; 3614 } 3615 } 3616}; 3617
3618// src/wc/zometool/bom.js 3619var svgMapping = { 3620 ball: "ball", 3621 b0: "[[0,0,1],[0,0,1]]:[-1,1,1]", 3622 b1: "[[0,0,1],[0,0,1]]:[1,0,1]", 3623 b2: "[[0,0,1],[0,0,1]]:[0,1,1]", 3624 y0: "[[0,0,1],[2,-1,1]]:[-1,1,1]", 3625 y1: "[[0,0,1],[2,-1,1]]:[1,0,1]", 3626 y2: "[[0,0,1],[2,-1,1]]:[0,1,1]", 3627 r00: "[[-1,1,1],[0,0,1]]:[2,-1,1]", 3628 r0: "[[-1,1,1],[0,0,1]]:[-1,1,1]", 3629 r1: "[[-1,1,1],[0,0,1]]:[1,0,1]", 3630 r2: "[[-1,1,1],[0,0,1]]:[0,1,1]", 3631 g0: "[[2,-1,1],[5,-3,1]]:[-1,1,1]", 3632 g1: "[[2,-1,1],[5,-3,1]]:[1,0,1]", 3633 g2: "[[2,-1,1],[5,-3,1]]:[0,1,1]", 3634 hg0: "[[2,-1,1],[5,-3,1]]:[-1,1,2]", 3635 hg1: "[[2,-1,1],[5,-3,1]]:[1,0,2]", 3636 hg2: "[[2,-1,1],[5,-3,1]]:[0,1,2]" 3637}; 3638var partcodeMapping = { 3639 ball: "PZB-BAL-", 3640 b0: "PST-B0-", 3641 b1: "PST-B1-", 3642 b2: "PST-B2-", 3643 y0: "PST-Y0-", 3644 y1: "PST-Y1-", 3645 y2: "PST-Y2-", 3646 r00: "PST-R00-", 3647 r0: "PST-R0-", 3648 r1: "PST-R1-", 3649 r2: "PST-R2-", 3650 g0: "PST-G0-", 3651 g1: "PST-G1-", 3652 g2: "PST-G2-", 3653 hg0: "PST-HG0-", 3654 hg1: "PST-HG1-", 3655 hg2: "PST-HG2-" 3656}; 3657var colorMapping = { 3658 "blue": "BLU", 3659 "yellow": "YEL", 3660 "red": "RED", 3661 "green": "GRN", 3662 "turquoise": "TEA", 3663 "orange": "ORG", 3664 "purple": "PUR", 3665 "white": "W", 3666 "black": "BLK", 3667 "gray": "GRY" 3668}; 3669var normalizeBOM = (rawBoM, { colors, parts }) => { 3670 const bom = []; 3671 const zometoolCodes = Object.keys(parts); 3672 for (const key in partcodeMapping) { 3673 const rawKey = svgMapping[key]; 3674 if (Object.hasOwnProperty.call(rawBoM, rawKey)) { 3675 const partNumPrefix = partcodeMapping[key]; 3676 for (const [colorName, count] of Object.entries(rawBoM[rawKey])) { 3677 const partNum = partNumPrefix + colorMapping[colorName]; 3678 if (zometoolCodes.includes(partNum)) { 3679 const color = colors[colorName]; 3680 bom.push({ key, partNum, count, color }); 3681 } 3682 } 3683 } 3684 } 3685 return bom; 3686}; 3687
3688// src/wc/zometool/index.jsx 3689var _tmpl$4 = /* @__PURE__ */ template(`<svg aria-hidden="true" viewBox="0 0 24 24" focusable="false" class="step-button-svg"><path d="M24 0v24H0V0h24z" fill="none" opacity=".87"></path><path d="M17.7 15.89L13.82 12l3.89-3.89c.39-.39.39-1.02 0-1.41-.39-.39-1.02-.39-1.41 0l-4.59 4.59c-.39.39-.39 1.02 0 1.41l4.59 4.59c.39.39 1.02.39 1.41 0 .38-.38.38-1.02-.01-1.4zM7 6c.55 0 1 .45 1 1v10c0 .55-.45 1-1 1s-1-.45-1-1V7c0-.55.45-1 1-1z">`); 3690var _tmpl$23 = /* @__PURE__ */ template(`<svg aria-hidden="true" viewBox="0 0 24 24" focusable="false" class="step-button-svg"><path d="M14.91 6.71c-.39-.39-1.02-.39-1.41 0L8.91 11.3c-.39.39-.39 1.02 0 1.41l4.59 4.59c.39.39 1.02.39 1.41 0 .39-.39.39-1.02 0-1.41L11.03 12l3.88-3.88c.38-.39.38-1.03 0-1.41z">`); 3691var _tmpl$32 = /* @__PURE__ */ template(`<h1 class="step-number">`); 3692var _tmpl$42 = /* @__PURE__ */ template(`<svg aria-hidden="true" viewBox="0 0 24 24" focusable="false" class="step-button-svg"><path d="M9.31 6.71c-.39.39-.39 1.02 0 1.41L13.19 12l-3.88 3.88c-.39.39-.39 1.02 0 1.41.39.39 1.02.39 1.41 0l4.59-4.59c.39-.39.39-1.02 0-1.41L10.72 6.7c-.38-.38-1.02-.38-1.41.01z">`); 3693var _tmpl$5 = /* @__PURE__ */ template(`<svg aria-hidden="true" viewBox="0 0 24 24" focusable="false" class="step-button-svg"><path d="M0 0h24v24H0V0z" fill="none" opacity=".87"></path><path d="M6.29 8.11L10.18 12l-3.89 3.89c-.39.39-.39 1.02 0 1.41.39.39 1.02.39 1.41 0l4.59-4.59c.39-.39.39-1.02 0-1.41L7.7 6.7c-.39-.39-1.02-.39-1.41 0-.38.39-.38 1.03 0 1.41zM17 6c.55 0 1 .45 1 1v10c0 .55-.45 1-1 1s-1-.45-1-1V7c0-.55.45-1 1-1z">`); 3694var _tmpl$6 = /* @__PURE__ */ template(`<div class="zometool-instructions"><div class="step-controls"><div class="step-buttons">`); 3695var _tmpl$7 = /* @__PURE__ */ template(`<div class="step-buttons">`); 3696var debug3 = false; 3697var parts_catalog_url = "https://zometool.github.io/vzome-sharing/metadata/zometool-parts.json"; 3698var partsPromise = fetch(parts_catalog_url).then((response) => response.text()).then((text) => JSON.parse(text)); 3699var StepControls = (props) => { 3700 const { 3701 showIndexedScene 3702 } = useSceneIndexing(); 3703 const atStart = () => props.index === props.minIndex; 3704 const atEnd = () => props.index === props.maxIndex; 3705 createEffect(() => { 3706 showIndexedScene(props.index, { 3707 camera: true 3708 }); 3709 }); 3710 const change = (delta) => (evt) => { 3711 let newIndex; 3712 if (delta === 0) { 3713 newIndex = props.minIndex; 3714 } else if (delta === -2) { 3715 newIndex = props.maxIndex; 3716 } else { 3717 newIndex = props.index + delta; 3718 } 3719 props.setIndex(newIndex); 3720 }; 3721 return [createComponent(Button, { 3722 get disabled() { 3723 return atStart(); 3724 }, 3725 "class": "step-button limit-step", 3726 tooltip: "First step", 3727 get onClick() { 3728 return change(0); 3729 }, 3730 get children() { 3731 return _tmpl$4(); 3732 } 3733 }), createComponent(Button, { 3734 get disabled() { 3735 return atStart(); 3736 }, 3737 "class": "step-button", 3738 tooltip: "Previous step", 3739 get onClick() { 3740 return change(-1); 3741 }, 3742 get children() { 3743 return _tmpl$23(); 3744 } 3745 }), (() => { 3746 const _el$3 = _tmpl$32(); 3747 insert(_el$3, () => props.index - props.minIndex + 1); 3748 return _el$3; 3749 })(), createComponent(Button, { 3750 get disabled() { 3751 return atEnd(); 3752 }, 3753 "class": "step-button", 3754 tooltip: "Next step", 3755 get onClick() { 3756 return change(1); 3757 }, 3758 get children() { 3759 return _tmpl$42(); 3760 } 3761 }), createComponent(Button, { 3762 get disabled() { 3763 return atEnd(); 3764 }, 3765 "class": "step-button limit-step", 3766 tooltip: "Last step", 3767 get onClick() { 3768 return change(-2); 3769 }, 3770 get children() { 3771 return _tmpl$5(); 3772 } 3773 })]; 3774}; 3775var ZometoolInstructions = (props) => { 3776 const { 3777 scenes, 3778 requestBOM 3779 } = useViewer(); 3780 const { 3781 subscribeFor 3782 } = useWorkerClient(); 3783 const { 3784 showIndexedScene 3785 } = useSceneIndexing(); 3786 const [hasScenes, setHasScenes] = createSignal(false); 3787 const [steps, setSteps] = createSignal(false); 3788 const [minIndex, setMinIndex] = createSignal(1); 3789 const [maxIndex, setMaxIndex] = createSignal(1); 3790 const [index, setIndex] = createSignal(1); 3791 const dynConfig = () => ({ 3792 useSpinner: false, 3793 allowFullViewport: true, 3794 showSettings: true, 3795 showOutlines: true 3796 }, props.config, { 3797 showScenes: steps() ? "indexed" : "managed", 3798 download: !steps() 3799 }); 3800 const toggleSteps = () => setSteps((v) => !v);
3801 createEffect(() => { 3802 let minIndex2 = 1; 3803 let maxIndex2 = scenes?.length - 1; 3804 if (props.config?.module) { 3805 minIndex2 = getSceneTitleIndex(scenes, props.config?.module + " start"); 3806 maxIndex2 = getSceneTitleIndex(scenes, props.config?.module + " end"); 3807 } 3808 setMinIndex(minIndex2); 3809 setIndex(minIndex2); 3810 setMaxIndex(maxIndex2); 3811 setHasScenes(scenes?.length > 1); 3812 if (scenes?.length > 1) requestBOM(unwrap(scenes)); 3813 }); 3814 createEffect(() => { 3815 if (!steps()) { 3816 showIndexedScene(hasScenes() ? maxIndex() : 0, { 3817 camera: true 3818 }); 3819 } 3820 }); 3821 subscribeFor("BOM_CHANGED", (bom) => { 3822 partsPromise.then((parts) => { 3823 const detail = normalizeBOM(bom, parts); 3824 props.dispatch(new CustomEvent("zometool-instructions-loaded", { 3825 detail 3826 })); 3827 }); 3828 }); 3829 return (() => { 3830 const _el$6 = _tmpl$6(), _el$7 = _el$6.firstChild, _el$8 = _el$7.firstChild; 3831 insert(_el$7, createComponent(Show, { 3832 get when() { 3833 return hasScenes(); 3834 }, 3835 get fallback() { 3836 return _tmpl$7(); 3837 }, 3838 get children() { 3839 return createComponent(Switch, { 3840 "class": "step-switch", 3841 get checked() { 3842 return steps(); 3843 }, 3844 onChange: toggleSteps, 3845 get children() { 3846 return [createComponent(Switch.Label, { 3847 "class": "step_switch__label", 3848 children: "Show Build Steps" 3849 }), createComponent(Switch.Input, { 3850 "class": "switch__input" 3851 }), createComponent(Switch.Control, { 3852 "class": "switch__control", 3853 get children() { 3854 return createComponent(Switch.Thumb, { 3855 "class": "switch__thumb" 3856 }); 3857 } 3858 })]; 3859 } 3860 }); 3861 } 3862 }), _el$8); 3863 insert(_el$8, createComponent(Show, { 3864 get when() { 3865 return steps(); 3866 }, 3867 get children() { 3868 return createComponent(StepControls, { 3869 get index() { 3870 return index(); 3871 }, 3872 setIndex, 3873 get minIndex() { 3874 return minIndex(); 3875 }, 3876 get maxIndex() { 3877 return maxIndex(); 3878 } 3879 }); 3880 } 3881 })); 3882 insert(_el$6, createComponent(DesignViewer, { 3883 get config() { 3884 return dynConfig(); 3885 }, 3886 get componentRoot() { 3887 return props.componentRoot; 3888 }, 3889 height: "100%", 3890 width: "100%" 3891 }), null); 3892 return _el$6; 3893 })(); 3894}; 3895var renderComponent3 = (url, container, dispatch, config) => { 3896 const bindComponent = () => { 3897 return createComponent(CameraProvider, { 3898 tweening: { 3899 duration: 500 3900 }, 3901 get children() { 3902 return createComponent(WorkerProvider, { 3903 get children() { 3904 return createComponent(ViewerProvider, { 3905 config: { 3906 url, 3907 preview: true, 3908 debug: false, 3909 labels: true, 3910 source: true 3911 }, 3912 get children() { 3913 return createComponent(SceneProvider, { 3914 get children() { 3915 return createComponent(SceneIndexingProvider, { 3916 config: {}, 3917 get children() { 3918 return createComponent(ZometoolInstructions, { 3919 dispatch, 3920 config 3921 }); 3922 } 3923 }); 3924 } 3925 }); 3926 } 3927 }); 3928 } 3929 }); 3930 } 3931 }); 3932 }; 3933 container.appendChild(document.createElement("style")).textContent = urlViewerCSS; 3934 render(bindComponent, container); 3935}; 3936var ZometoolInstructionsElement = class extends HTMLElement { 3937 #container; 3938 #url; 3939 #module; 3940 constructor() { 3941 super(); 3942 const root = this.attachShadow({ 3943 mode: "open" 3944 }); 3945 root.appendChild(document.createElement("style")).textContent = instructionsCSS; 3946 this.#container = document.createElement("div"); 3947 root.appendChild(this.#container); 3948 debug3 && console.log("ZometoolInstructionsElement constructed"); 3949 } 3950 connectedCallback() { 3951 debug3 && console.log("ZometoolInstructionsElement connected"); 3952 renderComponent3(this.#url, this.#container, (evt) => this.dispatchEvent(evt), { 3953 module: this.#module 3954 }); 3955 } 3956 static get observedAttributes() { 3957 return ["src", "module"]; 3958 } 3959 // This callback can happen *before* connectedCallback()! 3960 attributeChangedCallback(attributeName, _oldValue, _newValue) { 3961 debug3 && console.log("ZometoolInstructionsElement attribute changed"); 3962 switch (attributeName) { 3963 case "module": 3964 this.#module = _newValue; 3965 console.log(`module ${this.#module}`); 3966 break; 3967 case "src": 3968 this.#url = new URL(_newValue, window.location).toString(); 3969 } 3970 } 3971 getParts() { 3972 debug3 && console.log("ZometoolInstructionsElement.getParts called"); 3973 } 3974}; 3975customElements.define("zometool-instructions", ZometoolInstructionsElement); 3976customElements.define("zometool-parts-required", ZometoolPartsElement); 3977customElements.define("zometool-covering-products", ZometoolProductsElement); 3978 3979export { 3980 alpha, 3981 darken, 3982 lighten, 3983 handleBreakpoints, 3984 resolveBreakpointValues, 3985 deepmerge, 3986 deepmerge2, 3987 useTheme_default2 as useTheme_default, 3988 Dynamic_default, 3989 createStyle_default, 3990 getThemeValue_default, 3991 createUnarySpacing, 3992 systemPropNames, 3993 clsx_m_default, 3994 redefine, 3995 skipProps, 3996 createStyled_default, 3997 skipRootProps, 3998 styled_default, 3999 capitalize3 as capitalize, 4000 capitalize_default, 4001 generateUtilityClass, 4002 generateUtilityClasses, 4003 composeClasses, 4004 isComponentObject, 4005 inspectChildren, 4006 createComponentFactory_default, 4007 Paper_default, 4008 instructionsCSS, 4009 TableContainer_default, 4010 Table_default, 4011 TableHead_default, 4012 TableRow_default, 4013 TableCell_default, 4014 TableBody_default, 4015 ZometoolInstructions 4016};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.