solid-ui 3.0.1-3f71940 → 3.0.1-74b2436

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1472,138 +1472,144 @@ function _createCurveFields(type, CURVE, curveOpts = {}, FpFnLE) {
1472
1472
  // to avoid using style sheets which are document-global
1473
1473
  // and make programmable style toggling with selection, drag over, etc easier
1474
1474
  // These must all end with semicolon so they can be appended to.
1475
- //
1476
- // PHASE 1: Hybrid mode - CSS variables with fallbacks
1477
- // CSS variables (--sui-*) are provided by themes/foundation/variables.css
1478
- // Fallback values preserve original appearance when themes aren't loaded
1479
1475
 
1480
1476
 
1481
1477
  var style = {
1482
1478
  // styleModule
1483
1479
 
1484
- checkboxStyle: 'color: var(--sui-text, black); font-size: 100%; padding-left: 0.5em; padding-right: 0.5em;',
1485
- checkboxInputStyle: 'font-size: 100%; height: 1em; width: 1em; background-color: var(--sui-bg-input, #eef); border-radius: var(--sui-border-radius-sm, 0.2em); margin: 0.1em;',
1486
- fieldLabelStyle: 'color: var(--sui-text-link, #3B5998); text-decoration: none;',
1487
- formSelectStyle: 'background-color: var(--sui-bg-input, #eef); padding: var(--sui-input-padding, 0.5em); border: var(--sui-border-width, 0.05em) solid var(--sui-form-border-color, #88c); border-radius: var(--sui-border-radius-sm, 0.2em); font-size: 100%; margin: var(--sui-input-margin, 0.4em);',
1488
- textInputStyle: 'background-color: var(--sui-bg-input, #eef); padding: var(--sui-input-padding, 0.5em); border: var(--sui-border-width, 0.05em) solid var(--sui-form-border-color, #88c); border-radius: var(--sui-border-radius-sm, 0.2em); font-size: 100%; margin: var(--sui-input-margin, 0.4em);',
1480
+ checkboxStyle: 'color: black; font-size: 100%; padding-left: 0.5 em; padding-right: 0.5 em;',
1481
+ checkboxInputStyle: 'font-size: 150%; height: 1.2em; width: 1.2em; background-color: #eef; border-radius:0.2em; margin: 0.1em;',
1482
+ fieldLabelStyle: 'color: #3B5998; text-decoration: none;',
1483
+ formSelectStyle: 'background-color: #eef; padding: 0.5em; border: .05em solid #88c; border-radius:0.2em; font-size: 100%; margin:0.4em;',
1484
+ textInputStyle: 'background-color: #eef; padding: 0.5em; border: .05em solid #88c; border-radius:0.2em; font-size: 100%; margin:0.4em;',
1489
1485
  textInputStyleUneditable:
1490
1486
  // Color difference only
1491
- 'background-color: var(--sui-bg-panel, white); padding: var(--sui-input-padding, 0.5em); border: var(--sui-border-width, 0.05em) solid var(--sui-bg-panel, white); border-radius: var(--sui-border-radius-sm, 0.2em); font-size: 100%; margin: var(--sui-input-margin, 0.4em);',
1492
- buttonStyle: 'background-color: var(--sui-bg-button, #fff); padding: var(--sui-button-padding, 0.7em); border: 0.01em solid var(--sui-border-color, white); border-radius: var(--sui-border-radius-sm, 0.2em); font-size: 100%; margin: var(--sui-button-margin, 0.3em);',
1493
- commentStyle: 'padding: var(--sui-button-padding, 0.7em); border: none; font-size: 100%; white-space: pre-wrap;',
1494
- iconStyle: 'width: var(--sui-icon-size, 1.5em); height: var(--sui-icon-size, 1.5em); margin: 0.1em; border-radius: var(--sui-border-radius-lg, 1em);',
1495
- smallButtonStyle: 'margin: 0.2em; width: 1em; height: 1em;',
1496
- classIconStyle: 'width: var(--sui-icon-class-size, 3em); height: var(--sui-icon-class-size, 3em); margin: 0.1em; border-radius: var(--sui-border-radius-sm, 0.2em); border: 0.1em solid var(--sui-group-1, green); padding: 0.2em; background-color: #efe;',
1497
- confirmPopupStyle: 'padding: var(--sui-button-padding, 0.7em); border-radius: var(--sui-border-radius-sm, 0.2em); border: 0.1em solid var(--sui-warning, orange); background-color: var(--sui-bg-panel, white); box-shadow: var(--sui-shadow, 0.5em 0.9em #888);',
1498
- messageBodyStyle: 'white-space: pre-wrap; width: 99%; font-size: 100%; border: 0.07em solid var(--sui-border-color, #eee); border-radius: var(--sui-border-radius-sm, 0.2em); padding: 0.3em 0.5em; margin: 0.1em;',
1499
- pendingeditModifier: 'color: var(--sui-text-muted, #bbb);',
1487
+ 'background-color: white; padding: 0.5em; border: .05em solid white; border-radius:0.2em; font-size: 100%; margin:0.4em;',
1488
+ buttonStyle: 'background-color: #fff; padding: 0.7em; border: .01em solid white; border-radius:0.2em; font-size: 100%; margin: 0.3em;',
1489
+ // 'background-color: #eef;
1490
+ commentStyle: 'padding: 0.7em; border: none; font-size: 100%; white-space: pre-wrap;',
1491
+ iconStyle: 'width: 3em; height: 3em; margin: 0.1em; border-radius: 1em;',
1492
+ smallButtonStyle: 'margin: 0.2em; width: 1em; height:1em;',
1493
+ classIconStyle: 'width: 3em; height: 3em; margin: 0.1em; border-radius: 0.2em; border: 0.1em solid green; padding: 0.2em; background-color: #efe;',
1494
+ // combine with buttonStyle
1495
+ confirmPopupStyle: 'padding: 0.7em; border-radius: 0.2em; border: 0.1em solid orange; background-color: white; box-shadow: 0.5em 0.9em #888;',
1496
+ messageBodyStyle: 'white-space: pre-wrap; width: 99%; font-size:100%; border: 0.07em solid #eee; border-radius:0.2em; padding: .3em 0.5em; margin: 0.1em;',
1497
+ pendingeditModifier: 'color: #bbb;',
1500
1498
  // Contacts
1501
- personaBarStyle: 'width: 100%; height: 4em; background-color: var(--sui-bg-hover, #eee); vertical-align: middle;',
1502
- searchInputStyle: 'border: 0.1em solid var(--sui-border-color-dark, #444); border-radius: var(--sui-border-radius-sm, 0.2em); width: 100%; font-size: 100%; padding: 0.1em 0.6em; margin: 0.2em;',
1503
- autocompleteRowStyle: 'border: 0.2em solid var(--sui-warning, straw);',
1499
+ personaBarStyle: 'width: 100%; height: 4em; background-color: #eee; vertical-align: middle;',
1500
+ searchInputStyle: 'border: 0.1em solid #444; border-radius: 0.2em; width: 100%; font-size: 100%; padding: 0.1em 0.6em; margin 0.2em;',
1501
+ autocompleteRowStyle: 'border: 0.2em solid straw;',
1504
1502
  // Login buttons
1505
- signInAndUpButtonStyle: 'padding: 1em; border-radius: var(--sui-border-radius-sm, 0.2em); font-size: 100%;',
1506
- headerBannerLoginInput: 'margin: 0.75em 0 0.75em 0.5em !important; padding: var(--sui-input-padding, 0.5em) !important;',
1507
- signUpBackground: 'background-color: var(--sui-bg-input, #eef);',
1508
- signInBackground: 'background-color: var(--sui-bg-active, #efe);',
1503
+ signInAndUpButtonStyle: 'padding: 1em; border-radius:0.2em; font-size: 100%;',
1504
+ // was 0.5em radius
1505
+ headerBannerLoginInput: 'margin: 0.75em 0 0.75em 0.5em !important; padding: 0.5em !important;',
1506
+ signUpBackground: 'background-color: #eef;',
1507
+ signInBackground: 'background-color: #efe;',
1509
1508
  // Forms
1510
- heading1Style: 'font-size: 180%; font-weight: bold; color: var(--sui-primary, #7C4DFF); padding: var(--sui-space-sm, 0.5em); margin: 0.7em 0;',
1511
- heading2Style: 'font-size: 130%; font-weight: bold; color: var(--sui-primary, #7C4DFF); padding: 0.4em; margin: 0.7em 0;',
1512
- heading3Style: 'font-size: 120%; font-weight: bold; color: var(--sui-primary, #7C4DFF); padding: 0.3em; margin: 0.7em 0;',
1513
- heading4Style: 'font-size: 110%; font-weight: bold; color: var(--sui-primary, #7C4DFF); padding: 0.2em; margin: 0.7em 0;',
1514
- formHeadingStyle: 'font-size: 110%; font-weight: bold; color: var(--sui-primary, #7C4DFF); padding: 0.2em; margin: 0.7em 0;',
1509
+ heading1Style: 'font-size: 180%; font-weight: bold; color: #888888; padding: 0.5em; margin: 0.7em 0.0m;',
1510
+ // originally was brown; now grey
1511
+ heading2Style: 'font-size: 130%; font-weight: bold; color: #888888; padding: 0.4em; margin: 0.7em 0.0em;',
1512
+ // originally was brown; now grey
1513
+ heading3Style: 'font-size: 120%; font-weight: bold; color: #888888; padding: 0.3em; margin: 0.7em 0.0em;',
1514
+ // For example, in large forms or before a small form
1515
+ heading4Style: 'font-size: 110%; font-weight: bold; color: #888888; padding: 0.2em; margin: 0.7em 0.0em;',
1516
+ // Lowest level used by default in small things
1517
+
1518
+ formHeadingStyle: 'font-size: 110%; font-weight: bold; color: #888888; padding: 0.2em; margin: 0.7em 0.0em;',
1519
+ // originally was brown; now grey
1515
1520
  formTextInput: 'font-size: 100%; margin: 0.1em; padding: 0.1em;',
1516
- formGroupStyle: ["padding-left: 0; border: 0 solid var(--sui-form-border-color, ".concat(_styleConstants__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.formBorderColor, "); border-radius: var(--sui-border-radius-sm, 0.2em);"), "padding-left: 2em; border: var(--sui-border-width, 0.05em) solid var(--sui-form-border-color, ".concat(_styleConstants__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.formBorderColor, "); border-radius: var(--sui-border-radius-sm, 0.2em);"), "padding-left: 2em; border: 0.1em solid var(--sui-form-border-color, ".concat(_styleConstants__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.formBorderColor, "); border-radius: var(--sui-border-radius-sm, 0.2em);"), "padding-left: 2em; border: 0.2em solid var(--sui-form-border-color, ".concat(_styleConstants__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.formBorderColor, "); border-radius: var(--sui-border-radius-sm, 0.2em);")],
1517
- formFieldLabelStyle: "color: var(--sui-text-link, ".concat(_styleConstants__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.lowProfileLinkColor, "); text-decoration: none;"),
1518
- formFieldNameBoxStyle: "padding: 0.3em; vertical-align: middle; width: ".concat(_styleConstants__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.formFieldNameBoxWidth, ";"),
1519
- multilineTextInputStyle: 'font-size: 100%; white-space: pre-wrap; background-color: var(--sui-bg-input, #eef); border: 0.07em solid var(--sui-border-color-dark, gray); padding: 1em 0.5em; margin: 1em;',
1520
- // Panes
1521
- folderPaneStyle: 'border-top: solid 1px var(--sui-border-color, #777); border-bottom: solid 1px var(--sui-border-color, #777); margin-top: var(--sui-space-md, 0.5em); margin-bottom: var(--sui-space-md, 0.5em); background-color: var(--sui-bg-panel, white); color: var(--sui-text, black); font-family: var(--sui-font-family, sans-serif);',
1522
- sidebarComponentStyle: 'padding: var(--sui-space-md, 0.5em); width: 100%; background-color: var(--sui-bg-panel, white); color: var(--sui-text, black); font-family: var(--sui-font-family, sans-serif);',
1523
- sidebarStyle: 'overflow-x: auto; overflow-y: auto; border-radius: var(--sui-border-radius, 0.5em); border: 0.1em solid var(--sui-border-color, white); background-color: var(--sui-bg-panel, white);',
1524
- sourcePaneStyle: 'font-family: var(--sui-font-family-mono, monospace); font-size: 100%; width: 100%; max-width: 60em; margin: 1em 0.2em 1em 0.2em; padding: var(--sui-space-lg, 1em); border: 0.1em solid var(--sui-border-color, #888); border-radius: var(--sui-border-radius, 0.5em); background-color: var(--sui-bg-panel, white); color: var(--sui-text, black);',
1521
+ // originally used this
1522
+ formGroupStyle: ["padding-left: 0em; border: 0.0em solid ".concat(_styleConstants__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.formBorderColor, "; border-radius: 0.2em;"), // weight 0
1523
+ "padding-left: 2em; border: 0.05em solid ".concat(_styleConstants__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.formBorderColor, "; border-radius: 0.2em;"), "padding-left: 2em; border: 0.1em solid ".concat(_styleConstants__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.formBorderColor, "; border-radius: 0.2em;"), "padding-left: 2em; border: 0.2em solid ".concat(_styleConstants__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.formBorderColor, "; border-radius: 0.2em;") // @@ pink
1524
+ ],
1525
+ formFieldLabelStyle: "color: ".concat(_styleConstants__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.lowProfileLinkColor, "; text-decoration: none;"),
1526
+ formFieldNameBoxStyle: "padding: 0.3em; vertical-align: middle; width:".concat(_styleConstants__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.formFieldNameBoxWidth, ";"),
1527
+ multilineTextInputStyle: 'font-size:100%; white-space: pre-wrap; background-color: #eef;' + ' border: 0.07em solid gray; padding: 1em 0.5em; margin: 1em 1em;',
1525
1528
  // Buttons
1526
- renderAsDivStyle: 'display: flex; align-items: center; justify-content: space-between; height: var(--sui-avatar-size, 2.5em); padding: 1em;',
1527
- imageDivStyle: 'width: var(--sui-avatar-size, 2.5em); padding: 0.5em; height: var(--sui-avatar-size, 2.5em);',
1528
- linkDivStyle: 'width: var(--sui-icon-size, 2em); padding: 0.5em; height: 4em;',
1529
+ renderAsDivStyle: 'display: flex; align-items: center; justify-content: space-between; height: 2.5em; padding: 1em;',
1530
+ imageDivStyle: 'width:2.5em; padding:0.5em; height: 2.5em;',
1531
+ linkDivStyle: 'width:2em; padding:0.5em; height: 4em;',
1529
1532
  // ACL
1530
1533
  aclControlBoxContainer: 'margin: 1em;',
1531
1534
  aclControlBoxHeader: 'font-size: 120%; margin: 0 0 1rem;',
1532
1535
  aclControlBoxStatus: 'display: none; margin: 1rem 0;',
1533
1536
  aclControlBoxStatusRevealed: 'display: block;',
1534
1537
  aclGroupContent: 'maxWidth: 650;',
1535
- accessGroupList: 'display: grid; grid-template-columns: 1fr; margin: var(--sui-space-md, 1em); width: 100%;',
1538
+ accessGroupList: 'display: grid; grid-template-columns: 1fr; margin: 1em; width: 100%;',
1536
1539
  accessGroupListItem: 'display: grid; grid-template-columns: 100px auto 30%;',
1537
1540
  defaultsController: 'display: flex;',
1538
- defaultsControllerNotice: 'color: var(--sui-text-muted, #888); flexGrow: 1; fontSize: 80%;',
1539
- bigButton: 'background-color: var(--sui-bg-panel, white); border: 0.1em solid var(--sui-border-color-dark, #888); border-radius: var(--sui-border-radius, 0.3em); max-width: 50%; padding-bottom: var(--sui-space-md, 1em); padding-top: var(--sui-space-md, 1em);',
1540
- group: 'color: var(--sui-group-default, #888);',
1541
- group1: 'color: var(--sui-group-1, green);',
1542
- group2: 'color: var(--sui-group-2, #cc0);',
1543
- group3: 'color: var(--sui-group-3, orange);',
1544
- group5: 'color: var(--sui-group-5, red);',
1545
- group9: 'color: var(--sui-group-9, blue);',
1546
- group13: 'color: var(--sui-group-13, purple);',
1547
- trustedAppAddApplicationsTable: 'background-color: var(--sui-bg-panel, #eee);',
1541
+ defaultsControllerNotice: 'color: #888; flexGrow: 1; fontSize: 80%;',
1542
+ bigButton: 'background-color: white; border: 0.1em solid #888; border-radius: 0.3em; max-width: 50%; padding-bottom: 1em; padding-top: 1em;',
1543
+ group: 'color: #888;',
1544
+ group1: 'color: green;',
1545
+ group2: 'color: #cc0;',
1546
+ group3: 'color: orange;',
1547
+ group5: 'color: red;',
1548
+ group9: 'color: blue;',
1549
+ group13: 'color: purple;',
1550
+ trustedAppAddApplicationsTable: 'background-color: #eee;',
1548
1551
  trustedAppCancelButton: 'float: right;',
1549
- trustedAppControllerI: 'border-color: var(--sui-warning, orange); border-radius: var(--sui-border-radius-lg, 1em); border-width: 0.1em;',
1550
- temporaryStatusInit: 'background: var(--sui-success, green);',
1552
+ trustedAppControllerI: 'border-color: orange; border-radius: 1em; border-width: 0.1em;',
1553
+ temporaryStatusInit: 'background: green;',
1551
1554
  temporaryStatusEnd: 'background: transparent; transition: background 5s linear;',
1552
1555
  // header
1553
- headerUserMenuLink: 'background: none; border: 0; color: var(--sui-text, black); cursor: pointer; display: block; font-family: Arial; font-size: 1em; text-align: left; padding: var(--sui-space-md, 1em); width: 100%; text-decoration: none;',
1554
- headerUserMenuLinkHover: 'background: none; border: 0; color: var(--sui-text, black); cursor: pointer; display: block; font-family: Arial; font-size: 1em; text-align: left; padding: var(--sui-space-md, 1em); width: 100%; text-decoration: none; background-image: var(--sui-header-gradient, linear-gradient(to right, #7C4DFF 0%, #18A9E6 50%, #01C9EA 100%));',
1555
- headerUserMenuTrigger: 'background: none; border: 0; cursor: pointer; width: var(--sui-header-height, 60px); height: var(--sui-header-height, 60px);',
1556
- headerUserMenuTriggerImg: 'border-radius: var(--sui-border-radius-full, 50%); height: 56px; width: 28px !important;',
1557
- headerUserMenuButton: 'background: none; border: 0; color: var(--sui-text, black); cursor: pointer; display: block; font-family: Arial; font-size: 1em; text-align: left; padding: var(--sui-space-md, 1em); width: 100%;',
1558
- headerUserMenuButtonHover: 'background: none; border: 0; color: var(--sui-text, black); cursor: pointer; display: block; font-family: Arial; font-size: 1em; text-align: left; padding: var(--sui-space-md, 1em); width: 100%; background-image: var(--sui-header-gradient, linear-gradient(to right, #7C4DFF 0%, #18A9E6 50%, #01C9EA 100%));',
1556
+ headerUserMenuLink: 'background: none; border: 0; color: black; cursor: pointer; display: block; font-family: Arial; font-size: 1em; text-align: left; padding: 1em; width: 100%; text-decoration: none;',
1557
+ headerUserMenuLinkHover: 'background: none; border: 0; color: black; cursor: pointer; display: block; font-family: Arial; font-size: 1em; text-align: left; padding: 1em; width: 100%; text-decoration: none; background-image: linear-gradient(to right, #7C4DFF 0%, #18A9E6 50%, #01C9EA 100%);',
1558
+ headerUserMenuTrigger: 'background: none; border: 0; cursor: pointer; width: 60px; height: 60px;',
1559
+ headerUserMenuTriggerImg: 'border-radius: 50%; height: 56px; width: 28px !important;',
1560
+ headerUserMenuButton: 'background: none; border: 0; color: black; cursor: pointer; display: block; font-family: Arial; font-size: 1em; text-align: left; padding: 1em; width: 100%;',
1561
+ headerUserMenuButtonHover: 'background: none; border: 0; color: black; cursor: pointer; display: block; font-family: Arial; font-size: 1em; text-align: left; padding: 1em; width: 100%; background-image: linear-gradient(to right, #7C4DFF 0%, #18A9E6 50%, #01C9EA 100%);',
1559
1562
  headerUserMenuList: 'list-style: none; margin: 0; padding: 0;',
1560
1563
  headerUserMenuListDisplay: 'list-style: none; margin: 0; padding: 0; display:true;',
1561
- headerUserMenuNavigationMenu: 'background: var(--sui-bg-panel, white); border: solid 1px var(--sui-text, #000000); border-right: 0; position: absolute; right: 0; top: var(--sui-header-height, 60px); width: 200px; z-index: var(--sui-z-dropdown, 1); display: true;',
1562
- headerUserMenuNavigationMenuNotDisplayed: 'background: var(--sui-bg-panel, white); border: solid 1px var(--sui-text, #000000); border-right: 0; position: absolute; right: 0; top: var(--sui-header-height, 60px); width: 200px; z-index: var(--sui-z-dropdown, 1); display: none;',
1563
- headerUserMenuListItem: 'border-bottom: solid 1px var(--sui-text, #000000);',
1564
- headerUserMenuPhoto: 'border-radius: var(--sui-border-radius-full, 50%); background-position: center; background-repeat: no-repeat; background-size: cover; height: 50px; width: 50px;',
1565
- headerBanner: 'background: var(--sui-bg-header, white); box-shadow: var(--sui-header-shadow, 0px 1px 4px #000000); display: flex; justify-content: space-between; padding: 0 var(--sui-space-lg, 1.5em);',
1564
+ headerUserMenuNavigationMenu: 'background: white; border: solid 1px #000000; border-right: 0; position: absolute; right: 0; top: 60px; width: 200px; z-index: 1; display: true;',
1565
+ headerUserMenuNavigationMenuNotDisplayed: 'background: white; border: solid 1px #000000; border-right: 0; position: absolute; right: 0; top: 60px; width: 200px; z-index: 1; display: none;',
1566
+ headerUserMenuListItem: 'border-bottom: solid 1px #000000;',
1567
+ headerUserMenuPhoto: 'border-radius: 50%; background-position: center; background-repeat: no-repeat; background-size: cover; height: 50px; width: 50px;',
1568
+ headerBanner: 'box-shadow: 0px 1px 4px #000000; display: flex; justify-content: space-between; padding: 0 1.5em; margin-bottom: 4px;',
1569
+ headerBannerLink: 'display: block;',
1566
1570
  headerBannerRightMenu: 'display: flex;',
1567
1571
  headerBannerLogin: 'margin-left: auto;',
1568
- allChildrenVisible: 'display: true;',
1569
- headerBannerUserMenu: 'border-left: solid 1px var(--sui-text, #000000); margin-left: auto;',
1570
- headerBannerHelpMenu: 'border-left: solid 1px var(--sui-text, #000000); margin-left: auto;',
1571
- headerBannerIcon: 'background-size: 65px var(--sui-header-height, 60px) !important; height: var(--sui-header-height, 60px) !important; width: 65px !important;',
1572
+ allChildrenVisible: 'display:true;',
1573
+ headerBannerUserMenu: 'border-left: solid 1px #000000; margin-left: auto;',
1574
+ headerBannerHelpMenu: 'border-left: solid 1px #000000; margin-left: auto;',
1575
+ headerBannerIcon: 'background-size: 65px 60px !important; height: 60px !important; width: 65px !important;',
1576
+ // may just be 65px round($icon-size * 352 / 322);
1577
+
1572
1578
  // footer
1573
- footer: 'border-top: solid 1px var(--sui-border-color, #ccc); font-size: 0.9em; padding: var(--sui-space-sm, 0.5em) var(--sui-space-lg, 1.5em);',
1579
+ footer: 'border-top: solid 1px $divider-color; font-size: 0.9em; padding: 0.5em 1.5em;',
1574
1580
  // buttons
1575
- primaryButton: 'background-color: var(--sui-primary-light, #7c4dff); color: var(--sui-text-on-primary, #ffffff); font-family: var(--sui-font-family, Raleway, Roboto, sans-serif); border-radius: var(--sui-border-radius, 0.25em); border-color: var(--sui-primary-light, #7c4dff); border: 1px solid; cursor: pointer; font-size: 0.8em; text-decoration: none; padding: var(--sui-button-padding-sm, 0.5em 4em); transition: var(--sui-transition, 0.25s all ease-in-out); outline: none;',
1576
- primaryButtonHover: 'background-color: var(--sui-primary, #9f7dff); color: var(--sui-text-on-primary, #ffffff); font-family: var(--sui-font-family, Raleway, Roboto, sans-serif); border-radius: var(--sui-border-radius, 0.25em); border-color: var(--sui-primary-light, #7c4dff); border: 1px solid; cursor: pointer; font-size: 0.8em; text-decoration: none; padding: var(--sui-button-padding-sm, 0.5em 4em); transition: var(--sui-transition, 0.25s all ease-in-out); outline: none;',
1577
- primaryButtonNoBorder: 'background-color: var(--sui-bg-panel, #ffffff); color: var(--sui-primary-light, #7c4dff); font-family: var(--sui-font-family, Raleway, Roboto, sans-serif); border-radius: var(--sui-border-radius, 0.25em); border-color: var(--sui-primary-light, #7c4dff); border: 1px solid; cursor: pointer; font-size: 0.8em; text-decoration: none; padding: var(--sui-button-padding-sm, 0.5em 4em); transition: var(--sui-transition, 0.25s all ease-in-out); outline: none;',
1578
- primaryButtonNoBorderHover: 'background-color: var(--sui-primary-light, #7c4dff); color: var(--sui-text-on-primary, #ffffff); font-family: var(--sui-font-family, Raleway, Roboto, sans-serif); border-radius: var(--sui-border-radius, 0.25em); border-color: var(--sui-primary-light, #7c4dff); border: 1px solid; cursor: pointer; font-size: 0.8em; text-decoration: none; padding: var(--sui-button-padding-sm, 0.5em 4em); transition: var(--sui-transition, 0.25s all ease-in-out); outline: none;',
1579
- secondaryButton: 'background-color: var(--sui-accent, #01c9ea); color: var(--sui-text-on-primary, #ffffff); font-family: var(--sui-font-family, Raleway, Roboto, sans-serif); border-radius: var(--sui-border-radius, 0.25em); border-color: var(--sui-accent, #01c9ea); border: 1px solid; cursor: pointer; font-size: 0.8em; text-decoration: none; padding: var(--sui-button-padding-sm, 0.5em 4em); transition: var(--sui-transition, 0.25s all ease-in-out); outline: none;',
1580
- secondaryButtonHover: 'background-color: var(--sui-info, #37cde6); color: var(--sui-text-on-primary, #ffffff); font-family: var(--sui-font-family, Raleway, Roboto, sans-serif); border-radius: var(--sui-border-radius, 0.25em); border-color: var(--sui-primary-light, #7c4dff); border: 1px solid; cursor: pointer; font-size: 0.8em; text-decoration: none; padding: var(--sui-button-padding-sm, 0.5em 4em); transition: var(--sui-transition, 0.25s all ease-in-out); outline: none;',
1581
- secondaryButtonNoBorder: 'background-color: var(--sui-bg-panel, #ffffff); color: var(--sui-accent, #01c9ea); font-family: var(--sui-font-family, Raleway, Roboto, sans-serif); border-radius: var(--sui-border-radius, 0.25em); border-color: var(--sui-accent, #01c9ea); border: 1px solid; cursor: pointer; font-size: 0.8em; text-decoration: none; padding: var(--sui-button-padding-sm, 0.5em 4em); transition: var(--sui-transition, 0.25s all ease-in-out); outline: none;',
1582
- secondaryButtonNoBorderHover: 'background-color: var(--sui-accent, #01c9ea); color: var(--sui-text-on-primary, #ffffff); font-family: var(--sui-font-family, Raleway, Roboto, sans-serif); border-radius: var(--sui-border-radius, 0.25em); border-color: var(--sui-accent, #01c9ea); border: 1px solid; cursor: pointer; font-size: 0.8em; text-decoration: none; padding: var(--sui-button-padding-sm, 0.5em 4em); transition: var(--sui-transition, 0.25s all ease-in-out); outline: none;',
1581
+ primaryButton: 'background-color: #7c4dff; color: #ffffff; font-family: Raleway, Roboto, sans-serif; border-radius: 0.25em; border-color: #7c4dff; border: 1px solid; cursor: pointer; font-size: .8em; text-decoration: none; padding: 0.5em 4em; transition: 0.25s all ease-in-out; outline: none;',
1582
+ primaryButtonHover: 'background-color: #9f7dff; color: #ffffff; font-family: Raleway, Roboto, sans-serif;border-radius: 0.25em; border-color: #7c4dff; border: 1px solid; cursor: pointer; font-size: .8em; text-decoration: none; padding: 0.5em 4em; transition: 0.25s all ease-in-out; outline: none; transition: 0.25s all ease-in-out;',
1583
+ primaryButtonNoBorder: 'background-color: #ffffff; color: #7c4dff; font-family: Raleway, Roboto, sans-serif;border-radius: 0.25em; border-color: #7c4dff; border: 1px solid; cursor: pointer; font-size: .8em; text-decoration: none; padding: 0.5em 4em; transition: 0.25s all ease-in-out; outline: none;',
1584
+ primaryButtonNoBorderHover: 'background-color: #7c4dff; color: #ffffff; font-family: Raleway, Roboto, sans-serif; border-radius: 0.25em; border-color: #7c4dff; border: 1px solid; cursor: pointer; font-size: .8em; text-decoration: none; padding: 0.5em 4em; transition: 0.25s all ease-in-out; outline: none; transition: 0.25s all ease-in-out;',
1585
+ secondaryButton: 'background-color: #01c9ea; color: #ffffff; font-family: Raleway, Roboto, sans-serif;border-radius: 0.25em; border-color: #01c9ea; border: 1px solid; cursor: pointer; font-size: .8em; text-decoration: none; padding: 0.5em 4em; transition: 0.25s all ease-in-out; outline: none;',
1586
+ secondaryButtonHover: 'background-color: #37cde6; color: #ffffff; font-family: Raleway, Roboto, sans-serif;border-radius: 0.25em; border-color: #7c4dff; border: 1px solid; cursor: pointer; font-size: .8em; text-decoration: none; padding: 0.5em 4em; transition: 0.25s all ease-in-out; outline: none; transition: 0.25s all ease-in-out;',
1587
+ secondaryButtonNoBorder: 'background-color: #ffffff; color: #01c9ea; font-family: Raleway, Roboto, sans-serif; border-radius: 0.25em; border-color: #01c9ea; border: 1px solid; cursor: pointer; font-size: .8em; text-decoration: none; padding: 0.5em 4em; transition: 0.25s all ease-in-out; outline: none;',
1588
+ secondaryButtonNoBorderHover: 'background-color: #01c9ea; color: #ffffff; font-family: Raleway, Roboto, sans-serif; border-radius: 0.25em; border-color: #01c9ea; border: 1px solid; cursor: pointer; font-size: .8em; text-decoration: none; padding: 0.5em 4em; transition: 0.25s all ease-in-out; outline: none; transition: 0.25s all ease-in-out;',
1583
1589
  // media
1584
- controlStyle: "border-radius: var(--sui-border-radius, 0.5em); margin: 0.8em; width: ".concat(_styleConstants__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.mediaModuleCanvasWidth, "; height: ").concat(_styleConstants__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.mediaModuleCanvasHeight, ";"),
1590
+ controlStyle: "border-radius: 0.5em; margin: 0.8em; width:".concat(_styleConstants__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.mediaModuleCanvasWidth, "; height:").concat(_styleConstants__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.mediaModuleCanvasHeight, ";"),
1585
1591
  // dragAndDrop
1586
- dragEvent: 'background-color: var(--sui-bg-hover, #ccc); border: 0.25em dashed var(--sui-text, black); border-radius: var(--sui-border-radius, 0.3em);',
1587
- dropEvent: 'background-color: var(--sui-bg-panel, white); border: 0 solid var(--sui-text, black);',
1588
- restoreStyle: 'background-color: var(--sui-bg-panel, white);',
1592
+ dragEvent: 'background-color: #ccc; border: 0.25em dashed black; border-radius: 0.3em;',
1593
+ dropEvent: 'background-color: white; border: 0em solid black;',
1594
+ restoreStyle: 'background-color: white;',
1589
1595
  // errors
1590
- errorCancelButton: 'width: var(--sui-icon-size, 2em); height: var(--sui-icon-size, 2em); align: right;',
1591
- errorMessageBlockStyle: 'margin: 0.1em; padding: var(--sui-space-sm, 0.5em); border: var(--sui-border-width, 0.05em) solid var(--sui-border-color-dark, gray); color: var(--sui-text, black);',
1596
+ errorCancelButton: 'width: 2em; height: 2em; align: right;',
1597
+ errorMessageBlockStyle: 'margin: 0.1em; padding: 0.5em; border: 0.05em solid gray; color:black;',
1592
1598
  // pad
1593
- notepadStyle: 'padding: var(--sui-space-md, 1em); overflow: auto; resize: horizontal; min-width: 40em;',
1599
+ notepadStyle: 'padding: 1em; overflow: auto; resize: horizontal; min-width: 40em;',
1594
1600
  upstreamStatus: 'width: 50%;',
1595
1601
  downstreamStatus: 'width: 50%;',
1596
- baseStyle: 'font-size: 100%; font-family: var(--sui-font-family-mono, monospace); width: 100%; border: none; white-space: pre-wrap;',
1597
- headingCore: 'font-family: var(--sui-font-family, sans-serif); font-weight: bold; border: none;',
1598
- headingStyle: ['font-size: 110%; padding-top: var(--sui-space-sm, 0.5em); padding-bottom: var(--sui-space-sm, 0.5em); width: 100%;', 'font-size: 120%; padding-top: var(--sui-space-md, 1em); padding-bottom: var(--sui-space-md, 1em); width: 100%;', 'font-size: 150%; padding-top: var(--sui-space-md, 1em); padding-bottom: var(--sui-space-md, 1em); width: 100%;'],
1602
+ baseStyle: 'font-size: 100%; font-family: monospace; width: 100%; border: none; white-space: pre-wrap;',
1603
+ headingCore: 'font-family: sans-serif; font-weight: bold; border: none;',
1604
+ headingStyle: ['font-size: 110%; padding-top: 0.5em; padding-bottom: 0.5em; width: 100%;', 'font-size: 120%; padding-top: 1em; padding-bottom: 1em; width: 100%;', 'font-size: 150%; padding-top: 1em; padding-bottom: 1em; width: 100%;'],
1599
1605
  // participation
1600
1606
  participantsStyle: 'margin: 0.8em;',
1601
- participantsBlock: 'height: 1.5em; width: 1.5em; margin: 0.3em; border: 0.01em solid var(--sui-border-color-dark, #888);',
1607
+ participantsBlock: 'height: 1.5em; width: 1.5em; margin: 0.3em; border 0.01em solid #888;',
1602
1608
  personTableTD: 'vertical-align: middle;',
1603
1609
  // tabs
1604
1610
  tabsNavElement: 'margin: 0;',
1605
1611
  tabsRootElement: 'display: flex; height: 100%; width: 100%;',
1606
- tabsMainElement: 'margin: 0; width: 100%; height: 100%;',
1612
+ tabsMainElement: 'margin: 0; width:100%; height: 100%;',
1607
1613
  tabContainer: 'list-style-type: none; display: flex; height: 100%; width: 100%; margin: 0; padding: 0;',
1608
1614
  makeNewSlot: 'background: none; border: none; font: inherit; cursor: pointer;',
1609
1615
  ellipsis: 'position: absolute; right: 0; bottom: 0; width: 20%; background: none; color: inherit; border: none; padding: 0; font: inherit; cursor: pointer; outline: inherit;'
@@ -3632,9 +3638,9 @@ hmac.create = (hash, key) => new HMAC(hash, key);
3632
3638
 
3633
3639
 
3634
3640
  /* global EventListenerOrEventListenerObject */
3635
- /*
3636
- This file was copied from mashlib/src/global/header.ts file. It is modified to
3637
- work in solid-ui by adjusting where imported functions are found.
3641
+ /*
3642
+ This file was copied from mashlib/src/global/header.ts file. It is modified to
3643
+ work in solid-ui by adjusting where imported functions are found.
3638
3644
  */
3639
3645
 
3640
3646
 
@@ -3646,42 +3652,42 @@ hmac.create = (hash, key) => new HMAC(hash, key);
3646
3652
 
3647
3653
 
3648
3654
 
3649
- /**
3650
- * menu icons
3655
+ /**
3656
+ * menu icons
3651
3657
  */
3652
3658
  var DEFAULT_HELP_MENU_ICON = _index__WEBPACK_IMPORTED_MODULE_2__/* .icons */ .Pt.iconBase + 'noun_help.svg';
3653
3659
  var DEFAUL_SOLID_ICON_URL = 'https://solidproject.org/assets/img/solid-emblem.svg';
3654
3660
 
3655
- /*
3656
- HeaderOptions allow for customizing the logo and menu list. If a logo is not provided the default
3657
- is solid. Menulist will always show a link to logout and to the users profile.
3661
+ /*
3662
+ HeaderOptions allow for customizing the logo and menu list. If a logo is not provided the default
3663
+ is solid. Menulist will always show a link to logout and to the users profile.
3658
3664
  */
3659
3665
 
3660
- /**
3661
- * Initialize header component, the header object returned depends on whether the user is authenticated.
3662
- * @param store the data store
3663
- * @param userMenuList a list of menu items when the user is logged in
3664
- * @param options allow the header to be customized with a personalized logo, help icon and a help menu list of links or buttons.
3665
- * @returns a header for an authenticated user with menu items given or a login screen
3666
+ /**
3667
+ * Initialize header component, the header object returned depends on whether the user is authenticated.
3668
+ * @param store the data store
3669
+ * @param userMenuList a list of menu items when the user is logged in
3670
+ * @param options allow the header to be customized with a personalized logo, help icon and a help menu list of links or buttons.
3671
+ * @returns a header for an authenticated user with menu items given or a login screen
3666
3672
  */
3667
3673
  function initHeader(_x, _x2, _x3) {
3668
3674
  return _initHeader.apply(this, arguments);
3669
3675
  }
3670
- /**
3671
- * @ignore exporting this only for the unit test
3676
+ /**
3677
+ * @ignore exporting this only for the unit test
3672
3678
  */
3673
3679
  function _initHeader() {
3674
- _initHeader = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(/*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().mark(function _callee3(store, userMenuList, options) {
3680
+ _initHeader = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(/*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().mark(function _callee2(store, userMenuList, options) {
3675
3681
  var header, pod;
3676
- return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().wrap(function (_context3) {
3677
- while (1) switch (_context3.prev = _context3.next) {
3682
+ return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().wrap(function (_context2) {
3683
+ while (1) switch (_context2.prev = _context2.next) {
3678
3684
  case 0:
3679
3685
  header = document.getElementById('PageHeader');
3680
3686
  if (header) {
3681
- _context3.next = 1;
3687
+ _context2.next = 1;
3682
3688
  break;
3683
3689
  }
3684
- return _context3.abrupt("return");
3690
+ return _context2.abrupt("return");
3685
3691
  case 1:
3686
3692
  pod = (0,_utils_headerFooterHelpers__WEBPACK_IMPORTED_MODULE_8__/* .getPod */ .E6)();
3687
3693
  rebuildHeader(header, store, pod, userMenuList, options)();
@@ -3689,9 +3695,9 @@ function _initHeader() {
3689
3695
  solid_logic__WEBPACK_IMPORTED_MODULE_3__.authSession.events.on('login', rebuildHeader(header, store, pod, userMenuList, options));
3690
3696
  case 2:
3691
3697
  case "end":
3692
- return _context3.stop();
3698
+ return _context2.stop();
3693
3699
  }
3694
- }, _callee3);
3700
+ }, _callee2);
3695
3701
  }));
3696
3702
  return _initHeader.apply(this, arguments);
3697
3703
  }
@@ -3715,20 +3721,20 @@ function rebuildHeader(header, store, pod, userMenuList, options) {
3715
3721
  }, _callee);
3716
3722
  }));
3717
3723
  }
3718
- /**
3719
- * @ignore exporting this only for the unit test
3724
+ /**
3725
+ * @ignore exporting this only for the unit test
3720
3726
  */
3721
3727
  function createBanner(_x4, _x5, _x6, _x7, _x8) {
3722
3728
  return _createBanner.apply(this, arguments);
3723
3729
  }
3724
- /**
3725
- * @ignore exporting this only for the unit test
3730
+ /**
3731
+ * @ignore exporting this only for the unit test
3726
3732
  */
3727
3733
  function _createBanner() {
3728
- _createBanner = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(/*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().mark(function _callee4(store, pod, user, userMenuList, options) {
3729
- var podLink, image, userMenu, banner, leftSideOfHeader, helpMenu, _t3;
3730
- return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().wrap(function (_context4) {
3731
- while (1) switch (_context4.prev = _context4.next) {
3734
+ _createBanner = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(/*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().mark(function _callee3(store, pod, user, userMenuList, options) {
3735
+ var podLink, image, userMenu, banner, leftSideOfHeader, helpMenu, _t2;
3736
+ return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().wrap(function (_context3) {
3737
+ while (1) switch (_context3.prev = _context3.next) {
3732
3738
  case 0:
3733
3739
  podLink = document.createElement('a');
3734
3740
  podLink.href = pod.uri;
@@ -3740,19 +3746,19 @@ function _createBanner() {
3740
3746
  image.setAttribute('style', _style__WEBPACK_IMPORTED_MODULE_6__/* .style */ .i.headerBannerIcon);
3741
3747
  podLink.appendChild(image);
3742
3748
  if (!user) {
3743
- _context4.next = 2;
3749
+ _context3.next = 2;
3744
3750
  break;
3745
3751
  }
3746
- _context4.next = 1;
3752
+ _context3.next = 1;
3747
3753
  return createUserMenu(store, user, userMenuList);
3748
3754
  case 1:
3749
- _t3 = _context4.sent;
3750
- _context4.next = 3;
3755
+ _t2 = _context3.sent;
3756
+ _context3.next = 3;
3751
3757
  break;
3752
3758
  case 2:
3753
- _t3 = createLoginSignUpButtons();
3759
+ _t2 = createLoginSignUpButtons();
3754
3760
  case 3:
3755
- userMenu = _t3;
3761
+ userMenu = _t2;
3756
3762
  banner = document.createElement('div');
3757
3763
  banner.setAttribute('style', _style__WEBPACK_IMPORTED_MODULE_6__/* .style */ .i.headerBanner);
3758
3764
  banner.appendChild(podLink);
@@ -3764,12 +3770,12 @@ function _createBanner() {
3764
3770
  leftSideOfHeader.appendChild(helpMenu);
3765
3771
  }
3766
3772
  banner.appendChild(leftSideOfHeader);
3767
- return _context4.abrupt("return", banner);
3773
+ return _context3.abrupt("return", banner);
3768
3774
  case 4:
3769
3775
  case "end":
3770
- return _context4.stop();
3776
+ return _context3.stop();
3771
3777
  }
3772
- }, _callee4);
3778
+ }, _callee3);
3773
3779
  }));
3774
3780
  return _createBanner.apply(this, arguments);
3775
3781
  }
@@ -3777,88 +3783,6 @@ function createHelpMenu(options, helpMenuItems) {
3777
3783
  if (!helpMenuItems) return;
3778
3784
  var helpMenuList = document.createElement('ul');
3779
3785
  helpMenuList.setAttribute('style', _style__WEBPACK_IMPORTED_MODULE_6__/* .style */ .i.headerUserMenuList);
3780
-
3781
- // Add theme selector submenu at the top
3782
- try {
3783
- var _UI, _UI2;
3784
- var themeLoader = ((_UI = globalThis.UI) === null || _UI === void 0 ? void 0 : _UI.themeLoader) || ((_UI2 = window.UI) === null || _UI2 === void 0 ? void 0 : _UI2.themeLoader);
3785
- if (themeLoader) {
3786
- // Add theme label
3787
- var themeLabel = document.createElement('li');
3788
- themeLabel.setAttribute('style', _style__WEBPACK_IMPORTED_MODULE_6__/* .style */ .i.headerUserMenuItem + ' font-weight: bold; padding: 0.5em 1em; color: #666; font-size: 0.9em;');
3789
- themeLabel.textContent = '🎨 Themes';
3790
- helpMenuList.appendChild(themeLabel);
3791
-
3792
- // Add theme options
3793
- var themes = [{
3794
- name: 'classic',
3795
- label: '📘 Classic',
3796
- icon: '📘'
3797
- }, {
3798
- name: 'default',
3799
- label: '💜 Default',
3800
- icon: '💜'
3801
- }, {
3802
- name: 'wave',
3803
- label: '💚 Wave',
3804
- icon: '💚'
3805
- }, {
3806
- name: 'telegram',
3807
- label: '💙 Telegram',
3808
- icon: '💙'
3809
- }, {
3810
- name: 'signal',
3811
- label: '🔵 Signal',
3812
- icon: '🔵'
3813
- }];
3814
- var currentTheme = themeLoader.getCurrentTheme();
3815
- themes.forEach(function (theme) {
3816
- var themeButton = createUserMenuButton(theme.label + (theme.name === currentTheme ? ' ✓' : ''), /*#__PURE__*/(0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(/*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().mark(function _callee2() {
3817
- var _t2;
3818
- return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().wrap(function (_context2) {
3819
- while (1) switch (_context2.prev = _context2.next) {
3820
- case 0:
3821
- _context2.prev = 0;
3822
- _context2.next = 1;
3823
- return themeLoader.loadTheme(theme.name);
3824
- case 1:
3825
- console.log("Theme switched to: ".concat(theme.label));
3826
- // Update checkmarks in all theme buttons
3827
- setTimeout(function () {
3828
- var newCurrentTheme = themeLoader.getCurrentTheme();
3829
- helpMenuList.querySelectorAll('button').forEach(function (btn, idx) {
3830
- // Theme buttons are first 5 buttons (after the label)
3831
- if (idx < themes.length) {
3832
- var themeInfo = themes[idx];
3833
- btn.textContent = themeInfo.label + (themeInfo.name === newCurrentTheme ? ' ✓' : '');
3834
- }
3835
- });
3836
- }, 100);
3837
- _context2.next = 3;
3838
- break;
3839
- case 2:
3840
- _context2.prev = 2;
3841
- _t2 = _context2["catch"](0);
3842
- console.error('Failed to switch theme:', _t2);
3843
- case 3:
3844
- case "end":
3845
- return _context2.stop();
3846
- }
3847
- }, _callee2, null, [[0, 2]]);
3848
- })));
3849
- helpMenuList.appendChild(createUserMenuItem(themeButton));
3850
- });
3851
-
3852
- // Add separator
3853
- var separator = document.createElement('li');
3854
- separator.setAttribute('style', 'border-top: 1px solid #ddd; margin: 0.5em 0;');
3855
- helpMenuList.appendChild(separator);
3856
- }
3857
- } catch (error) {
3858
- console.warn('Theme loader not available', error);
3859
- }
3860
-
3861
- // Add regular help menu items
3862
3786
  helpMenuItems.forEach(function (menuItem) {
3863
3787
  var menuItemType = menuItem.url ? 'url' : 'onclick';
3864
3788
  if (menuItemType === 'url') {
@@ -3905,8 +3829,8 @@ function createHelpMenu(options, helpMenuItems) {
3905
3829
  });
3906
3830
  return helpMenuContainer;
3907
3831
  }
3908
- /**
3909
- * @ignore exporting this only for the unit test
3832
+ /**
3833
+ * @ignore exporting this only for the unit test
3910
3834
  */
3911
3835
  function createLoginSignUpButtons() {
3912
3836
  var profileLoginButtonPre = document.createElement('div');
@@ -3914,8 +3838,8 @@ function createLoginSignUpButtons() {
3914
3838
  profileLoginButtonPre.appendChild((0,_login_login__WEBPACK_IMPORTED_MODULE_4__.loginStatusBox)(document, null, {}));
3915
3839
  return profileLoginButtonPre;
3916
3840
  }
3917
- /**
3918
- * @ignore exporting this only for the unit test
3841
+ /**
3842
+ * @ignore exporting this only for the unit test
3919
3843
  */
3920
3844
  function createUserMenuButton(label, onClick) {
3921
3845
  var button = document.createElement('button');
@@ -3930,8 +3854,8 @@ function createUserMenuButton(label, onClick) {
3930
3854
  button.innerText = label;
3931
3855
  return button;
3932
3856
  }
3933
- /**
3934
- * @ignore exporting this only for the unit test
3857
+ /**
3858
+ * @ignore exporting this only for the unit test
3935
3859
  */
3936
3860
  function createUserMenuLink(label, href, target) {
3937
3861
  var link = document.createElement('a');
@@ -3948,28 +3872,28 @@ function createUserMenuLink(label, href, target) {
3948
3872
  return link;
3949
3873
  }
3950
3874
 
3951
- /**
3952
- * @ignore exporting this only for the unit test
3875
+ /**
3876
+ * @ignore exporting this only for the unit test
3953
3877
  */
3954
3878
  function createUserMenu(_x9, _x0, _x1) {
3955
3879
  return _createUserMenu.apply(this, arguments);
3956
3880
  }
3957
3881
 
3958
- /**
3959
- * @ignore exporting this only for the unit test
3882
+ /**
3883
+ * @ignore exporting this only for the unit test
3960
3884
  */
3961
3885
  function _createUserMenu() {
3962
- _createUserMenu = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(/*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().mark(function _callee5(store, user, userMenuList) {
3886
+ _createUserMenu = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(/*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().mark(function _callee4(store, user, userMenuList) {
3963
3887
  var fetcher, loggedInMenuList, loggedInMenu, loggedInMenuTrigger, profileImg, loggedInMenuContainer, throttledMenuToggle, timer;
3964
- return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().wrap(function (_context5) {
3965
- while (1) switch (_context5.prev = _context5.next) {
3888
+ return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default().wrap(function (_context4) {
3889
+ while (1) switch (_context4.prev = _context4.next) {
3966
3890
  case 0:
3967
3891
  fetcher = store.fetcher;
3968
3892
  if (!fetcher) {
3969
- _context5.next = 1;
3893
+ _context4.next = 1;
3970
3894
  break;
3971
3895
  }
3972
- _context5.next = 1;
3896
+ _context4.next = 1;
3973
3897
  return fetcher.load(user);
3974
3898
  case 1:
3975
3899
  loggedInMenuList = document.createElement('ul');
@@ -4022,12 +3946,12 @@ function _createUserMenu() {
4022
3946
  var nav = document.getElementById('loggedInNav');
4023
3947
  nav === null || nav === void 0 || nav.setAttribute('style', _style__WEBPACK_IMPORTED_MODULE_6__/* .style */ .i.headerUserMenuNavigationMenuNotDisplayed);
4024
3948
  });
4025
- return _context5.abrupt("return", loggedInMenuContainer);
3949
+ return _context4.abrupt("return", loggedInMenuContainer);
4026
3950
  case 2:
4027
3951
  case "end":
4028
- return _context5.stop();
3952
+ return _context4.stop();
4029
3953
  }
4030
- }, _callee5);
3954
+ }, _callee4);
4031
3955
  }));
4032
3956
  return _createUserMenu.apply(this, arguments);
4033
3957
  }
@@ -4037,8 +3961,8 @@ function createUserMenuItem(child) {
4037
3961
  menuProfileItem.appendChild(child);
4038
3962
  return menuProfileItem;
4039
3963
  }
4040
- /**
4041
- * @ignore exporting this only for the unit test
3964
+ /**
3965
+ * @ignore exporting this only for the unit test
4042
3966
  */
4043
3967
  function getProfileImg(store, user) {
4044
3968
  var profileUrl = null;
@@ -4056,8 +3980,8 @@ function getProfileImg(store, user) {
4056
3980
  return profileImage;
4057
3981
  }
4058
3982
 
4059
- /**
4060
- * @internal
3983
+ /**
3984
+ * @internal
4061
3985
  */
4062
3986
  function toggleMenu(event, trigger, menu) {
4063
3987
  var isExpanded = trigger.getAttribute('aria-expanded') === 'true';
@@ -10261,7 +10185,7 @@ function renderMessageEditor(channelObject, messageTable, userContext, options,
10261
10185
  /* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(3468);
10262
10186
  /* harmony import */ var _widgetHelpers__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(9287);
10263
10187
  /* harmony import */ var _buttons_iconLinks__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(9326);
10264
- /* Buttons
10188
+ /* Buttons
10265
10189
  */
10266
10190
 
10267
10191
 
@@ -10276,9 +10200,9 @@ function renderMessageEditor(channelObject, messageTable, userContext, options,
10276
10200
 
10277
10201
 
10278
10202
 
10279
- /**
10280
- * UI Widgets such as buttons
10281
- * @packageDocumentation
10203
+ /**
10204
+ * UI Widgets such as buttons
10205
+ * @packageDocumentation
10282
10206
  */
10283
10207
 
10284
10208
  /* global alert */
@@ -10306,8 +10230,8 @@ function getStatusArea(context) {
10306
10230
  return null;
10307
10231
  }
10308
10232
 
10309
- /**
10310
- * Display an error message block
10233
+ /**
10234
+ * Display an error message block
10311
10235
  */
10312
10236
  function complain(context, err) {
10313
10237
  if (!err) return; // only if error
@@ -10316,8 +10240,8 @@ function complain(context, err) {
10316
10240
  if (ele) ele.appendChild((0,_error__WEBPACK_IMPORTED_MODULE_10__/* .errorMessageBlock */ .F)(context && context.dom || document, err));else alert(err);
10317
10241
  }
10318
10242
 
10319
- /**
10320
- * Remove all the children of an HTML element
10243
+ /**
10244
+ * Remove all the children of an HTML element
10321
10245
  */
10322
10246
  function clearElement(ele) {
10323
10247
  while (ele.firstChild) {
@@ -10326,8 +10250,8 @@ function clearElement(ele) {
10326
10250
  return ele;
10327
10251
  }
10328
10252
 
10329
- /**
10330
- * To figure out the log URI from the full URI used to invoke the reasoner
10253
+ /**
10254
+ * To figure out the log URI from the full URI used to invoke the reasoner
10331
10255
  */
10332
10256
  function extractLogURI(fullURI) {
10333
10257
  var logPos = fullURI.search(/logFile=/);
@@ -10335,11 +10259,11 @@ function extractLogURI(fullURI) {
10335
10259
  return fullURI.substring(logPos + 8, rulPos);
10336
10260
  }
10337
10261
 
10338
- /**
10339
- * By default, converts e.g. '2020-02-19T19:35:28.557Z' to '19:35'
10340
- * if today is 19 Feb 2020, and to 'Feb 19' if not.
10341
- * @@@ TODO This needs to be changed to local time
10342
- * @param noTime Return a string like 'Feb 19' even if it's today.
10262
+ /**
10263
+ * By default, converts e.g. '2020-02-19T19:35:28.557Z' to '19:35'
10264
+ * if today is 19 Feb 2020, and to 'Feb 19' if not.
10265
+ * @@@ TODO This needs to be changed to local time
10266
+ * @param noTime Return a string like 'Feb 19' even if it's today.
10343
10267
  */
10344
10268
  function shortDate(str, noTime) {
10345
10269
  if (!str) return '???';
@@ -10360,11 +10284,11 @@ function shortDate(str, noTime) {
10360
10284
  }
10361
10285
  }
10362
10286
 
10363
- /**
10364
- * Format a date and time
10365
- * @param date for instance `new Date()`
10366
- * @param format for instance '{FullYear}-{Month}-{Date}T{Hours}:{Minutes}:{Seconds}.{Milliseconds}'
10367
- * @returns for instance '2000-01-15T23:14:23.002'
10287
+ /**
10288
+ * Format a date and time
10289
+ * @param date for instance `new Date()`
10290
+ * @param format for instance '{FullYear}-{Month}-{Date}T{Hours}:{Minutes}:{Seconds}.{Milliseconds}'
10291
+ * @returns for instance '2000-01-15T23:14:23.002'
10368
10292
  */
10369
10293
  function formatDateTime(date, format) {
10370
10294
  return format.split('{').map(function (s) {
@@ -10380,17 +10304,17 @@ function formatDateTime(date, format) {
10380
10304
  }).join('');
10381
10305
  }
10382
10306
 
10383
- /**
10384
- * Get a string representation of the current time
10385
- * @returns for instance '2000-01-15T23:14:23.002'
10307
+ /**
10308
+ * Get a string representation of the current time
10309
+ * @returns for instance '2000-01-15T23:14:23.002'
10386
10310
  */
10387
10311
  function timestamp() {
10388
10312
  return formatDateTime(new Date(), '{FullYear}-{Month}-{Date}T{Hours}:{Minutes}:{Seconds}.{Milliseconds}');
10389
10313
  }
10390
10314
 
10391
- /**
10392
- * Get a short string representation of the current time
10393
- * @returns for instance '23:14:23.002'
10315
+ /**
10316
+ * Get a short string representation of the current time
10317
+ * @returns for instance '23:14:23.002'
10394
10318
  */
10395
10319
  function shortTime() {
10396
10320
  return formatDateTime(new Date(), '{Hours}:{Minutes}:{Seconds}.{Milliseconds}');
@@ -10398,8 +10322,8 @@ function shortTime() {
10398
10322
 
10399
10323
  // ///////////////////// Handy UX widgets
10400
10324
 
10401
- /**
10402
- * Sets the best name we have and looks up a better one
10325
+ /**
10326
+ * Sets the best name we have and looks up a better one
10403
10327
  */
10404
10328
  function setName(element, x) {
10405
10329
  var kb = solid_logic__WEBPACK_IMPORTED_MODULE_7__.store;
@@ -10420,29 +10344,29 @@ function setName(element, x) {
10420
10344
  }
10421
10345
  }
10422
10346
 
10423
- /**
10424
- * Set of suitable images
10425
- * See also [[findImage]]
10426
- * @param x The thing for which we want to find an image
10427
- * @param kb The RDF store to look in
10428
- * @returns It goes looking for triples in `kb`,
10429
- * `(subject: x), (predicate: see list below) (object: image-url)`
10430
- * to find any image linked from the thing with one of the following
10431
- * predicates (in order):
10432
- * * ns.sioc('avatar')
10433
- * * ns.foaf('img')
10434
- * * ns.vcard('logo')
10435
- * * ns.vcard('hasPhoto')
10436
- * * ns.vcard('photo')
10437
- * * ns.foaf('depiction')
10438
-
10347
+ /**
10348
+ * Set of suitable images
10349
+ * See also [[findImage]]
10350
+ * @param x The thing for which we want to find an image
10351
+ * @param kb The RDF store to look in
10352
+ * @returns It goes looking for triples in `kb`,
10353
+ * `(subject: x), (predicate: see list below) (object: image-url)`
10354
+ * to find any image linked from the thing with one of the following
10355
+ * predicates (in order):
10356
+ * * ns.sioc('avatar')
10357
+ * * ns.foaf('img')
10358
+ * * ns.vcard('logo')
10359
+ * * ns.vcard('hasPhoto')
10360
+ * * ns.vcard('photo')
10361
+ * * ns.foaf('depiction')
10362
+
10439
10363
  */
10440
10364
  function imagesOf(x, kb) {
10441
10365
  return kb.each(x, _ns__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A.sioc('avatar')).concat(kb.each(x, _ns__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A.foaf('img'))).concat(kb.each(x, _ns__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A.vcard('logo'))).concat(kb.each(x, _ns__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A.vcard('hasPhoto'))).concat(kb.each(x, _ns__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A.vcard('photo'))).concat(kb.each(x, _ns__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A.foaf('depiction')));
10442
10366
  }
10443
10367
 
10444
- /**
10445
- * Best logo or avatar or photo etc to represent someone or some group etc
10368
+ /**
10369
+ * Best logo or avatar or photo etc to represent someone or some group etc
10446
10370
  */
10447
10371
  var iconForClass = {
10448
10372
  // Potentially extendable by other apps, panes, etc
@@ -10477,8 +10401,8 @@ var iconForClass = {
10477
10401
  'wf:Closed': 'noun_17020.svg'
10478
10402
  };
10479
10403
 
10480
- /**
10481
- * Returns the origin of the URI of a NamedNode
10404
+ /**
10405
+ * Returns the origin of the URI of a NamedNode
10482
10406
  */
10483
10407
  function tempSite(x) {
10484
10408
  // use only while one in rdflib fails with origins 2019
@@ -10494,8 +10418,8 @@ function tempSite(x) {
10494
10418
  }
10495
10419
  }
10496
10420
 
10497
- /**
10498
- * Find an image for this thing as a class
10421
+ /**
10422
+ * Find an image for this thing as a class
10499
10423
  */
10500
10424
  function findImageFromURI(x) {
10501
10425
  var iconDir = iconBase;
@@ -10525,22 +10449,22 @@ function findImageFromURI(x) {
10525
10449
  return iconDir + 'noun_10636_grey.svg'; // Grey Circle - some thing
10526
10450
  }
10527
10451
 
10528
- /**
10529
- * Find something we have as explicit image data for the thing
10530
- * See also [[imagesOf]]
10531
- * @param thing The thing for which we want to find an image
10532
- * @returns The URL of a globe icon if thing equals `ns.foaf('Agent')`
10533
- * or `ns.rdf('Resource')`. Otherwise, it goes looking for
10534
- * triples in `store`,
10535
- * `(subject: thing), (predicate: see list below) (object: image-url)`
10536
- * to find any image linked from the thing with one of the following
10537
- * predicates (in order):
10538
- * * ns.sioc('avatar')
10539
- * * ns.foaf('img')
10540
- * * ns.vcard('logo')
10541
- * * ns.vcard('hasPhoto')
10542
- * * ns.vcard('photo')
10543
- * * ns.foaf('depiction')
10452
+ /**
10453
+ * Find something we have as explicit image data for the thing
10454
+ * See also [[imagesOf]]
10455
+ * @param thing The thing for which we want to find an image
10456
+ * @returns The URL of a globe icon if thing equals `ns.foaf('Agent')`
10457
+ * or `ns.rdf('Resource')`. Otherwise, it goes looking for
10458
+ * triples in `store`,
10459
+ * `(subject: thing), (predicate: see list below) (object: image-url)`
10460
+ * to find any image linked from the thing with one of the following
10461
+ * predicates (in order):
10462
+ * * ns.sioc('avatar')
10463
+ * * ns.foaf('img')
10464
+ * * ns.vcard('logo')
10465
+ * * ns.vcard('hasPhoto')
10466
+ * * ns.vcard('photo')
10467
+ * * ns.foaf('depiction')
10544
10468
  */
10545
10469
  function findImage(thing) {
10546
10470
  var kb = solid_logic__WEBPACK_IMPORTED_MODULE_7__.store;
@@ -10552,11 +10476,11 @@ function findImage(thing) {
10552
10476
  return image ? image.uri : null;
10553
10477
  }
10554
10478
 
10555
- /**
10556
- * Do the best you can with the data available
10557
- *
10558
- * @return {Boolean} Are we happy with this icon?
10559
- * Sets src AND STYLE of the image.
10479
+ /**
10480
+ * Do the best you can with the data available
10481
+ *
10482
+ * @return {Boolean} Are we happy with this icon?
10483
+ * Sets src AND STYLE of the image.
10560
10484
  */
10561
10485
  function trySetImage(element, thing, iconForClassMap) {
10562
10486
  var kb = solid_logic__WEBPACK_IMPORTED_MODULE_7__.store;
@@ -10592,8 +10516,8 @@ function trySetImage(element, thing, iconForClassMap) {
10592
10516
  return false; // we can do better
10593
10517
  }
10594
10518
 
10595
- /**
10596
- * ToDo: Also add icons for *properties* like home, work, email, range, domain, comment,
10519
+ /**
10520
+ * ToDo: Also add icons for *properties* like home, work, email, range, domain, comment,
10597
10521
  */
10598
10522
  function setImage(element, thing) {
10599
10523
  // 20191230a
@@ -10642,7 +10566,7 @@ function faviconOrDefault(dom, x) {
10642
10566
  }
10643
10567
  }
10644
10568
 
10645
- /* Two-option dialog pop-up
10569
+ /* Two-option dialog pop-up
10646
10570
  */
10647
10571
 
10648
10572
  function renderDeleteConfirmPopup(dom, refererenceElement, prompt, deleteFunction) {
@@ -10693,9 +10617,9 @@ function renderDeleteConfirmPopup(dom, refererenceElement, prompt, deleteFunctio
10693
10617
  cancelPrompt.addEventListener('click', removePopup);
10694
10618
  return popup;
10695
10619
  }
10696
- /**
10697
- * Delete button with a check you really mean it
10698
- * @@ Supress check if command key held down?
10620
+ /**
10621
+ * Delete button with a check you really mean it
10622
+ * @@ Supress check if command key held down?
10699
10623
  */
10700
10624
  function deleteButtonWithCheck(dom, container, noun, deleteFunction) {
10701
10625
  function createPopup() {
@@ -10721,14 +10645,14 @@ function deleteButtonWithCheck(dom, container, noun, deleteFunction) {
10721
10645
  return deleteButton; // or button div? caller may change size of image
10722
10646
  }
10723
10647
 
10724
- /* Make a button
10725
- *
10726
- * @param dom - the DOM document object
10727
- * @Param iconURI - the URI of the icon to use (if any)
10728
- * @param text - the tooltip text or possibly button contents text
10729
- * @param handler <function> - A handler to called when button is clicked
10730
- *
10731
- * @returns <dDomElement> - the button
10648
+ /* Make a button
10649
+ *
10650
+ * @param dom - the DOM document object
10651
+ * @Param iconURI - the URI of the icon to use (if any)
10652
+ * @param text - the tooltip text or possibly button contents text
10653
+ * @param handler <function> - A handler to called when button is clicked
10654
+ *
10655
+ * @returns <dDomElement> - the button
10732
10656
  */
10733
10657
  function button(dom, iconURI, text, handler) {
10734
10658
  var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {
@@ -10741,7 +10665,7 @@ function button(dom, iconURI, text, handler) {
10741
10665
  if (iconURI) {
10742
10666
  var img = button.appendChild(dom.createElement('img'));
10743
10667
  img.setAttribute('src', iconURI);
10744
- img.setAttribute('style', _style__WEBPACK_IMPORTED_MODULE_3__/* .style */ .i.iconStyle);
10668
+ img.setAttribute('style', 'width: 2em; height: 2em;'); // trial and error. 2em disappears
10745
10669
  img.title = text;
10746
10670
  button.setAttribute('style', _style__WEBPACK_IMPORTED_MODULE_3__/* .style */ .i.buttonStyle);
10747
10671
  } else {
@@ -10796,12 +10720,12 @@ function button(dom, iconURI, text, handler) {
10796
10720
  return button;
10797
10721
  }
10798
10722
 
10799
- /* Make a cancel button
10800
- *
10801
- * @param dom - the DOM document object
10802
- * @param handler <function> - A handler to called when button is clicked
10803
- *
10804
- * @returns <dDomElement> - the button
10723
+ /* Make a cancel button
10724
+ *
10725
+ * @param dom - the DOM document object
10726
+ * @param handler <function> - A handler to called when button is clicked
10727
+ *
10728
+ * @returns <dDomElement> - the button
10805
10729
  */
10806
10730
  function cancelButton(dom, handler) {
10807
10731
  var b = button(dom, cancelIconURI, 'Cancel', handler);
@@ -10812,22 +10736,22 @@ function cancelButton(dom, handler) {
10812
10736
  return b;
10813
10737
  }
10814
10738
 
10815
- /* Make a continue button
10816
- *
10817
- * @param dom - the DOM document object
10818
- * @param handler <function> - A handler to called when button is clicked
10819
- *
10820
- * @returns <dDomElement> - the button
10739
+ /* Make a continue button
10740
+ *
10741
+ * @param dom - the DOM document object
10742
+ * @param handler <function> - A handler to called when button is clicked
10743
+ *
10744
+ * @returns <dDomElement> - the button
10821
10745
  */
10822
10746
  function continueButton(dom, handler) {
10823
10747
  return button(dom, checkIconURI, 'Continue', handler);
10824
10748
  }
10825
10749
 
10826
- /* Grab a name for a new thing
10827
- *
10828
- * Form to get the name of a new thing before we create it
10829
- * @params theClass Misspelt to avoid clashing with the JavaScript keyword
10830
- * @returns: a promise of (a name or null if cancelled)
10750
+ /* Grab a name for a new thing
10751
+ *
10752
+ * Form to get the name of a new thing before we create it
10753
+ * @params theClass Misspelt to avoid clashing with the JavaScript keyword
10754
+ * @returns: a promise of (a name or null if cancelled)
10831
10755
  */
10832
10756
  function askName(dom, kb, container, predicate, theClass, noun) {
10833
10757
  return new Promise(function (resolve, _reject) {
@@ -10869,10 +10793,10 @@ function askName(dom, kb, container, predicate, theClass, noun) {
10869
10793
  }); // Promise
10870
10794
  }
10871
10795
 
10872
- /**
10873
- * A TR to represent a draggable person, etc in a list
10874
- *
10875
- * pred is unused param at the moment
10796
+ /**
10797
+ * A TR to represent a draggable person, etc in a list
10798
+ *
10799
+ * pred is unused param at the moment
10876
10800
  */
10877
10801
  var personTR = renderAsRow; // The legacy name is used in a lot of places
10878
10802
 
@@ -10886,9 +10810,9 @@ function renderAsRow(dom, pred, obj, options) {
10886
10810
 
10887
10811
  // const image = td1.appendChild(dom.createElement('img'))
10888
10812
  var image = options.image || faviconOrDefault(dom, obj);
10889
- td1.setAttribute('style', 'vertical-align: middle; width: var(--sui-avatar-size, 2.5em); padding: 0.5em; height: var(--sui-avatar-size, 2.5em);');
10813
+ td1.setAttribute('style', 'vertical-align: middle; width:2.5em; padding:0.5em; height: 2.5em;');
10890
10814
  td2.setAttribute('style', 'vertical-align: middle; text-align:left;');
10891
- td3.setAttribute('style', 'vertical-align: middle; width: var(--sui-icon-size, 2em); padding: 0.5em; height: 4em;');
10815
+ td3.setAttribute('style', 'vertical-align: middle; width:2em; padding:0.5em; height: 4em;');
10892
10816
  td1.appendChild(image);
10893
10817
  if (options.title) {
10894
10818
  td2.textContent = options.title;
@@ -10916,11 +10840,11 @@ function renderAsRow(dom, pred, obj, options) {
10916
10840
  return tr;
10917
10841
  }
10918
10842
 
10919
- /* A helper function for renderAsDiv
10920
- * creates the NameDiv for the person
10921
- * Note: could not move it to the helper file because they call exported functions
10922
- * from buttons
10923
- * @internal exporting this only for unit tests
10843
+ /* A helper function for renderAsDiv
10844
+ * creates the NameDiv for the person
10845
+ * Note: could not move it to the helper file because they call exported functions
10846
+ * from buttons
10847
+ * @internal exporting this only for unit tests
10924
10848
  */
10925
10849
  function createNameDiv(dom, div, title, obj) {
10926
10850
  var nameDiv = div.appendChild(dom.createElement('div'));
@@ -10930,11 +10854,11 @@ function createNameDiv(dom, div, title, obj) {
10930
10854
  setName(nameDiv, obj); // This is async
10931
10855
  }
10932
10856
  }
10933
- /* A helper function for renderAsDiv
10934
- * creates the linkDiv for the person
10935
- * Note: could not move it to the helper file because they call exported functions
10936
- * from buttons
10937
- * @internal exporting this only for unit tests
10857
+ /* A helper function for renderAsDiv
10858
+ * creates the linkDiv for the person
10859
+ * Note: could not move it to the helper file because they call exported functions
10860
+ * from buttons
10861
+ * @internal exporting this only for unit tests
10938
10862
  */
10939
10863
  function createLinkDiv(dom, div, obj, options) {
10940
10864
  var linkDiv = div.appendChild(dom.createElement('div'));
@@ -10950,9 +10874,9 @@ function createLinkDiv(dom, div, obj, options) {
10950
10874
  (0,_dragAndDrop__WEBPACK_IMPORTED_MODULE_6__/* .makeDraggable */ .eB)(div, obj);
10951
10875
  }
10952
10876
  }
10953
- /**
10954
- * A Div to represent a draggable person, etc in a list
10955
- * configurable to add an onClick listener
10877
+ /**
10878
+ * A Div to represent a draggable person, etc in a list
10879
+ * configurable to add an onClick listener
10956
10880
  */
10957
10881
  function renderAsDiv(dom, obj, options) {
10958
10882
  var div = dom.createElement('div');
@@ -10974,8 +10898,8 @@ function renderAsDiv(dom, obj, options) {
10974
10898
  return div;
10975
10899
  }
10976
10900
 
10977
- /**
10978
- * Refresh a DOM tree recursively
10901
+ /**
10902
+ * Refresh a DOM tree recursively
10979
10903
  */
10980
10904
  function refreshTree(root) {
10981
10905
  if (root.refresh) {
@@ -10987,15 +10911,15 @@ function refreshTree(root) {
10987
10911
  }
10988
10912
  }
10989
10913
 
10990
- /**
10991
- * Options argument for [[attachmentList]] function
10914
+ /**
10915
+ * Options argument for [[attachmentList]] function
10992
10916
  */
10993
10917
 
10994
- /**
10995
- * Component that displays a list of resources, for instance
10996
- * the attachments of a message, or the various documents related
10997
- * to a meeting.
10998
- * Accepts dropping URLs onto it to add attachments to it.
10918
+ /**
10919
+ * Component that displays a list of resources, for instance
10920
+ * the attachments of a message, or the various documents related
10921
+ * to a meeting.
10922
+ * Accepts dropping URLs onto it to add attachments to it.
10999
10923
  */
11000
10924
  function attachmentList(dom, subject, div) {
11001
10925
  var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
@@ -11108,11 +11032,11 @@ function attachmentList(dom, subject, div) {
11108
11032
 
11109
11033
  // /////////////////////////////////////////////////////////////////////////////
11110
11034
 
11111
- /**
11112
- * Event Handler for links within solid apps.
11113
- *
11114
- * Note that native links have constraints in Firefox, they
11115
- * don't work with local files for instance (2011)
11035
+ /**
11036
+ * Event Handler for links within solid apps.
11037
+ *
11038
+ * Note that native links have constraints in Firefox, they
11039
+ * don't work with local files for instance (2011)
11116
11040
  */
11117
11041
  function openHrefInOutlineMode(e) {
11118
11042
  e.preventDefault();
@@ -11136,10 +11060,10 @@ function openHrefInOutlineMode(e) {
11136
11060
  // dom.outlineManager.GotoSubject(store.sym(uri), true, undefined, true, undefined)
11137
11061
  }
11138
11062
 
11139
- /**
11140
- * Make a URI in the Tabulator.org annotation store out of the URI of the thing to be annotated.
11141
- *
11142
- * @@ Todo: make it a personal preference.
11063
+ /**
11064
+ * Make a URI in the Tabulator.org annotation store out of the URI of the thing to be annotated.
11065
+ *
11066
+ * @@ Todo: make it a personal preference.
11143
11067
  */
11144
11068
  function defaultAnnotationStore(subject) {
11145
11069
  if (subject.uri === undefined) return undefined;
@@ -11157,10 +11081,10 @@ function defaultAnnotationStore(subject) {
11157
11081
  return solid_logic__WEBPACK_IMPORTED_MODULE_7__.store.sym('http://tabulator.org/wiki/annnotation/' + s);
11158
11082
  }
11159
11083
 
11160
- /**
11161
- * Retrieve all RDF class URIs from solid-ui's RDF store
11162
- * @returns an object `ret` such that `Object.keys(ret)` is
11163
- * the list of all class URIs.
11084
+ /**
11085
+ * Retrieve all RDF class URIs from solid-ui's RDF store
11086
+ * @returns an object `ret` such that `Object.keys(ret)` is
11087
+ * the list of all class URIs.
11164
11088
  */
11165
11089
  function allClassURIs() {
11166
11090
  var set = {};
@@ -11177,16 +11101,16 @@ function allClassURIs() {
11177
11101
  return set;
11178
11102
  }
11179
11103
 
11180
- /**
11181
- * Figuring which properties we know about
11182
- *
11183
- * When the user inputs an RDF property, like for a form field
11184
- * or when specifying the relationship between two arbitrary things,
11185
- * then er can prompt them with properties the session knows about
11186
- *
11187
- * TODO: Look again by catching this somewhere. (On the kb?)
11188
- * TODO: move to diff module? Not really a button.
11189
- * @param {Store} kb The quadstore to be searched.
11104
+ /**
11105
+ * Figuring which properties we know about
11106
+ *
11107
+ * When the user inputs an RDF property, like for a form field
11108
+ * or when specifying the relationship between two arbitrary things,
11109
+ * then er can prompt them with properties the session knows about
11110
+ *
11111
+ * TODO: Look again by catching this somewhere. (On the kb?)
11112
+ * TODO: move to diff module? Not really a button.
11113
+ * @param {Store} kb The quadstore to be searched.
11190
11114
  */
11191
11115
 
11192
11116
  function propertyTriage(kb) {
@@ -11224,12 +11148,12 @@ function propertyTriage(kb) {
11224
11148
  return possibleProperties;
11225
11149
  }
11226
11150
 
11227
- /**
11228
- * General purpose widgets
11151
+ /**
11152
+ * General purpose widgets
11229
11153
  */
11230
11154
 
11231
- /**
11232
- * A button for jumping
11155
+ /**
11156
+ * A button for jumping
11233
11157
  */
11234
11158
  function linkButton(dom, object) {
11235
11159
  var b = dom.createElement('button');
@@ -11244,8 +11168,8 @@ function linkButton(dom, object) {
11244
11168
  return b;
11245
11169
  }
11246
11170
 
11247
- /**
11248
- * A button to remove some other element from the page
11171
+ /**
11172
+ * A button to remove some other element from the page
11249
11173
  */
11250
11174
  function removeButton(dom, element) {
11251
11175
  var b = dom.createElement('button');
@@ -11275,17 +11199,17 @@ function removeButton(dom, element) {
11275
11199
  //
11276
11200
  // These are for selecting different modes, sources,styles, etc.
11277
11201
  //
11278
- /*
11279
- buttons.headerButtons = function (dom, kb, name, words) {
11280
- const box = dom.createElement('table')
11281
- var i, word, s = '<tr>'
11282
- box.setAttribute('style', 'width: 90%; height: 1.5em')
11283
- for (i=0; i<words.length; i++) {
11284
- s += '<td><input type="radio" name="' + name + '" id="' + words[i] + '" value='
11285
- }
11286
- box.innerHTML = s + '</tr>'
11287
-
11288
- }
11202
+ /*
11203
+ buttons.headerButtons = function (dom, kb, name, words) {
11204
+ const box = dom.createElement('table')
11205
+ var i, word, s = '<tr>'
11206
+ box.setAttribute('style', 'width: 90%; height: 1.5em')
11207
+ for (i=0; i<words.length; i++) {
11208
+ s += '<td><input type="radio" name="' + name + '" id="' + words[i] + '" value='
11209
+ }
11210
+ box.innerHTML = s + '</tr>'
11211
+
11212
+ }
11289
11213
  */
11290
11214
  // ////////////////////////////////////////////////////////////
11291
11215
  //
@@ -11375,9 +11299,9 @@ function twoLineDefault(dom, x) {
11375
11299
  return box;
11376
11300
  }
11377
11301
 
11378
- /**
11379
- * Find a function that can create a widget for a given class
11380
- * @param c The RDF class for which we want a widget generator function
11302
+ /**
11303
+ * Find a function that can create a widget for a given class
11304
+ * @param c The RDF class for which we want a widget generator function
11381
11305
  */
11382
11306
  function twoLineWidgetForClass(c) {
11383
11307
  var widget = index.twoLine[c.uri];
@@ -11391,12 +11315,12 @@ function twoLineWidgetForClass(c) {
11391
11315
  return index.twoLine[''];
11392
11316
  }
11393
11317
 
11394
- /**
11395
- * Display a transaction
11396
- * @param x Should have attributes through triples in store:
11397
- * * ns.qu('payee') -> a named node
11398
- * * ns.qu('date) -> a literal
11399
- * * ns.qu('amount') -> a literal
11318
+ /**
11319
+ * Display a transaction
11320
+ * @param x Should have attributes through triples in store:
11321
+ * * ns.qu('payee') -> a named node
11322
+ * * ns.qu('date) -> a literal
11323
+ * * ns.qu('amount') -> a literal
11400
11324
  */
11401
11325
  function twoLineTransaction(dom, x) {
11402
11326
  var failed = '';
@@ -11413,12 +11337,12 @@ function twoLineTransaction(dom, x) {
11413
11337
  return box;
11414
11338
  }
11415
11339
 
11416
- /**
11417
- * Display a trip
11418
- * @param x Should have attributes through triples in store:
11419
- * * ns.dc('title') -> a literal
11420
- * * ns.cal('dtstart') -> a literal
11421
- * * ns.cal('dtend') -> a literal
11340
+ /**
11341
+ * Display a trip
11342
+ * @param x Should have attributes through triples in store:
11343
+ * * ns.dc('title') -> a literal
11344
+ * * ns.cal('dtstart') -> a literal
11345
+ * * ns.cal('dtend') -> a literal
11422
11346
  */
11423
11347
  function twoLineTrip(dom, x) {
11424
11348
  var enc = function enc(p) {
@@ -11430,8 +11354,8 @@ function twoLineTrip(dom, x) {
11430
11354
  return box;
11431
11355
  }
11432
11356
 
11433
- /**
11434
- * Stick a stylesheet link the document if not already there
11357
+ /**
11358
+ * Stick a stylesheet link the document if not already there
11435
11359
  */
11436
11360
  function addStyleSheet(dom, href) {
11437
11361
  var links = dom.querySelectorAll('link');
@@ -11455,8 +11379,8 @@ function isAudio(file) {
11455
11379
  function isVideo(file) {
11456
11380
  return isImage(file, 'video');
11457
11381
  }
11458
- /**
11459
- *
11382
+ /**
11383
+ *
11460
11384
  */
11461
11385
  function isImage(file, kind) {
11462
11386
  var dcCLasses = {
@@ -11478,12 +11402,12 @@ function isImage(file, kind) {
11478
11402
  return false;
11479
11403
  }
11480
11404
 
11481
- /**
11482
- * File upload button
11483
- * @param dom The DOM aka document
11484
- * @param droppedFileHandler Same handler function as drop, takes array of file objects
11485
- * @returns {Element} - a div with a button and a inout in it
11486
- * The input is hidden, as it is uglky - the user clicks on the nice icons and fires the input.
11405
+ /**
11406
+ * File upload button
11407
+ * @param dom The DOM aka document
11408
+ * @param droppedFileHandler Same handler function as drop, takes array of file objects
11409
+ * @returns {Element} - a div with a button and a inout in it
11410
+ * The input is hidden, as it is uglky - the user clicks on the nice icons and fires the input.
11487
11411
  */
11488
11412
  // See https://developer.mozilla.org/en-US/docs/Web/API/File/Using_files_from_web_applications
11489
11413
  function fileUploadButtonDiv(dom, droppedFileHandler) {
@@ -21585,346 +21509,6 @@ function setFieldStyle(ele, field) {
21585
21509
 
21586
21510
  /***/ },
21587
21511
 
21588
- /***/ 7732
21589
- (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
21590
-
21591
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
21592
- /* harmony export */ r: () => (/* binding */ themeLoader)
21593
- /* harmony export */ });
21594
- /* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(467);
21595
- /* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3029);
21596
- /* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2901);
21597
- /* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4756);
21598
- /* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3__);
21599
-
21600
-
21601
-
21602
- function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
21603
- function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
21604
- function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
21605
-
21606
- /**
21607
- * Theme Loader for Solid-UI
21608
- * Handles dynamic theme loading and switching
21609
- */
21610
-
21611
- var STORAGE_KEY = 'solid-ui-theme';
21612
- var DEFAULT_THEME = 'classic';
21613
- var ThemeLoader = /*#__PURE__*/function () {
21614
- function ThemeLoader() {
21615
- (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)(this, ThemeLoader);
21616
- this.themes = {
21617
- classic: 'theme-classic.css',
21618
- "default": 'theme-default.css',
21619
- wave: 'theme-wave.css',
21620
- telegram: 'theme-telegram.css',
21621
- signal: 'theme-signal.css'
21622
- };
21623
- this.currentTheme = this.getSavedTheme();
21624
- this.linkElements = {};
21625
- this.initialized = false;
21626
- }
21627
-
21628
- /**
21629
- * Initialize the theme system
21630
- * Loads foundation CSS and current theme
21631
- */
21632
- return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A)(ThemeLoader, [{
21633
- key: "init",
21634
- value: (function () {
21635
- var _init = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(/*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee() {
21636
- var _t;
21637
- return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function (_context) {
21638
- while (1) switch (_context.prev = _context.next) {
21639
- case 0:
21640
- if (!this.initialized) {
21641
- _context.next = 1;
21642
- break;
21643
- }
21644
- return _context.abrupt("return");
21645
- case 1:
21646
- _context.prev = 1;
21647
- _context.next = 2;
21648
- return this.loadFoundation();
21649
- case 2:
21650
- _context.next = 3;
21651
- return this.loadTheme(this.currentTheme);
21652
- case 3:
21653
- this.initialized = true;
21654
- _context.next = 5;
21655
- break;
21656
- case 4:
21657
- _context.prev = 4;
21658
- _t = _context["catch"](1);
21659
- // eslint-disable-next-line no-console
21660
- console.error('Failed to initialize theme system:', _t);
21661
- // Continue without themes - use inline styles as fallback
21662
- case 5:
21663
- case "end":
21664
- return _context.stop();
21665
- }
21666
- }, _callee, this, [[1, 4]]);
21667
- }));
21668
- function init() {
21669
- return _init.apply(this, arguments);
21670
- }
21671
- return init;
21672
- }()
21673
- /**
21674
- * Load foundation CSS (variables + accessibility)
21675
- */
21676
- )
21677
- }, {
21678
- key: "loadFoundation",
21679
- value: (function () {
21680
- var _loadFoundation = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(/*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee2() {
21681
- var variablesLink, a11yLink;
21682
- return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function (_context2) {
21683
- while (1) switch (_context2.prev = _context2.next) {
21684
- case 0:
21685
- // Variables
21686
- variablesLink = this.createLinkElement('solid-ui-variables', 'theme-variables.css');
21687
- document.head.insertBefore(variablesLink, document.head.firstChild);
21688
- this.linkElements.variables = variablesLink;
21689
-
21690
- // Accessibility
21691
- a11yLink = this.createLinkElement('solid-ui-accessibility', 'theme-accessibility.css');
21692
- document.head.insertBefore(a11yLink, document.head.firstChild);
21693
- this.linkElements.accessibility = a11yLink;
21694
-
21695
- // Wait for CSS to load
21696
- _context2.next = 1;
21697
- return Promise.all([this.waitForStylesheet(variablesLink), this.waitForStylesheet(a11yLink)]);
21698
- case 1:
21699
- case "end":
21700
- return _context2.stop();
21701
- }
21702
- }, _callee2, this);
21703
- }));
21704
- function loadFoundation() {
21705
- return _loadFoundation.apply(this, arguments);
21706
- }
21707
- return loadFoundation;
21708
- }()
21709
- /**
21710
- * Load a theme by name
21711
- * @param {string} themeName - Name of theme to load
21712
- */
21713
- )
21714
- }, {
21715
- key: "loadTheme",
21716
- value: (function () {
21717
- var _loadTheme = (0,_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(/*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().mark(function _callee3(themeName) {
21718
- var themeFile, themeLink, _t2;
21719
- return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_3___default().wrap(function (_context3) {
21720
- while (1) switch (_context3.prev = _context3.next) {
21721
- case 0:
21722
- themeFile = this.themes[themeName] || this.themes[DEFAULT_THEME];
21723
- _context3.prev = 1;
21724
- // Create or update theme link
21725
- themeLink = this.linkElements.theme;
21726
- if (!themeLink) {
21727
- themeLink = this.createLinkElement('solid-ui-theme', themeFile);
21728
- document.head.appendChild(themeLink);
21729
- this.linkElements.theme = themeLink;
21730
- } else {
21731
- themeLink.href = this.resolveThemePath(themeFile);
21732
- }
21733
-
21734
- // Wait for theme to load
21735
- _context3.next = 2;
21736
- return this.waitForStylesheet(themeLink);
21737
- case 2:
21738
- // Update state
21739
- this.currentTheme = themeName;
21740
- this.saveTheme(themeName);
21741
-
21742
- // Emit event for listeners
21743
- this.emitThemeChange(themeName);
21744
- _context3.next = 4;
21745
- break;
21746
- case 3:
21747
- _context3.prev = 3;
21748
- _t2 = _context3["catch"](1);
21749
- // eslint-disable-next-line no-console
21750
- console.error("Failed to load theme \"".concat(themeName, "\":"), _t2);
21751
- throw _t2;
21752
- case 4:
21753
- case "end":
21754
- return _context3.stop();
21755
- }
21756
- }, _callee3, this, [[1, 3]]);
21757
- }));
21758
- function loadTheme(_x) {
21759
- return _loadTheme.apply(this, arguments);
21760
- }
21761
- return loadTheme;
21762
- }()
21763
- /**
21764
- * Get list of available themes
21765
- * @returns {Array<{name: string, label: string}>}
21766
- */
21767
- )
21768
- }, {
21769
- key: "getAvailableThemes",
21770
- value: function getAvailableThemes() {
21771
- var _this = this;
21772
- return Object.keys(this.themes).map(function (name) {
21773
- return {
21774
- name: name,
21775
- label: _this.formatThemeName(name)
21776
- };
21777
- });
21778
- }
21779
-
21780
- /**
21781
- * Get currently active theme
21782
- * @returns {string}
21783
- */
21784
- }, {
21785
- key: "getCurrentTheme",
21786
- value: function getCurrentTheme() {
21787
- return this.currentTheme;
21788
- }
21789
-
21790
- /**
21791
- * Create a link element for CSS
21792
- * @private
21793
- */
21794
- }, {
21795
- key: "createLinkElement",
21796
- value: function createLinkElement(id, href) {
21797
- var link = document.createElement('link');
21798
- link.id = id;
21799
- link.rel = 'stylesheet';
21800
- link.href = this.resolveThemePath(href);
21801
- return link;
21802
- }
21803
-
21804
- /**
21805
- * Resolve theme path relative to solid-ui
21806
- * @private
21807
- */
21808
- }, {
21809
- key: "resolveThemePath",
21810
- value: function resolveThemePath(path) {
21811
- // Use webpack public path if available (set by mashlib/build config)
21812
- // eslint-disable-next-line camelcase
21813
- if (true) {
21814
- // eslint-disable-next-line camelcase, no-undef
21815
- return __webpack_require__.p + path;
21816
- }
21817
-
21818
- // Use global base path if set by mashlib
21819
- // removed by dead control flow
21820
-
21821
-
21822
- // Try to find mashlib or solid-ui base path from script tags
21823
- // removed by dead control flow
21824
- var scripts;
21825
- // removed by dead control flow
21826
- var _iterator, _step;
21827
- // removed by dead control flow
21828
- var baseUrl, script;
21829
- // removed by dead control flow
21830
- var origin;
21831
- // removed by dead control flow
21832
-
21833
- }
21834
-
21835
- /**
21836
- * Wait for stylesheet to load
21837
- * @private
21838
- */
21839
- }, {
21840
- key: "waitForStylesheet",
21841
- value: function waitForStylesheet(link) {
21842
- return new Promise(function (resolve, reject) {
21843
- link.onload = function () {
21844
- return resolve();
21845
- };
21846
- link.onerror = function () {
21847
- return reject(new Error("Failed to load: ".concat(link.href)));
21848
- };
21849
-
21850
- // Timeout after 10 seconds
21851
- setTimeout(function () {
21852
- return reject(new Error('Theme load timeout'));
21853
- }, 10000);
21854
- });
21855
- }
21856
-
21857
- /**
21858
- * Get saved theme from localStorage
21859
- * @private
21860
- */
21861
- }, {
21862
- key: "getSavedTheme",
21863
- value: function getSavedTheme() {
21864
- try {
21865
- return localStorage.getItem(STORAGE_KEY) || DEFAULT_THEME;
21866
- } catch (error) {
21867
- return DEFAULT_THEME;
21868
- }
21869
- }
21870
-
21871
- /**
21872
- * Save theme to localStorage
21873
- * @private
21874
- */
21875
- }, {
21876
- key: "saveTheme",
21877
- value: function saveTheme(themeName) {
21878
- try {
21879
- localStorage.setItem(STORAGE_KEY, themeName);
21880
- } catch (error) {
21881
- // eslint-disable-next-line no-console
21882
- console.warn('Failed to save theme preference:', error);
21883
- }
21884
- }
21885
-
21886
- /**
21887
- * Format theme name for display
21888
- * @private
21889
- */
21890
- }, {
21891
- key: "formatThemeName",
21892
- value: function formatThemeName(name) {
21893
- return name.charAt(0).toUpperCase() + name.slice(1);
21894
- }
21895
-
21896
- /**
21897
- * Emit theme change event
21898
- * @private
21899
- */
21900
- }, {
21901
- key: "emitThemeChange",
21902
- value: function emitThemeChange(themeName) {
21903
- var event = new CustomEvent('solid-ui-theme-change', {
21904
- detail: {
21905
- theme: themeName
21906
- }
21907
- });
21908
- window.dispatchEvent(event);
21909
- }
21910
- }]);
21911
- }(); // Create singleton instance
21912
- var themeLoader = new ThemeLoader();
21913
-
21914
- // Auto-initialize on load (can be disabled if manual control needed)
21915
- if (typeof window !== 'undefined') {
21916
- if (document.readyState === 'loading') {
21917
- document.addEventListener('DOMContentLoaded', function () {
21918
- return themeLoader.init();
21919
- });
21920
- } else {
21921
- themeLoader.init();
21922
- }
21923
- }
21924
- /* unused harmony default export */ var __WEBPACK_DEFAULT_EXPORT__ = ((/* unused pure expression or super */ null && (themeLoader)));
21925
-
21926
- /***/ },
21927
-
21928
21512
  /***/ 7800
21929
21513
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
21930
21514
 
@@ -27305,43 +26889,31 @@ function toPropertyKey(t) {
27305
26889
  /******/ };
27306
26890
  /******/ })();
27307
26891
  /******/
27308
- /******/ /* webpack/runtime/publicPath */
27309
- /******/ (() => {
27310
- /******/ var scriptUrl;
27311
- /******/ if (typeof import.meta.url === "string") scriptUrl = import.meta.url
27312
- /******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration
27313
- /******/ // or pass an empty string ("") and set the __webpack_public_path__ variable from your code to use your own logic.
27314
- /******/ if (!scriptUrl) throw new Error("Automatic publicPath is not supported in this browser");
27315
- /******/ scriptUrl = scriptUrl.replace(/^blob:/, "").replace(/#.*$/, "").replace(/\?.*$/, "").replace(/\/[^\/]+$/, "/");
27316
- /******/ __webpack_require__.p = scriptUrl;
27317
- /******/ })();
27318
- /******/
27319
26892
  /************************************************************************/
27320
26893
  var __webpack_exports__ = {};
27321
26894
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
27322
26895
  /* harmony export */ $_: () => (/* reexport safe */ _media_index__WEBPACK_IMPORTED_MODULE_7__.$),
27323
26896
  /* harmony export */ BH: () => (/* reexport module object */ _widgets_forms_autocomplete_language__WEBPACK_IMPORTED_MODULE_4__),
27324
26897
  /* harmony export */ BL: () => (/* reexport safe */ _acl_index__WEBPACK_IMPORTED_MODULE_1__.B),
27325
- /* harmony export */ Iw: () => (/* reexport module object */ _create_types__WEBPACK_IMPORTED_MODULE_22__),
27326
- /* harmony export */ Of: () => (/* reexport safe */ _header__WEBPACK_IMPORTED_MODULE_20__.Of),
26898
+ /* harmony export */ Iw: () => (/* reexport module object */ _create_types__WEBPACK_IMPORTED_MODULE_21__),
26899
+ /* harmony export */ Of: () => (/* reexport safe */ _header__WEBPACK_IMPORTED_MODULE_19__.Of),
27327
26900
  /* harmony export */ Pt: () => (/* reexport safe */ _iconBase__WEBPACK_IMPORTED_MODULE_3__.Pt),
27328
- /* harmony export */ Qs: () => (/* reexport module object */ _widgets_index__WEBPACK_IMPORTED_MODULE_19__),
26901
+ /* harmony export */ Qs: () => (/* reexport module object */ _widgets_index__WEBPACK_IMPORTED_MODULE_18__),
27329
26902
  /* harmony export */ Rm: () => (/* reexport module object */ _log__WEBPACK_IMPORTED_MODULE_5__),
27330
26903
  /* harmony export */ UP: () => (/* reexport safe */ _matrix_index__WEBPACK_IMPORTED_MODULE_6__.U),
27331
- /* harmony export */ Ux: () => (/* reexport safe */ _footer__WEBPACK_IMPORTED_MODULE_21__.Ux),
27332
- /* harmony export */ Wp: () => (/* reexport module object */ _utils__WEBPACK_IMPORTED_MODULE_17__),
26904
+ /* harmony export */ Ux: () => (/* reexport safe */ _footer__WEBPACK_IMPORTED_MODULE_20__.Ux),
26905
+ /* harmony export */ Wp: () => (/* reexport module object */ _utils__WEBPACK_IMPORTED_MODULE_16__),
27333
26906
  /* harmony export */ _f: () => (/* reexport module object */ _participation__WEBPACK_IMPORTED_MODULE_11__),
27334
26907
  /* harmony export */ eV: () => (/* reexport module object */ _pad__WEBPACK_IMPORTED_MODULE_10__),
27335
- /* harmony export */ iD: () => (/* reexport module object */ _login_login__WEBPACK_IMPORTED_MODULE_18__),
26908
+ /* harmony export */ iD: () => (/* reexport module object */ _login_login__WEBPACK_IMPORTED_MODULE_17__),
27336
26909
  /* harmony export */ iF: () => (/* reexport safe */ _style__WEBPACK_IMPORTED_MODULE_13__.i),
27337
26910
  /* harmony export */ ns: () => (/* reexport safe */ _ns__WEBPACK_IMPORTED_MODULE_0__.A),
27338
26911
  /* harmony export */ r5: () => (/* reexport safe */ _chat_infinite__WEBPACK_IMPORTED_MODULE_9__.r5),
27339
- /* harmony export */ rj: () => (/* reexport safe */ _themeLoader__WEBPACK_IMPORTED_MODULE_14__.r),
27340
26912
  /* harmony export */ tT: () => (/* binding */ dom),
27341
- /* harmony export */ tp: () => (/* reexport safe */ _table__WEBPACK_IMPORTED_MODULE_15__.I),
26913
+ /* harmony export */ tp: () => (/* reexport safe */ _table__WEBPACK_IMPORTED_MODULE_14__.I),
27342
26914
  /* harmony export */ um: () => (/* reexport safe */ _acl_index__WEBPACK_IMPORTED_MODULE_1__.u),
27343
26915
  /* harmony export */ vJ: () => (/* reexport module object */ _preferences__WEBPACK_IMPORTED_MODULE_12__),
27344
- /* harmony export */ vR: () => (/* reexport module object */ _tabs__WEBPACK_IMPORTED_MODULE_16__),
26916
+ /* harmony export */ vR: () => (/* reexport module object */ _tabs__WEBPACK_IMPORTED_MODULE_15__),
27345
26917
  /* harmony export */ vV: () => (/* reexport safe */ _messageArea__WEBPACK_IMPORTED_MODULE_8__.v),
27346
26918
  /* harmony export */ vt: () => (/* reexport safe */ _create_index__WEBPACK_IMPORTED_MODULE_2__.v)
27347
26919
  /* harmony export */ });
@@ -27359,52 +26931,51 @@ var __webpack_exports__ = {};
27359
26931
  /* harmony import */ var _participation__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(3605);
27360
26932
  /* harmony import */ var _preferences__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(5148);
27361
26933
  /* harmony import */ var _style__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(675);
27362
- /* harmony import */ var _themeLoader__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(7732);
27363
- /* harmony import */ var _table__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(2174);
27364
- /* harmony import */ var _tabs__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(6670);
27365
- /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(52);
27366
- /* harmony import */ var _login_login__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(967);
27367
- /* harmony import */ var _widgets_index__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(4608);
27368
- /* harmony import */ var _header__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(1648);
27369
- /* harmony import */ var _footer__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(7134);
27370
- /* harmony import */ var _create_types__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(5912);
27371
- /*
27372
- The MIT License (MIT)
27373
-
27374
- Copyright (c) 2015-2016 Solid
27375
-
27376
- Permission is hereby granted, free of charge, to any person obtaining a copy
27377
- of this software and associated documentation files (the "Software"), to deal
27378
- in the Software without restriction, including without limitation the rights
27379
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
27380
- copies of the Software, and to permit persons to whom the Software is
27381
- furnished to do so, subject to the following conditions:
27382
-
27383
- The above copyright notice and this permission notice shall be included in all
27384
- copies or substantial portions of the Software.
27385
-
27386
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
27387
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
27388
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
27389
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
27390
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
27391
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
27392
- SOFTWARE.
27393
-
27394
- If you would like to know more about the solid Solid project, please see
27395
- https://github.com/solidos/solid
26934
+ /* harmony import */ var _table__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(2174);
26935
+ /* harmony import */ var _tabs__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(6670);
26936
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(52);
26937
+ /* harmony import */ var _login_login__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(967);
26938
+ /* harmony import */ var _widgets_index__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(4608);
26939
+ /* harmony import */ var _header__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(1648);
26940
+ /* harmony import */ var _footer__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(7134);
26941
+ /* harmony import */ var _create_types__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(5912);
26942
+ /*
26943
+ The MIT License (MIT)
26944
+
26945
+ Copyright (c) 2015-2016 Solid
26946
+
26947
+ Permission is hereby granted, free of charge, to any person obtaining a copy
26948
+ of this software and associated documentation files (the "Software"), to deal
26949
+ in the Software without restriction, including without limitation the rights
26950
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
26951
+ copies of the Software, and to permit persons to whom the Software is
26952
+ furnished to do so, subject to the following conditions:
26953
+
26954
+ The above copyright notice and this permission notice shall be included in all
26955
+ copies or substantial portions of the Software.
26956
+
26957
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
26958
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
26959
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
26960
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26961
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26962
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26963
+ SOFTWARE.
26964
+
26965
+ If you would like to know more about the solid Solid project, please see
26966
+ https://github.com/solidos/solid
27396
26967
  */
27397
26968
 
27398
26969
 
27399
- /**
27400
- * Provides a Solid client helper object (which exposes various static modules).
27401
- * @module UI.js
27402
- * @main UI.js
26970
+ /**
26971
+ * Provides a Solid client helper object (which exposes various static modules).
26972
+ * @module UI.js
26973
+ * @main UI.js
27403
26974
  */
27404
26975
 
27405
- /**
27406
- * @class UI
27407
- * @static
26976
+ /**
26977
+ * @class UI
26978
+ * @static
27408
26979
  */
27409
26980
 
27410
26981
  // REMOVE @ts-ignore as you migrate files to TypeScript
@@ -27432,8 +27003,6 @@ https://github.com/solidos/solid
27432
27003
 
27433
27004
  // @ts-ignore
27434
27005
 
27435
- // @ts-ignore
27436
-
27437
27006
 
27438
27007
  // @ts-ignore
27439
27008
 
@@ -27451,12 +27020,12 @@ if (typeof window !== 'undefined') {
27451
27020
  acl: _acl_index__WEBPACK_IMPORTED_MODULE_1__/* .acl */ .B,
27452
27021
  aclControl: _acl_index__WEBPACK_IMPORTED_MODULE_1__/* .aclControl */ .u,
27453
27022
  create: _create_index__WEBPACK_IMPORTED_MODULE_2__/* .create */ .v,
27454
- createTypes: _create_types__WEBPACK_IMPORTED_MODULE_22__,
27023
+ createTypes: _create_types__WEBPACK_IMPORTED_MODULE_21__,
27455
27024
  dom: dom,
27456
27025
  icons: _iconBase__WEBPACK_IMPORTED_MODULE_3__/* .icons */ .Pt,
27457
27026
  language: _widgets_forms_autocomplete_language__WEBPACK_IMPORTED_MODULE_4__,
27458
27027
  log: _log__WEBPACK_IMPORTED_MODULE_5__,
27459
- login: _login_login__WEBPACK_IMPORTED_MODULE_18__,
27028
+ login: _login_login__WEBPACK_IMPORTED_MODULE_17__,
27460
27029
  matrix: _matrix_index__WEBPACK_IMPORTED_MODULE_6__/* .matrix */ .U,
27461
27030
  media: _media_index__WEBPACK_IMPORTED_MODULE_7__/* .media */ .$,
27462
27031
  messageArea: _messageArea__WEBPACK_IMPORTED_MODULE_8__/* .messageArea */ .v,
@@ -27465,13 +27034,12 @@ if (typeof window !== 'undefined') {
27465
27034
  participation: _participation__WEBPACK_IMPORTED_MODULE_11__,
27466
27035
  preferences: _preferences__WEBPACK_IMPORTED_MODULE_12__,
27467
27036
  style: _style__WEBPACK_IMPORTED_MODULE_13__/* .style */ .i,
27468
- themeLoader: _themeLoader__WEBPACK_IMPORTED_MODULE_14__/* .themeLoader */ .r,
27469
- table: _table__WEBPACK_IMPORTED_MODULE_15__/* .renderTableViewPane */ .I,
27470
- tabs: _tabs__WEBPACK_IMPORTED_MODULE_16__,
27471
- utils: _utils__WEBPACK_IMPORTED_MODULE_17__,
27472
- widgets: _widgets_index__WEBPACK_IMPORTED_MODULE_19__,
27473
- initHeader: _header__WEBPACK_IMPORTED_MODULE_20__/* .initHeader */ .Of,
27474
- initFooter: _footer__WEBPACK_IMPORTED_MODULE_21__/* .initFooter */ .Ux
27037
+ table: _table__WEBPACK_IMPORTED_MODULE_14__/* .renderTableViewPane */ .I,
27038
+ tabs: _tabs__WEBPACK_IMPORTED_MODULE_15__,
27039
+ utils: _utils__WEBPACK_IMPORTED_MODULE_16__,
27040
+ widgets: _widgets_index__WEBPACK_IMPORTED_MODULE_18__,
27041
+ initHeader: _header__WEBPACK_IMPORTED_MODULE_19__/* .initHeader */ .Of,
27042
+ initFooter: _footer__WEBPACK_IMPORTED_MODULE_20__/* .initFooter */ .Ux
27475
27043
  }; // Simpler access by non-node scripts
27476
27044
  }
27477
27045
 
@@ -27500,9 +27068,8 @@ const __webpack_exports__preferences = __webpack_exports__.vJ;
27500
27068
  const __webpack_exports__style = __webpack_exports__.iF;
27501
27069
  const __webpack_exports__table = __webpack_exports__.tp;
27502
27070
  const __webpack_exports__tabs = __webpack_exports__.vR;
27503
- const __webpack_exports__themeLoader = __webpack_exports__.rj;
27504
27071
  const __webpack_exports__utils = __webpack_exports__.Wp;
27505
27072
  const __webpack_exports__widgets = __webpack_exports__.Qs;
27506
- export { __webpack_exports__acl as acl, __webpack_exports__aclControl as aclControl, __webpack_exports__create as create, __webpack_exports__createTypes as createTypes, __webpack_exports__dom as dom, __webpack_exports__icons as icons, __webpack_exports__infiniteMessageArea as infiniteMessageArea, __webpack_exports__initFooter as initFooter, __webpack_exports__initHeader as initHeader, __webpack_exports__language as language, __webpack_exports__log as log, __webpack_exports__login as login, __webpack_exports__matrix as matrix, __webpack_exports__media as media, __webpack_exports__messageArea as messageArea, __webpack_exports__ns as ns, __webpack_exports__pad as pad, __webpack_exports__participation as participation, __webpack_exports__preferences as preferences, __webpack_exports__style as style, __webpack_exports__table as table, __webpack_exports__tabs as tabs, __webpack_exports__themeLoader as themeLoader, __webpack_exports__utils as utils, __webpack_exports__widgets as widgets };
27073
+ export { __webpack_exports__acl as acl, __webpack_exports__aclControl as aclControl, __webpack_exports__create as create, __webpack_exports__createTypes as createTypes, __webpack_exports__dom as dom, __webpack_exports__icons as icons, __webpack_exports__infiniteMessageArea as infiniteMessageArea, __webpack_exports__initFooter as initFooter, __webpack_exports__initHeader as initHeader, __webpack_exports__language as language, __webpack_exports__log as log, __webpack_exports__login as login, __webpack_exports__matrix as matrix, __webpack_exports__media as media, __webpack_exports__messageArea as messageArea, __webpack_exports__ns as ns, __webpack_exports__pad as pad, __webpack_exports__participation as participation, __webpack_exports__preferences as preferences, __webpack_exports__style as style, __webpack_exports__table as table, __webpack_exports__tabs as tabs, __webpack_exports__utils as utils, __webpack_exports__widgets as widgets };
27507
27074
 
27508
27075
  //# sourceMappingURL=solid-ui.esm.js.map