solid-ui 3.0.1-27039d9 → 3.0.1-278075f

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/solid-ui.js CHANGED
@@ -1044,11 +1044,6 @@ module.exports = _regenerator, module.exports.__esModule = true, module.exports[
1044
1044
  /******/ };
1045
1045
  /******/ })();
1046
1046
  /******/
1047
- /******/ /* webpack/runtime/publicPath */
1048
- /******/ (() => {
1049
- /******/ __webpack_require__.p = "";
1050
- /******/ })();
1051
- /******/
1052
1047
  /************************************************************************/
1053
1048
  var __webpack_exports__ = {};
1054
1049
  // This entry needs to be wrapped in an IIFE because it needs to be in strict mode.
@@ -1081,7 +1076,6 @@ __webpack_require__.d(__webpack_exports__, {
1081
1076
  style: () => (/* reexport */ style),
1082
1077
  table: () => (/* reexport */ renderTableViewPane),
1083
1078
  tabs: () => (/* reexport */ tabs_namespaceObject),
1084
- themeLoader: () => (/* reexport */ themeLoader),
1085
1079
  utils: () => (/* reexport */ utils_namespaceObject),
1086
1080
  widgets: () => (/* reexport */ widgets_namespaceObject)
1087
1081
  });
@@ -2279,17 +2273,6 @@ function _slicedToArray(r, e) {
2279
2273
 
2280
2274
  // EXTERNAL MODULE: ./node_modules/mime-types/index.js
2281
2275
  var mime_types = __webpack_require__(49);
2282
- ;// ./node_modules/@babel/runtime/helpers/esm/defineProperty.js
2283
-
2284
- function _defineProperty(e, r, t) {
2285
- return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
2286
- value: t,
2287
- enumerable: !0,
2288
- configurable: !0,
2289
- writable: !0
2290
- }) : e[r] = t, e;
2291
- }
2292
-
2293
2276
  ;// ./src/styleConstants.js
2294
2277
  /* harmony default export */ const styleConstants = ({
2295
2278
  highlightColor: '#7C4DFF',
@@ -2320,70 +2303,152 @@ function _defineProperty(e, r, t) {
2320
2303
  basicMaxLength: '4096'
2321
2304
  });
2322
2305
  ;// ./src/style.js
2323
-
2324
- var _style;
2325
2306
  // Common readable consistent stylesheet
2326
2307
  // to avoid using style sheets which are document-global
2327
2308
  // and make programmable style toggling with selection, drag over, etc easier
2328
2309
  // These must all end with semicolon so they can be appended to.
2329
- //
2330
- // PHASE 1: Hybrid mode - CSS variables with fallbacks
2331
- // CSS variables (--sui-*) are provided by themes/foundation/variables.css
2332
- // Fallback values preserve original appearance when themes aren't loaded
2333
2310
 
2334
2311
 
2335
- var style = (_style = {
2312
+ var style = {
2336
2313
  // styleModule
2337
2314
 
2338
- checkboxStyle: 'color: var(--sui-text, black); font-size: 100%; padding-left: 0.5em; padding-right: 0.5em;',
2339
- 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;',
2340
- fieldLabelStyle: 'color: var(--sui-text-link, #3B5998); text-decoration: none;',
2341
- 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);',
2342
- 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);',
2315
+ checkboxStyle: 'color: black; font-size: 100%; padding-left: 0.5 em; padding-right: 0.5 em;',
2316
+ checkboxInputStyle: 'font-size: 150%; height: 1.2em; width: 1.2em; background-color: #eef; border-radius:0.2em; margin: 0.1em;',
2317
+ fieldLabelStyle: 'color: #3B5998; text-decoration: none;',
2318
+ formSelectStyle: 'background-color: #eef; padding: 0.5em; border: .05em solid #88c; border-radius:0.2em; font-size: 100%; margin:0.4em;',
2319
+ textInputStyle: 'background-color: #eef; padding: 0.5em; border: .05em solid #88c; border-radius:0.2em; font-size: 100%; margin:0.4em;',
2343
2320
  textInputStyleUneditable:
2344
2321
  // Color difference only
2345
- '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);',
2346
- 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);',
2347
- commentStyle: 'padding: var(--sui-button-padding, 0.7em); border: none; font-size: 100%; white-space: pre-wrap;',
2348
- 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);',
2349
- smallButtonStyle: 'margin: 0.2em; width: 1em; height: 1em;',
2350
- 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;',
2351
- 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);',
2352
- 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;',
2353
- pendingeditModifier: 'color: var(--sui-text-muted, #bbb);',
2322
+ 'background-color: white; padding: 0.5em; border: .05em solid white; border-radius:0.2em; font-size: 100%; margin:0.4em;',
2323
+ buttonStyle: 'background-color: #fff; padding: 0.7em; border: .01em solid white; border-radius:0.2em; font-size: 100%; margin: 0.3em;',
2324
+ // 'background-color: #eef;
2325
+ commentStyle: 'padding: 0.7em; border: none; font-size: 100%; white-space: pre-wrap;',
2326
+ iconStyle: 'width: 3em; height: 3em; margin: 0.1em; border-radius: 1em;',
2327
+ smallButtonStyle: 'margin: 0.2em; width: 1em; height:1em;',
2328
+ classIconStyle: 'width: 3em; height: 3em; margin: 0.1em; border-radius: 0.2em; border: 0.1em solid green; padding: 0.2em; background-color: #efe;',
2329
+ // combine with buttonStyle
2330
+ confirmPopupStyle: 'padding: 0.7em; border-radius: 0.2em; border: 0.1em solid orange; background-color: white; box-shadow: 0.5em 0.9em #888;',
2331
+ 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;',
2332
+ pendingeditModifier: 'color: #bbb;',
2354
2333
  // Contacts
2355
- personaBarStyle: 'width: 100%; height: 4em; background-color: var(--sui-bg-hover, #eee); vertical-align: middle;',
2356
- 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;',
2357
- autocompleteRowStyle: 'border: 0.2em solid var(--sui-warning, straw);',
2334
+ personaBarStyle: 'width: 100%; height: 4em; background-color: #eee; vertical-align: middle;',
2335
+ searchInputStyle: 'border: 0.1em solid #444; border-radius: 0.2em; width: 100%; font-size: 100%; padding: 0.1em 0.6em; margin 0.2em;',
2336
+ autocompleteRowStyle: 'border: 0.2em solid straw;',
2358
2337
  // Login buttons
2359
- signInAndUpButtonStyle: 'padding: 1em; border-radius: var(--sui-border-radius-sm, 0.2em); font-size: 100%;',
2360
- headerBannerLoginInput: 'margin: 0.75em 0 0.75em 0.5em !important; padding: var(--sui-input-padding, 0.5em) !important;',
2361
- signUpBackground: 'background-color: var(--sui-bg-input, #eef);',
2362
- signInBackground: 'background-color: var(--sui-bg-active, #efe);',
2338
+ signInAndUpButtonStyle: 'padding: 1em; border-radius:0.2em; font-size: 100%;',
2339
+ // was 0.5em radius
2340
+ headerBannerLoginInput: 'margin: 0.75em 0 0.75em 0.5em !important; padding: 0.5em !important;',
2341
+ signUpBackground: 'background-color: #eef;',
2342
+ signInBackground: 'background-color: #efe;',
2363
2343
  // Forms
2364
- heading1Style: 'font-size: 180%; font-weight: bold; color: var(--sui-primary, #7C4DFF); padding: var(--sui-space-sm, 0.5em); margin: 0.7em 0;',
2365
- heading2Style: 'font-size: 130%; font-weight: bold; color: var(--sui-primary, #7C4DFF); padding: 0.4em; margin: 0.7em 0;',
2366
- heading3Style: 'font-size: 120%; font-weight: bold; color: var(--sui-primary, #7C4DFF); padding: 0.3em; margin: 0.7em 0;',
2367
- heading4Style: 'font-size: 110%; font-weight: bold; color: var(--sui-primary, #7C4DFF); padding: 0.2em; margin: 0.7em 0;',
2368
- formHeadingStyle: 'font-size: 110%; font-weight: bold; color: var(--sui-primary, #7C4DFF); padding: 0.2em; margin: 0.7em 0;',
2344
+ heading1Style: 'font-size: 180%; font-weight: bold; color: #888888; padding: 0.5em; margin: 0.7em 0.0m;',
2345
+ // originally was brown; now grey
2346
+ heading2Style: 'font-size: 130%; font-weight: bold; color: #888888; padding: 0.4em; margin: 0.7em 0.0em;',
2347
+ // originally was brown; now grey
2348
+ heading3Style: 'font-size: 120%; font-weight: bold; color: #888888; padding: 0.3em; margin: 0.7em 0.0em;',
2349
+ // For example, in large forms or before a small form
2350
+ heading4Style: 'font-size: 110%; font-weight: bold; color: #888888; padding: 0.2em; margin: 0.7em 0.0em;',
2351
+ // Lowest level used by default in small things
2352
+
2353
+ formHeadingStyle: 'font-size: 110%; font-weight: bold; color: #888888; padding: 0.2em; margin: 0.7em 0.0em;',
2354
+ // originally was brown; now grey
2369
2355
  formTextInput: 'font-size: 100%; margin: 0.1em; padding: 0.1em;',
2370
- formGroupStyle: ["padding-left: 0; border: 0 solid var(--sui-form-border-color, ".concat(styleConstants.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.formBorderColor, "); border-radius: var(--sui-border-radius-sm, 0.2em);"), "padding-left: 2em; border: 0.1em solid var(--sui-form-border-color, ".concat(styleConstants.formBorderColor, "); border-radius: var(--sui-border-radius-sm, 0.2em);"), "padding-left: 2em; border: 0.2em solid var(--sui-form-border-color, ".concat(styleConstants.formBorderColor, "); border-radius: var(--sui-border-radius-sm, 0.2em);")],
2371
- formFieldLabelStyle: "color: var(--sui-text-link, ".concat(styleConstants.lowProfileLinkColor, "); text-decoration: none;"),
2372
- formFieldNameBoxStyle: "padding: 0.3em; vertical-align: middle; width: ".concat(styleConstants.formFieldNameBoxWidth, ";"),
2373
- 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;',
2374
- // Panes
2375
- 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);',
2376
- 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);',
2377
- 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);',
2378
- 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);',
2356
+ // originally used this
2357
+ formGroupStyle: ["padding-left: 0em; border: 0.0em solid ".concat(styleConstants.formBorderColor, "; border-radius: 0.2em;"), // weight 0
2358
+ "padding-left: 2em; border: 0.05em solid ".concat(styleConstants.formBorderColor, "; border-radius: 0.2em;"), "padding-left: 2em; border: 0.1em solid ".concat(styleConstants.formBorderColor, "; border-radius: 0.2em;"), "padding-left: 2em; border: 0.2em solid ".concat(styleConstants.formBorderColor, "; border-radius: 0.2em;") // @@ pink
2359
+ ],
2360
+ formFieldLabelStyle: "color: ".concat(styleConstants.lowProfileLinkColor, "; text-decoration: none;"),
2361
+ formFieldNameBoxStyle: "padding: 0.3em; vertical-align: middle; width:".concat(styleConstants.formFieldNameBoxWidth, ";"),
2362
+ multilineTextInputStyle: 'font-size:100%; white-space: pre-wrap; background-color: #eef;' + ' border: 0.07em solid gray; padding: 1em 0.5em; margin: 1em 1em;',
2379
2363
  // Buttons
2380
- renderAsDivStyle: 'display: flex; align-items: center; justify-content: space-between; height: var(--sui-avatar-size, 2.5em); padding: 1em;',
2381
- imageDivStyle: 'width: var(--sui-avatar-size, 2.5em); padding: 0.5em; height: var(--sui-avatar-size, 2.5em);',
2382
- linkDivStyle: 'width: var(--sui-icon-size, 2em); padding: 0.5em; height: 4em;',
2364
+ renderAsDivStyle: 'display: flex; align-items: center; justify-content: space-between; height: 2.5em; padding: 1em;',
2365
+ imageDivStyle: 'width:2.5em; padding:0.5em; height: 2.5em;',
2366
+ linkDivStyle: 'width:2em; padding:0.5em; height: 4em;',
2383
2367
  // ACL
2384
2368
  aclControlBoxContainer: 'margin: 1em;',
2385
- aclControlBoxHeader: 'font-size: var(--sui-space-md, 1em);'
2386
- }, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_style, "aclControlBoxHeader", 'font-size: 120%; margin: 0 0 1rem;'), "aclControlBoxStatus", 'display: none; margin: 1rem 0;'), "aclControlBoxStatusRevealed", 'display: block;'), "aclGroupContent", 'maxWidth: 650;'), "accessGroupList", 'display: grid; grid-template-columns: 1fr; margin: var(--sui-space-md, 1em); width: 100%;'), "accessGroupListItem", 'display: grid; grid-template-columns: 100px auto 30%;'), "defaultsController", 'display: flex;'), "defaultsControllerNotice", 'color: var(--sui-text-muted, #888); flexGrow: 1; fontSize: 80%;'), "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);'), "group", 'color: var(--sui-group-default, #888);'), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_style, "group1", 'color: var(--sui-group-1, green);'), "group2", 'color: var(--sui-group-2, #cc0);'), "group3", 'color: var(--sui-group-3, orange);'), "group5", 'color: var(--sui-group-5, red);'), "group9", 'color: var(--sui-group-9, blue);'), "group13", 'color: var(--sui-group-13, purple);'), "trustedAppAddApplicationsTable", 'background-color: var(--sui-bg-panel, #eee);'), "trustedAppCancelButton", 'float: right;'), "trustedAppControllerI", 'border-color: var(--sui-warning, orange); border-radius: var(--sui-border-radius-lg, 1em); border-width: 0.1em;'), "temporaryStatusInit", 'background: var(--sui-success, green);'), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_style, "temporaryStatusEnd", 'background: transparent; transition: background 5s linear;'), "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;'), "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%));'), "headerUserMenuTrigger", 'background: none; border: 0; cursor: pointer; width: var(--sui-header-height, 60px); height: var(--sui-header-height, 60px);'), "headerUserMenuTriggerImg", 'border-radius: var(--sui-border-radius-full, 50%); height: 56px; width: 28px !important;'), "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%;'), "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%));'), "headerUserMenuList", 'list-style: none; margin: 0; padding: 0;'), "headerUserMenuListDisplay", 'list-style: none; margin: 0; padding: 0; display:true;'), "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;'), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_style, "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;'), "headerUserMenuListItem", 'border-bottom: solid 1px var(--sui-text, #000000);'), "headerUserMenuPhoto", 'border-radius: var(--sui-border-radius-full, 50%); background-position: center; background-repeat: no-repeat; background-size: cover; height: 50px; width: 50px;'), "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);'), "headerBannerRightMenu", 'display: flex;'), "headerBannerLogin", 'margin-left: auto;'), "allChildrenVisible", 'display: true;'), "headerBannerUserMenu", 'border-left: solid 1px var(--sui-text, #000000); margin-left: auto;'), "headerBannerHelpMenu", 'border-left: solid 1px var(--sui-text, #000000); margin-left: auto;'), "headerBannerIcon", 'background-size: 65px var(--sui-header-height, 60px) !important; height: var(--sui-header-height, 60px) !important; width: 65px !important;'), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_style, "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);'), "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;'), "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;'), "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;'), "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;'), "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;'), "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;'), "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;'), "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;'), "controlStyle", "border-radius: var(--sui-border-radius, 0.5em); margin: 0.8em; width: ".concat(styleConstants.mediaModuleCanvasWidth, "; height: ").concat(styleConstants.mediaModuleCanvasHeight, ";")), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_style, "dragEvent", 'background-color: var(--sui-bg-hover, #ccc); border: 0.25em dashed var(--sui-text, black); border-radius: var(--sui-border-radius, 0.3em);'), "dropEvent", 'background-color: var(--sui-bg-panel, white); border: 0 solid var(--sui-text, black);'), "restoreStyle", 'background-color: var(--sui-bg-panel, white);'), "errorCancelButton", 'width: var(--sui-icon-size, 2em); height: var(--sui-icon-size, 2em); align: right;'), "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);'), "notepadStyle", 'padding: var(--sui-space-md, 1em); overflow: auto; resize: horizontal; min-width: 40em;'), "upstreamStatus", 'width: 50%;'), "downstreamStatus", 'width: 50%;'), "baseStyle", 'font-size: 100%; font-family: var(--sui-font-family-mono, monospace); width: 100%; border: none; white-space: pre-wrap;'), "headingCore", 'font-family: var(--sui-font-family, sans-serif); font-weight: bold; border: none;'), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_style, "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%;']), "participantsStyle", 'margin: 0.8em;'), "participantsBlock", 'height: 1.5em; width: 1.5em; margin: 0.3em; border: 0.01em solid var(--sui-border-color-dark, #888);'), "personTableTD", 'vertical-align: middle;'), "tabsNavElement", 'margin: 0;'), "tabsRootElement", 'display: flex; height: 100%; width: 100%;'), "tabsMainElement", 'margin: 0; width: 100%; height: 100%;'), "tabContainer", 'list-style-type: none; display: flex; height: 100%; width: 100%; margin: 0; padding: 0;'), "makeNewSlot", 'background: none; border: none; font: inherit; cursor: pointer;'), "ellipsis", 'position: absolute; right: 0; bottom: 0; width: 20%; background: none; color: inherit; border: none; padding: 0; font: inherit; cursor: pointer; outline: inherit;'));
2369
+ aclControlBoxHeader: 'font-size: 120%; margin: 0 0 1rem;',
2370
+ aclControlBoxStatus: 'display: none; margin: 1rem 0;',
2371
+ aclControlBoxStatusRevealed: 'display: block;',
2372
+ aclGroupContent: 'maxWidth: 650;',
2373
+ accessGroupList: 'display: grid; grid-template-columns: 1fr; margin: 1em; width: 100%;',
2374
+ accessGroupListItem: 'display: grid; grid-template-columns: 100px auto 30%;',
2375
+ defaultsController: 'display: flex;',
2376
+ defaultsControllerNotice: 'color: #888; flexGrow: 1; fontSize: 80%;',
2377
+ bigButton: 'background-color: white; border: 0.1em solid #888; border-radius: 0.3em; max-width: 50%; padding-bottom: 1em; padding-top: 1em;',
2378
+ group: 'color: #888;',
2379
+ group1: 'color: green;',
2380
+ group2: 'color: #cc0;',
2381
+ group3: 'color: orange;',
2382
+ group5: 'color: red;',
2383
+ group9: 'color: blue;',
2384
+ group13: 'color: purple;',
2385
+ trustedAppAddApplicationsTable: 'background-color: #eee;',
2386
+ trustedAppCancelButton: 'float: right;',
2387
+ trustedAppControllerI: 'border-color: orange; border-radius: 1em; border-width: 0.1em;',
2388
+ temporaryStatusInit: 'background: green;',
2389
+ temporaryStatusEnd: 'background: transparent; transition: background 5s linear;',
2390
+ // header
2391
+ 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;',
2392
+ 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%);',
2393
+ headerUserMenuTrigger: 'background: none; border: 0; cursor: pointer; width: 60px; height: 60px;',
2394
+ headerUserMenuTriggerImg: 'border-radius: 50%; height: 56px; width: 28px !important;',
2395
+ headerUserMenuButton: 'background: none; border: 0; color: black; cursor: pointer; display: block; font-family: Arial; font-size: 1em; text-align: left; padding: 1em; width: 100%;',
2396
+ 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%);',
2397
+ headerUserMenuList: 'list-style: none; margin: 0; padding: 0;',
2398
+ headerUserMenuListDisplay: 'list-style: none; margin: 0; padding: 0; display:true;',
2399
+ headerUserMenuNavigationMenu: 'background: white; border: solid 1px #000000; border-right: 0; position: absolute; right: 0; top: 60px; width: 200px; z-index: 1; display: true;',
2400
+ headerUserMenuNavigationMenuNotDisplayed: 'background: white; border: solid 1px #000000; border-right: 0; position: absolute; right: 0; top: 60px; width: 200px; z-index: 1; display: none;',
2401
+ headerUserMenuListItem: 'border-bottom: solid 1px #000000;',
2402
+ headerUserMenuPhoto: 'border-radius: 50%; background-position: center; background-repeat: no-repeat; background-size: cover; height: 50px; width: 50px;',
2403
+ headerBanner: 'box-shadow: 0px 1px 4px #000000; display: flex; justify-content: space-between; padding: 0 1.5em; margin-bottom: 4px;',
2404
+ headerBannerLink: 'display: block;',
2405
+ headerBannerRightMenu: 'display: flex;',
2406
+ headerBannerLogin: 'margin-left: auto;',
2407
+ allChildrenVisible: 'display:true;',
2408
+ headerBannerUserMenu: 'border-left: solid 1px #000000; margin-left: auto;',
2409
+ headerBannerHelpMenu: 'border-left: solid 1px #000000; margin-left: auto;',
2410
+ headerBannerIcon: 'background-size: 65px 60px !important; height: 60px !important; width: 65px !important;',
2411
+ // may just be 65px round($icon-size * 352 / 322);
2412
+
2413
+ // footer
2414
+ footer: 'border-top: solid 1px $divider-color; font-size: 0.9em; padding: 0.5em 1.5em;',
2415
+ // buttons
2416
+ 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;',
2417
+ 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;',
2418
+ 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;',
2419
+ 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;',
2420
+ 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;',
2421
+ 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;',
2422
+ 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;',
2423
+ 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;',
2424
+ // media
2425
+ controlStyle: "border-radius: 0.5em; margin: 0.8em; width:".concat(styleConstants.mediaModuleCanvasWidth, "; height:").concat(styleConstants.mediaModuleCanvasHeight, ";"),
2426
+ // dragAndDrop
2427
+ dragEvent: 'background-color: #ccc; border: 0.25em dashed black; border-radius: 0.3em;',
2428
+ dropEvent: 'background-color: white; border: 0em solid black;',
2429
+ restoreStyle: 'background-color: white;',
2430
+ // errors
2431
+ errorCancelButton: 'width: 2em; height: 2em; align: right;',
2432
+ errorMessageBlockStyle: 'margin: 0.1em; padding: 0.5em; border: 0.05em solid gray; color:black;',
2433
+ // pad
2434
+ notepadStyle: 'padding: 1em; overflow: auto; resize: horizontal; min-width: 40em;',
2435
+ upstreamStatus: 'width: 50%;',
2436
+ downstreamStatus: 'width: 50%;',
2437
+ baseStyle: 'font-size: 100%; font-family: monospace; width: 100%; border: none; white-space: pre-wrap;',
2438
+ headingCore: 'font-family: sans-serif; font-weight: bold; border: none;',
2439
+ 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%;'],
2440
+ // participation
2441
+ participantsStyle: 'margin: 0.8em;',
2442
+ participantsBlock: 'height: 1.5em; width: 1.5em; margin: 0.3em; border 0.01em solid #888;',
2443
+ personTableTD: 'vertical-align: middle;',
2444
+ // tabs
2445
+ tabsNavElement: 'margin: 0;',
2446
+ tabsRootElement: 'display: flex; height: 100%; width: 100%;',
2447
+ tabsMainElement: 'margin: 0; width:100%; height: 100%;',
2448
+ tabContainer: 'list-style-type: none; display: flex; height: 100%; width: 100%; margin: 0; padding: 0;',
2449
+ makeNewSlot: 'background: none; border: none; font: inherit; cursor: pointer;',
2450
+ ellipsis: 'position: absolute; right: 0; bottom: 0; width: 20%; background: none; color: inherit; border: none; padding: 0; font: inherit; cursor: pointer; outline: inherit;'
2451
+ };
2387
2452
  style.setStyle = function setStyle(ele, styleName) {
2388
2453
  ele.style = style[styleName];
2389
2454
  };
@@ -3205,7 +3270,7 @@ var createLinkForURI = function createLinkForURI(dom, linkDiv, obj) {
3205
3270
  linkDiv.appendChild(dom.createElement('br'));
3206
3271
  };
3207
3272
  ;// ./src/widgets/buttons.ts
3208
- /* Buttons
3273
+ /* Buttons
3209
3274
  */
3210
3275
 
3211
3276
 
@@ -3220,9 +3285,9 @@ var createLinkForURI = function createLinkForURI(dom, linkDiv, obj) {
3220
3285
 
3221
3286
 
3222
3287
 
3223
- /**
3224
- * UI Widgets such as buttons
3225
- * @packageDocumentation
3288
+ /**
3289
+ * UI Widgets such as buttons
3290
+ * @packageDocumentation
3226
3291
  */
3227
3292
 
3228
3293
  /* global alert */
@@ -3250,8 +3315,8 @@ function getStatusArea(context) {
3250
3315
  return null;
3251
3316
  }
3252
3317
 
3253
- /**
3254
- * Display an error message block
3318
+ /**
3319
+ * Display an error message block
3255
3320
  */
3256
3321
  function complain(context, err) {
3257
3322
  if (!err) return; // only if error
@@ -3260,8 +3325,8 @@ function complain(context, err) {
3260
3325
  if (ele) ele.appendChild(errorMessageBlock(context && context.dom || document, err));else alert(err);
3261
3326
  }
3262
3327
 
3263
- /**
3264
- * Remove all the children of an HTML element
3328
+ /**
3329
+ * Remove all the children of an HTML element
3265
3330
  */
3266
3331
  function clearElement(ele) {
3267
3332
  while (ele.firstChild) {
@@ -3270,8 +3335,8 @@ function clearElement(ele) {
3270
3335
  return ele;
3271
3336
  }
3272
3337
 
3273
- /**
3274
- * To figure out the log URI from the full URI used to invoke the reasoner
3338
+ /**
3339
+ * To figure out the log URI from the full URI used to invoke the reasoner
3275
3340
  */
3276
3341
  function extractLogURI(fullURI) {
3277
3342
  var logPos = fullURI.search(/logFile=/);
@@ -3279,11 +3344,11 @@ function extractLogURI(fullURI) {
3279
3344
  return fullURI.substring(logPos + 8, rulPos);
3280
3345
  }
3281
3346
 
3282
- /**
3283
- * By default, converts e.g. '2020-02-19T19:35:28.557Z' to '19:35'
3284
- * if today is 19 Feb 2020, and to 'Feb 19' if not.
3285
- * @@@ TODO This needs to be changed to local time
3286
- * @param noTime Return a string like 'Feb 19' even if it's today.
3347
+ /**
3348
+ * By default, converts e.g. '2020-02-19T19:35:28.557Z' to '19:35'
3349
+ * if today is 19 Feb 2020, and to 'Feb 19' if not.
3350
+ * @@@ TODO This needs to be changed to local time
3351
+ * @param noTime Return a string like 'Feb 19' even if it's today.
3287
3352
  */
3288
3353
  function shortDate(str, noTime) {
3289
3354
  if (!str) return '???';
@@ -3304,11 +3369,11 @@ function shortDate(str, noTime) {
3304
3369
  }
3305
3370
  }
3306
3371
 
3307
- /**
3308
- * Format a date and time
3309
- * @param date for instance `new Date()`
3310
- * @param format for instance '{FullYear}-{Month}-{Date}T{Hours}:{Minutes}:{Seconds}.{Milliseconds}'
3311
- * @returns for instance '2000-01-15T23:14:23.002'
3372
+ /**
3373
+ * Format a date and time
3374
+ * @param date for instance `new Date()`
3375
+ * @param format for instance '{FullYear}-{Month}-{Date}T{Hours}:{Minutes}:{Seconds}.{Milliseconds}'
3376
+ * @returns for instance '2000-01-15T23:14:23.002'
3312
3377
  */
3313
3378
  function formatDateTime(date, format) {
3314
3379
  return format.split('{').map(function (s) {
@@ -3324,17 +3389,17 @@ function formatDateTime(date, format) {
3324
3389
  }).join('');
3325
3390
  }
3326
3391
 
3327
- /**
3328
- * Get a string representation of the current time
3329
- * @returns for instance '2000-01-15T23:14:23.002'
3392
+ /**
3393
+ * Get a string representation of the current time
3394
+ * @returns for instance '2000-01-15T23:14:23.002'
3330
3395
  */
3331
3396
  function timestamp() {
3332
3397
  return formatDateTime(new Date(), '{FullYear}-{Month}-{Date}T{Hours}:{Minutes}:{Seconds}.{Milliseconds}');
3333
3398
  }
3334
3399
 
3335
- /**
3336
- * Get a short string representation of the current time
3337
- * @returns for instance '23:14:23.002'
3400
+ /**
3401
+ * Get a short string representation of the current time
3402
+ * @returns for instance '23:14:23.002'
3338
3403
  */
3339
3404
  function shortTime() {
3340
3405
  return formatDateTime(new Date(), '{Hours}:{Minutes}:{Seconds}.{Milliseconds}');
@@ -3342,8 +3407,8 @@ function shortTime() {
3342
3407
 
3343
3408
  // ///////////////////// Handy UX widgets
3344
3409
 
3345
- /**
3346
- * Sets the best name we have and looks up a better one
3410
+ /**
3411
+ * Sets the best name we have and looks up a better one
3347
3412
  */
3348
3413
  function setName(element, x) {
3349
3414
  var kb = external_SolidLogic_.store;
@@ -3364,29 +3429,29 @@ function setName(element, x) {
3364
3429
  }
3365
3430
  }
3366
3431
 
3367
- /**
3368
- * Set of suitable images
3369
- * See also [[findImage]]
3370
- * @param x The thing for which we want to find an image
3371
- * @param kb The RDF store to look in
3372
- * @returns It goes looking for triples in `kb`,
3373
- * `(subject: x), (predicate: see list below) (object: image-url)`
3374
- * to find any image linked from the thing with one of the following
3375
- * predicates (in order):
3376
- * * ns.sioc('avatar')
3377
- * * ns.foaf('img')
3378
- * * ns.vcard('logo')
3379
- * * ns.vcard('hasPhoto')
3380
- * * ns.vcard('photo')
3381
- * * ns.foaf('depiction')
3382
-
3432
+ /**
3433
+ * Set of suitable images
3434
+ * See also [[findImage]]
3435
+ * @param x The thing for which we want to find an image
3436
+ * @param kb The RDF store to look in
3437
+ * @returns It goes looking for triples in `kb`,
3438
+ * `(subject: x), (predicate: see list below) (object: image-url)`
3439
+ * to find any image linked from the thing with one of the following
3440
+ * predicates (in order):
3441
+ * * ns.sioc('avatar')
3442
+ * * ns.foaf('img')
3443
+ * * ns.vcard('logo')
3444
+ * * ns.vcard('hasPhoto')
3445
+ * * ns.vcard('photo')
3446
+ * * ns.foaf('depiction')
3447
+
3383
3448
  */
3384
3449
  function imagesOf(x, kb) {
3385
3450
  return kb.each(x, src_ns.sioc('avatar')).concat(kb.each(x, src_ns.foaf('img'))).concat(kb.each(x, src_ns.vcard('logo'))).concat(kb.each(x, src_ns.vcard('hasPhoto'))).concat(kb.each(x, src_ns.vcard('photo'))).concat(kb.each(x, src_ns.foaf('depiction')));
3386
3451
  }
3387
3452
 
3388
- /**
3389
- * Best logo or avatar or photo etc to represent someone or some group etc
3453
+ /**
3454
+ * Best logo or avatar or photo etc to represent someone or some group etc
3390
3455
  */
3391
3456
  var iconForClass = {
3392
3457
  // Potentially extendable by other apps, panes, etc
@@ -3421,8 +3486,8 @@ var iconForClass = {
3421
3486
  'wf:Closed': 'noun_17020.svg'
3422
3487
  };
3423
3488
 
3424
- /**
3425
- * Returns the origin of the URI of a NamedNode
3489
+ /**
3490
+ * Returns the origin of the URI of a NamedNode
3426
3491
  */
3427
3492
  function tempSite(x) {
3428
3493
  // use only while one in rdflib fails with origins 2019
@@ -3438,8 +3503,8 @@ function tempSite(x) {
3438
3503
  }
3439
3504
  }
3440
3505
 
3441
- /**
3442
- * Find an image for this thing as a class
3506
+ /**
3507
+ * Find an image for this thing as a class
3443
3508
  */
3444
3509
  function findImageFromURI(x) {
3445
3510
  var iconDir = buttons_iconBase;
@@ -3469,22 +3534,22 @@ function findImageFromURI(x) {
3469
3534
  return iconDir + 'noun_10636_grey.svg'; // Grey Circle - some thing
3470
3535
  }
3471
3536
 
3472
- /**
3473
- * Find something we have as explicit image data for the thing
3474
- * See also [[imagesOf]]
3475
- * @param thing The thing for which we want to find an image
3476
- * @returns The URL of a globe icon if thing equals `ns.foaf('Agent')`
3477
- * or `ns.rdf('Resource')`. Otherwise, it goes looking for
3478
- * triples in `store`,
3479
- * `(subject: thing), (predicate: see list below) (object: image-url)`
3480
- * to find any image linked from the thing with one of the following
3481
- * predicates (in order):
3482
- * * ns.sioc('avatar')
3483
- * * ns.foaf('img')
3484
- * * ns.vcard('logo')
3485
- * * ns.vcard('hasPhoto')
3486
- * * ns.vcard('photo')
3487
- * * ns.foaf('depiction')
3537
+ /**
3538
+ * Find something we have as explicit image data for the thing
3539
+ * See also [[imagesOf]]
3540
+ * @param thing The thing for which we want to find an image
3541
+ * @returns The URL of a globe icon if thing equals `ns.foaf('Agent')`
3542
+ * or `ns.rdf('Resource')`. Otherwise, it goes looking for
3543
+ * triples in `store`,
3544
+ * `(subject: thing), (predicate: see list below) (object: image-url)`
3545
+ * to find any image linked from the thing with one of the following
3546
+ * predicates (in order):
3547
+ * * ns.sioc('avatar')
3548
+ * * ns.foaf('img')
3549
+ * * ns.vcard('logo')
3550
+ * * ns.vcard('hasPhoto')
3551
+ * * ns.vcard('photo')
3552
+ * * ns.foaf('depiction')
3488
3553
  */
3489
3554
  function findImage(thing) {
3490
3555
  var kb = external_SolidLogic_.store;
@@ -3496,11 +3561,11 @@ function findImage(thing) {
3496
3561
  return image ? image.uri : null;
3497
3562
  }
3498
3563
 
3499
- /**
3500
- * Do the best you can with the data available
3501
- *
3502
- * @return {Boolean} Are we happy with this icon?
3503
- * Sets src AND STYLE of the image.
3564
+ /**
3565
+ * Do the best you can with the data available
3566
+ *
3567
+ * @return {Boolean} Are we happy with this icon?
3568
+ * Sets src AND STYLE of the image.
3504
3569
  */
3505
3570
  function trySetImage(element, thing, iconForClassMap) {
3506
3571
  var kb = external_SolidLogic_.store;
@@ -3536,8 +3601,8 @@ function trySetImage(element, thing, iconForClassMap) {
3536
3601
  return false; // we can do better
3537
3602
  }
3538
3603
 
3539
- /**
3540
- * ToDo: Also add icons for *properties* like home, work, email, range, domain, comment,
3604
+ /**
3605
+ * ToDo: Also add icons for *properties* like home, work, email, range, domain, comment,
3541
3606
  */
3542
3607
  function setImage(element, thing) {
3543
3608
  // 20191230a
@@ -3586,7 +3651,7 @@ function faviconOrDefault(dom, x) {
3586
3651
  }
3587
3652
  }
3588
3653
 
3589
- /* Two-option dialog pop-up
3654
+ /* Two-option dialog pop-up
3590
3655
  */
3591
3656
 
3592
3657
  function renderDeleteConfirmPopup(dom, refererenceElement, prompt, deleteFunction) {
@@ -3637,9 +3702,9 @@ function renderDeleteConfirmPopup(dom, refererenceElement, prompt, deleteFunctio
3637
3702
  cancelPrompt.addEventListener('click', removePopup);
3638
3703
  return popup;
3639
3704
  }
3640
- /**
3641
- * Delete button with a check you really mean it
3642
- * @@ Supress check if command key held down?
3705
+ /**
3706
+ * Delete button with a check you really mean it
3707
+ * @@ Supress check if command key held down?
3643
3708
  */
3644
3709
  function deleteButtonWithCheck(dom, container, noun, deleteFunction) {
3645
3710
  function createPopup() {
@@ -3665,14 +3730,14 @@ function deleteButtonWithCheck(dom, container, noun, deleteFunction) {
3665
3730
  return deleteButton; // or button div? caller may change size of image
3666
3731
  }
3667
3732
 
3668
- /* Make a button
3669
- *
3670
- * @param dom - the DOM document object
3671
- * @Param iconURI - the URI of the icon to use (if any)
3672
- * @param text - the tooltip text or possibly button contents text
3673
- * @param handler <function> - A handler to called when button is clicked
3674
- *
3675
- * @returns <dDomElement> - the button
3733
+ /* Make a button
3734
+ *
3735
+ * @param dom - the DOM document object
3736
+ * @Param iconURI - the URI of the icon to use (if any)
3737
+ * @param text - the tooltip text or possibly button contents text
3738
+ * @param handler <function> - A handler to called when button is clicked
3739
+ *
3740
+ * @returns <dDomElement> - the button
3676
3741
  */
3677
3742
  function buttons_button(dom, iconURI, text, handler) {
3678
3743
  var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {
@@ -3685,7 +3750,7 @@ function buttons_button(dom, iconURI, text, handler) {
3685
3750
  if (iconURI) {
3686
3751
  var img = button.appendChild(dom.createElement('img'));
3687
3752
  img.setAttribute('src', iconURI);
3688
- img.setAttribute('style', style.iconStyle);
3753
+ img.setAttribute('style', 'width: 2em; height: 2em;'); // trial and error. 2em disappears
3689
3754
  img.title = text;
3690
3755
  button.setAttribute('style', style.buttonStyle);
3691
3756
  } else {
@@ -3740,12 +3805,12 @@ function buttons_button(dom, iconURI, text, handler) {
3740
3805
  return button;
3741
3806
  }
3742
3807
 
3743
- /* Make a cancel button
3744
- *
3745
- * @param dom - the DOM document object
3746
- * @param handler <function> - A handler to called when button is clicked
3747
- *
3748
- * @returns <dDomElement> - the button
3808
+ /* Make a cancel button
3809
+ *
3810
+ * @param dom - the DOM document object
3811
+ * @param handler <function> - A handler to called when button is clicked
3812
+ *
3813
+ * @returns <dDomElement> - the button
3749
3814
  */
3750
3815
  function buttons_cancelButton(dom, handler) {
3751
3816
  var b = buttons_button(dom, cancelIconURI, 'Cancel', handler);
@@ -3756,22 +3821,22 @@ function buttons_cancelButton(dom, handler) {
3756
3821
  return b;
3757
3822
  }
3758
3823
 
3759
- /* Make a continue button
3760
- *
3761
- * @param dom - the DOM document object
3762
- * @param handler <function> - A handler to called when button is clicked
3763
- *
3764
- * @returns <dDomElement> - the button
3824
+ /* Make a continue button
3825
+ *
3826
+ * @param dom - the DOM document object
3827
+ * @param handler <function> - A handler to called when button is clicked
3828
+ *
3829
+ * @returns <dDomElement> - the button
3765
3830
  */
3766
3831
  function continueButton(dom, handler) {
3767
3832
  return buttons_button(dom, checkIconURI, 'Continue', handler);
3768
3833
  }
3769
3834
 
3770
- /* Grab a name for a new thing
3771
- *
3772
- * Form to get the name of a new thing before we create it
3773
- * @params theClass Misspelt to avoid clashing with the JavaScript keyword
3774
- * @returns: a promise of (a name or null if cancelled)
3835
+ /* Grab a name for a new thing
3836
+ *
3837
+ * Form to get the name of a new thing before we create it
3838
+ * @params theClass Misspelt to avoid clashing with the JavaScript keyword
3839
+ * @returns: a promise of (a name or null if cancelled)
3775
3840
  */
3776
3841
  function askName(dom, kb, container, predicate, theClass, noun) {
3777
3842
  return new Promise(function (resolve, _reject) {
@@ -3813,10 +3878,10 @@ function askName(dom, kb, container, predicate, theClass, noun) {
3813
3878
  }); // Promise
3814
3879
  }
3815
3880
 
3816
- /**
3817
- * A TR to represent a draggable person, etc in a list
3818
- *
3819
- * pred is unused param at the moment
3881
+ /**
3882
+ * A TR to represent a draggable person, etc in a list
3883
+ *
3884
+ * pred is unused param at the moment
3820
3885
  */
3821
3886
  var personTR = renderAsRow; // The legacy name is used in a lot of places
3822
3887
 
@@ -3830,9 +3895,9 @@ function renderAsRow(dom, pred, obj, options) {
3830
3895
 
3831
3896
  // const image = td1.appendChild(dom.createElement('img'))
3832
3897
  var image = options.image || faviconOrDefault(dom, obj);
3833
- td1.setAttribute('style', 'vertical-align: middle; width: var(--sui-avatar-size, 2.5em); padding: 0.5em; height: var(--sui-avatar-size, 2.5em);');
3898
+ td1.setAttribute('style', 'vertical-align: middle; width:2.5em; padding:0.5em; height: 2.5em;');
3834
3899
  td2.setAttribute('style', 'vertical-align: middle; text-align:left;');
3835
- td3.setAttribute('style', 'vertical-align: middle; width: var(--sui-icon-size, 2em); padding: 0.5em; height: 4em;');
3900
+ td3.setAttribute('style', 'vertical-align: middle; width:2em; padding:0.5em; height: 4em;');
3836
3901
  td1.appendChild(image);
3837
3902
  if (options.title) {
3838
3903
  td2.textContent = options.title;
@@ -3860,11 +3925,11 @@ function renderAsRow(dom, pred, obj, options) {
3860
3925
  return tr;
3861
3926
  }
3862
3927
 
3863
- /* A helper function for renderAsDiv
3864
- * creates the NameDiv for the person
3865
- * Note: could not move it to the helper file because they call exported functions
3866
- * from buttons
3867
- * @internal exporting this only for unit tests
3928
+ /* A helper function for renderAsDiv
3929
+ * creates the NameDiv for the person
3930
+ * Note: could not move it to the helper file because they call exported functions
3931
+ * from buttons
3932
+ * @internal exporting this only for unit tests
3868
3933
  */
3869
3934
  function createNameDiv(dom, div, title, obj) {
3870
3935
  var nameDiv = div.appendChild(dom.createElement('div'));
@@ -3874,11 +3939,11 @@ function createNameDiv(dom, div, title, obj) {
3874
3939
  setName(nameDiv, obj); // This is async
3875
3940
  }
3876
3941
  }
3877
- /* A helper function for renderAsDiv
3878
- * creates the linkDiv for the person
3879
- * Note: could not move it to the helper file because they call exported functions
3880
- * from buttons
3881
- * @internal exporting this only for unit tests
3942
+ /* A helper function for renderAsDiv
3943
+ * creates the linkDiv for the person
3944
+ * Note: could not move it to the helper file because they call exported functions
3945
+ * from buttons
3946
+ * @internal exporting this only for unit tests
3882
3947
  */
3883
3948
  function createLinkDiv(dom, div, obj, options) {
3884
3949
  var linkDiv = div.appendChild(dom.createElement('div'));
@@ -3894,9 +3959,9 @@ function createLinkDiv(dom, div, obj, options) {
3894
3959
  makeDraggable(div, obj);
3895
3960
  }
3896
3961
  }
3897
- /**
3898
- * A Div to represent a draggable person, etc in a list
3899
- * configurable to add an onClick listener
3962
+ /**
3963
+ * A Div to represent a draggable person, etc in a list
3964
+ * configurable to add an onClick listener
3900
3965
  */
3901
3966
  function renderAsDiv(dom, obj, options) {
3902
3967
  var div = dom.createElement('div');
@@ -3918,8 +3983,8 @@ function renderAsDiv(dom, obj, options) {
3918
3983
  return div;
3919
3984
  }
3920
3985
 
3921
- /**
3922
- * Refresh a DOM tree recursively
3986
+ /**
3987
+ * Refresh a DOM tree recursively
3923
3988
  */
3924
3989
  function refreshTree(root) {
3925
3990
  if (root.refresh) {
@@ -3931,15 +3996,15 @@ function refreshTree(root) {
3931
3996
  }
3932
3997
  }
3933
3998
 
3934
- /**
3935
- * Options argument for [[attachmentList]] function
3999
+ /**
4000
+ * Options argument for [[attachmentList]] function
3936
4001
  */
3937
4002
 
3938
- /**
3939
- * Component that displays a list of resources, for instance
3940
- * the attachments of a message, or the various documents related
3941
- * to a meeting.
3942
- * Accepts dropping URLs onto it to add attachments to it.
4003
+ /**
4004
+ * Component that displays a list of resources, for instance
4005
+ * the attachments of a message, or the various documents related
4006
+ * to a meeting.
4007
+ * Accepts dropping URLs onto it to add attachments to it.
3943
4008
  */
3944
4009
  function attachmentList(dom, subject, div) {
3945
4010
  var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
@@ -4052,11 +4117,11 @@ function attachmentList(dom, subject, div) {
4052
4117
 
4053
4118
  // /////////////////////////////////////////////////////////////////////////////
4054
4119
 
4055
- /**
4056
- * Event Handler for links within solid apps.
4057
- *
4058
- * Note that native links have constraints in Firefox, they
4059
- * don't work with local files for instance (2011)
4120
+ /**
4121
+ * Event Handler for links within solid apps.
4122
+ *
4123
+ * Note that native links have constraints in Firefox, they
4124
+ * don't work with local files for instance (2011)
4060
4125
  */
4061
4126
  function openHrefInOutlineMode(e) {
4062
4127
  e.preventDefault();
@@ -4080,10 +4145,10 @@ function openHrefInOutlineMode(e) {
4080
4145
  // dom.outlineManager.GotoSubject(store.sym(uri), true, undefined, true, undefined)
4081
4146
  }
4082
4147
 
4083
- /**
4084
- * Make a URI in the Tabulator.org annotation store out of the URI of the thing to be annotated.
4085
- *
4086
- * @@ Todo: make it a personal preference.
4148
+ /**
4149
+ * Make a URI in the Tabulator.org annotation store out of the URI of the thing to be annotated.
4150
+ *
4151
+ * @@ Todo: make it a personal preference.
4087
4152
  */
4088
4153
  function defaultAnnotationStore(subject) {
4089
4154
  if (subject.uri === undefined) return undefined;
@@ -4101,10 +4166,10 @@ function defaultAnnotationStore(subject) {
4101
4166
  return external_SolidLogic_.store.sym('http://tabulator.org/wiki/annnotation/' + s);
4102
4167
  }
4103
4168
 
4104
- /**
4105
- * Retrieve all RDF class URIs from solid-ui's RDF store
4106
- * @returns an object `ret` such that `Object.keys(ret)` is
4107
- * the list of all class URIs.
4169
+ /**
4170
+ * Retrieve all RDF class URIs from solid-ui's RDF store
4171
+ * @returns an object `ret` such that `Object.keys(ret)` is
4172
+ * the list of all class URIs.
4108
4173
  */
4109
4174
  function allClassURIs() {
4110
4175
  var set = {};
@@ -4121,16 +4186,16 @@ function allClassURIs() {
4121
4186
  return set;
4122
4187
  }
4123
4188
 
4124
- /**
4125
- * Figuring which properties we know about
4126
- *
4127
- * When the user inputs an RDF property, like for a form field
4128
- * or when specifying the relationship between two arbitrary things,
4129
- * then er can prompt them with properties the session knows about
4130
- *
4131
- * TODO: Look again by catching this somewhere. (On the kb?)
4132
- * TODO: move to diff module? Not really a button.
4133
- * @param {Store} kb The quadstore to be searched.
4189
+ /**
4190
+ * Figuring which properties we know about
4191
+ *
4192
+ * When the user inputs an RDF property, like for a form field
4193
+ * or when specifying the relationship between two arbitrary things,
4194
+ * then er can prompt them with properties the session knows about
4195
+ *
4196
+ * TODO: Look again by catching this somewhere. (On the kb?)
4197
+ * TODO: move to diff module? Not really a button.
4198
+ * @param {Store} kb The quadstore to be searched.
4134
4199
  */
4135
4200
 
4136
4201
  function propertyTriage(kb) {
@@ -4168,12 +4233,12 @@ function propertyTriage(kb) {
4168
4233
  return possibleProperties;
4169
4234
  }
4170
4235
 
4171
- /**
4172
- * General purpose widgets
4236
+ /**
4237
+ * General purpose widgets
4173
4238
  */
4174
4239
 
4175
- /**
4176
- * A button for jumping
4240
+ /**
4241
+ * A button for jumping
4177
4242
  */
4178
4243
  function linkButton(dom, object) {
4179
4244
  var b = dom.createElement('button');
@@ -4188,8 +4253,8 @@ function linkButton(dom, object) {
4188
4253
  return b;
4189
4254
  }
4190
4255
 
4191
- /**
4192
- * A button to remove some other element from the page
4256
+ /**
4257
+ * A button to remove some other element from the page
4193
4258
  */
4194
4259
  function removeButton(dom, element) {
4195
4260
  var b = dom.createElement('button');
@@ -4219,17 +4284,17 @@ function removeButton(dom, element) {
4219
4284
  //
4220
4285
  // These are for selecting different modes, sources,styles, etc.
4221
4286
  //
4222
- /*
4223
- buttons.headerButtons = function (dom, kb, name, words) {
4224
- const box = dom.createElement('table')
4225
- var i, word, s = '<tr>'
4226
- box.setAttribute('style', 'width: 90%; height: 1.5em')
4227
- for (i=0; i<words.length; i++) {
4228
- s += '<td><input type="radio" name="' + name + '" id="' + words[i] + '" value='
4229
- }
4230
- box.innerHTML = s + '</tr>'
4231
-
4232
- }
4287
+ /*
4288
+ buttons.headerButtons = function (dom, kb, name, words) {
4289
+ const box = dom.createElement('table')
4290
+ var i, word, s = '<tr>'
4291
+ box.setAttribute('style', 'width: 90%; height: 1.5em')
4292
+ for (i=0; i<words.length; i++) {
4293
+ s += '<td><input type="radio" name="' + name + '" id="' + words[i] + '" value='
4294
+ }
4295
+ box.innerHTML = s + '</tr>'
4296
+
4297
+ }
4233
4298
  */
4234
4299
  // ////////////////////////////////////////////////////////////
4235
4300
  //
@@ -4319,9 +4384,9 @@ function twoLineDefault(dom, x) {
4319
4384
  return box;
4320
4385
  }
4321
4386
 
4322
- /**
4323
- * Find a function that can create a widget for a given class
4324
- * @param c The RDF class for which we want a widget generator function
4387
+ /**
4388
+ * Find a function that can create a widget for a given class
4389
+ * @param c The RDF class for which we want a widget generator function
4325
4390
  */
4326
4391
  function twoLineWidgetForClass(c) {
4327
4392
  var widget = index.twoLine[c.uri];
@@ -4335,12 +4400,12 @@ function twoLineWidgetForClass(c) {
4335
4400
  return index.twoLine[''];
4336
4401
  }
4337
4402
 
4338
- /**
4339
- * Display a transaction
4340
- * @param x Should have attributes through triples in store:
4341
- * * ns.qu('payee') -> a named node
4342
- * * ns.qu('date) -> a literal
4343
- * * ns.qu('amount') -> a literal
4403
+ /**
4404
+ * Display a transaction
4405
+ * @param x Should have attributes through triples in store:
4406
+ * * ns.qu('payee') -> a named node
4407
+ * * ns.qu('date) -> a literal
4408
+ * * ns.qu('amount') -> a literal
4344
4409
  */
4345
4410
  function twoLineTransaction(dom, x) {
4346
4411
  var failed = '';
@@ -4357,12 +4422,12 @@ function twoLineTransaction(dom, x) {
4357
4422
  return box;
4358
4423
  }
4359
4424
 
4360
- /**
4361
- * Display a trip
4362
- * @param x Should have attributes through triples in store:
4363
- * * ns.dc('title') -> a literal
4364
- * * ns.cal('dtstart') -> a literal
4365
- * * ns.cal('dtend') -> a literal
4425
+ /**
4426
+ * Display a trip
4427
+ * @param x Should have attributes through triples in store:
4428
+ * * ns.dc('title') -> a literal
4429
+ * * ns.cal('dtstart') -> a literal
4430
+ * * ns.cal('dtend') -> a literal
4366
4431
  */
4367
4432
  function twoLineTrip(dom, x) {
4368
4433
  var enc = function enc(p) {
@@ -4374,8 +4439,8 @@ function twoLineTrip(dom, x) {
4374
4439
  return box;
4375
4440
  }
4376
4441
 
4377
- /**
4378
- * Stick a stylesheet link the document if not already there
4442
+ /**
4443
+ * Stick a stylesheet link the document if not already there
4379
4444
  */
4380
4445
  function addStyleSheet(dom, href) {
4381
4446
  var links = dom.querySelectorAll('link');
@@ -4399,8 +4464,8 @@ function isAudio(file) {
4399
4464
  function isVideo(file) {
4400
4465
  return isImage(file, 'video');
4401
4466
  }
4402
- /**
4403
- *
4467
+ /**
4468
+ *
4404
4469
  */
4405
4470
  function isImage(file, kind) {
4406
4471
  var dcCLasses = {
@@ -4422,12 +4487,12 @@ function isImage(file, kind) {
4422
4487
  return false;
4423
4488
  }
4424
4489
 
4425
- /**
4426
- * File upload button
4427
- * @param dom The DOM aka document
4428
- * @param droppedFileHandler Same handler function as drop, takes array of file objects
4429
- * @returns {Element} - a div with a button and a inout in it
4430
- * The input is hidden, as it is uglky - the user clicks on the nice icons and fires the input.
4490
+ /**
4491
+ * File upload button
4492
+ * @param dom The DOM aka document
4493
+ * @param droppedFileHandler Same handler function as drop, takes array of file objects
4494
+ * @returns {Element} - a div with a button and a inout in it
4495
+ * The input is hidden, as it is uglky - the user clicks on the nice icons and fires the input.
4431
4496
  */
4432
4497
  // See https://developer.mozilla.org/en-US/docs/Web/API/File/Using_files_from_web_applications
4433
4498
  function fileUploadButtonDiv(dom, droppedFileHandler) {
@@ -4463,6 +4528,17 @@ index = {
4463
4528
  widgetForClass: twoLineWidgetForClass
4464
4529
  }
4465
4530
  };
4531
+ ;// ./node_modules/@babel/runtime/helpers/esm/defineProperty.js
4532
+
4533
+ function _defineProperty(e, r, t) {
4534
+ return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
4535
+ value: t,
4536
+ enumerable: !0,
4537
+ configurable: !0,
4538
+ writable: !0
4539
+ }) : e[r] = t, e;
4540
+ }
4541
+
4466
4542
  ;// ./src/signup/config-default.js
4467
4543
  /**
4468
4544
  * Provides a simple configuration object for Solid web client and other
@@ -12828,11 +12904,11 @@ function _taggedTemplateLiteral(e, t) {
12828
12904
  // EXTERNAL MODULE: ./node_modules/escape-html/index.js
12829
12905
  var escape_html = __webpack_require__(580);
12830
12906
  var escape_html_default = /*#__PURE__*/__webpack_require__.n(escape_html);
12831
- ;// ./node_modules/uuid/dist/esm-browser/native.js
12907
+ ;// ./node_modules/uuid/dist/native.js
12832
12908
  const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);
12833
- /* harmony default export */ const esm_browser_native = ({ randomUUID });
12909
+ /* harmony default export */ const dist_native = ({ randomUUID });
12834
12910
 
12835
- ;// ./node_modules/uuid/dist/esm-browser/rng.js
12911
+ ;// ./node_modules/uuid/dist/rng.js
12836
12912
  let getRandomValues;
12837
12913
  const rnds8 = new Uint8Array(16);
12838
12914
  function rng() {
@@ -12845,7 +12921,7 @@ function rng() {
12845
12921
  return getRandomValues(rnds8);
12846
12922
  }
12847
12923
 
12848
- ;// ./node_modules/uuid/dist/esm-browser/stringify.js
12924
+ ;// ./node_modules/uuid/dist/stringify.js
12849
12925
 
12850
12926
  const byteToHex = [];
12851
12927
  for (let i = 0; i < 256; ++i) {
@@ -12880,16 +12956,13 @@ function stringify(arr, offset = 0) {
12880
12956
  }
12881
12957
  return uuid;
12882
12958
  }
12883
- /* harmony default export */ const esm_browser_stringify = ((/* unused pure expression or super */ null && (stringify)));
12959
+ /* harmony default export */ const dist_stringify = ((/* unused pure expression or super */ null && (stringify)));
12884
12960
 
12885
- ;// ./node_modules/uuid/dist/esm-browser/v4.js
12961
+ ;// ./node_modules/uuid/dist/v4.js
12886
12962
 
12887
12963
 
12888
12964
 
12889
- function v4(options, buf, offset) {
12890
- if (esm_browser_native.randomUUID && !buf && !options) {
12891
- return esm_browser_native.randomUUID();
12892
- }
12965
+ function _v4(options, buf, offset) {
12893
12966
  options = options || {};
12894
12967
  const rnds = options.random ?? options.rng?.() ?? rng();
12895
12968
  if (rnds.length < 16) {
@@ -12909,7 +12982,13 @@ function v4(options, buf, offset) {
12909
12982
  }
12910
12983
  return unsafeStringify(rnds);
12911
12984
  }
12912
- /* harmony default export */ const esm_browser_v4 = (v4);
12985
+ function v4(options, buf, offset) {
12986
+ if (dist_native.randomUUID && !buf && !options) {
12987
+ return dist_native.randomUUID();
12988
+ }
12989
+ return _v4(options, buf, offset);
12990
+ }
12991
+ /* harmony default export */ const dist_v4 = (v4);
12913
12992
 
12914
12993
  ;// ./src/widgets/peoplePicker.js
12915
12994
 
@@ -13033,7 +13112,7 @@ var PeoplePicker = /*#__PURE__*/function () {
13033
13112
  var _indexes = indexes(book),
13034
13113
  groupIndex = _indexes.groupIndex,
13035
13114
  groupContainer = _indexes.groupContainer;
13036
- var group = external_$rdf_.sym("".concat(groupContainer.uri).concat(esm_browser_v4().slice(0, 8), ".ttl#this"));
13115
+ var group = external_$rdf_.sym("".concat(groupContainer.uri).concat(dist_v4().slice(0, 8), ".ttl#this"));
13037
13116
  var name = defaultNewGroupName || 'Untitled Group';
13038
13117
 
13039
13118
  // NOTE that order matters here. Unfortunately this type of update is
@@ -22695,323 +22774,6 @@ function getPreferencesForClass(subject, theClass, predicates, context) {
22695
22774
  }
22696
22775
 
22697
22776
  // ends
22698
- ;// ./src/themeLoader.js
22699
-
22700
-
22701
-
22702
- function themeLoader_createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = themeLoader_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; } } }; }
22703
- function themeLoader_unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return themeLoader_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) ? themeLoader_arrayLikeToArray(r, a) : void 0; } }
22704
- function themeLoader_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; }
22705
-
22706
- /**
22707
- * Theme Loader for Solid-UI
22708
- * Handles dynamic theme loading and switching
22709
- */
22710
-
22711
- var STORAGE_KEY = 'solid-ui-theme';
22712
- var DEFAULT_THEME = 'classic';
22713
- var ThemeLoader = /*#__PURE__*/function () {
22714
- function ThemeLoader() {
22715
- classCallCheck_classCallCheck(this, ThemeLoader);
22716
- this.themes = {
22717
- classic: 'theme-classic.css',
22718
- "default": 'theme-default.css',
22719
- wave: 'theme-wave.css',
22720
- telegram: 'theme-telegram.css',
22721
- signal: 'theme-signal.css'
22722
- };
22723
- this.currentTheme = this.getSavedTheme();
22724
- this.linkElements = {};
22725
- this.initialized = false;
22726
- }
22727
-
22728
- /**
22729
- * Initialize the theme system
22730
- * Loads foundation CSS and current theme
22731
- */
22732
- return createClass_createClass(ThemeLoader, [{
22733
- key: "init",
22734
- value: (function () {
22735
- var _init = asyncToGenerator_asyncToGenerator(/*#__PURE__*/regenerator_default().mark(function _callee() {
22736
- var _t;
22737
- return regenerator_default().wrap(function (_context) {
22738
- while (1) switch (_context.prev = _context.next) {
22739
- case 0:
22740
- if (!this.initialized) {
22741
- _context.next = 1;
22742
- break;
22743
- }
22744
- return _context.abrupt("return");
22745
- case 1:
22746
- _context.prev = 1;
22747
- _context.next = 2;
22748
- return this.loadFoundation();
22749
- case 2:
22750
- _context.next = 3;
22751
- return this.loadTheme(this.currentTheme);
22752
- case 3:
22753
- this.initialized = true;
22754
- _context.next = 5;
22755
- break;
22756
- case 4:
22757
- _context.prev = 4;
22758
- _t = _context["catch"](1);
22759
- console.error('Failed to initialize theme system:', _t);
22760
- // Continue without themes - use inline styles as fallback
22761
- case 5:
22762
- case "end":
22763
- return _context.stop();
22764
- }
22765
- }, _callee, this, [[1, 4]]);
22766
- }));
22767
- function init() {
22768
- return _init.apply(this, arguments);
22769
- }
22770
- return init;
22771
- }()
22772
- /**
22773
- * Load foundation CSS (variables + accessibility)
22774
- */
22775
- )
22776
- }, {
22777
- key: "loadFoundation",
22778
- value: (function () {
22779
- var _loadFoundation = asyncToGenerator_asyncToGenerator(/*#__PURE__*/regenerator_default().mark(function _callee2() {
22780
- var variablesLink, a11yLink;
22781
- return regenerator_default().wrap(function (_context2) {
22782
- while (1) switch (_context2.prev = _context2.next) {
22783
- case 0:
22784
- // Variables
22785
- variablesLink = this.createLinkElement('solid-ui-variables', 'theme-variables.css');
22786
- document.head.insertBefore(variablesLink, document.head.firstChild);
22787
- this.linkElements.variables = variablesLink;
22788
-
22789
- // Accessibility
22790
- a11yLink = this.createLinkElement('solid-ui-accessibility', 'theme-accessibility.css');
22791
- document.head.insertBefore(a11yLink, document.head.firstChild);
22792
- this.linkElements.accessibility = a11yLink;
22793
-
22794
- // Wait for CSS to load
22795
- _context2.next = 1;
22796
- return Promise.all([this.waitForStylesheet(variablesLink), this.waitForStylesheet(a11yLink)]);
22797
- case 1:
22798
- case "end":
22799
- return _context2.stop();
22800
- }
22801
- }, _callee2, this);
22802
- }));
22803
- function loadFoundation() {
22804
- return _loadFoundation.apply(this, arguments);
22805
- }
22806
- return loadFoundation;
22807
- }()
22808
- /**
22809
- * Load a theme by name
22810
- * @param {string} themeName - Name of theme to load
22811
- */
22812
- )
22813
- }, {
22814
- key: "loadTheme",
22815
- value: (function () {
22816
- var _loadTheme = asyncToGenerator_asyncToGenerator(/*#__PURE__*/regenerator_default().mark(function _callee3(themeName) {
22817
- var themeFile, themeLink, _t2;
22818
- return regenerator_default().wrap(function (_context3) {
22819
- while (1) switch (_context3.prev = _context3.next) {
22820
- case 0:
22821
- themeFile = this.themes[themeName] || this.themes[DEFAULT_THEME];
22822
- _context3.prev = 1;
22823
- // Create or update theme link
22824
- themeLink = this.linkElements.theme;
22825
- if (!themeLink) {
22826
- themeLink = this.createLinkElement('solid-ui-theme', themeFile);
22827
- document.head.appendChild(themeLink);
22828
- this.linkElements.theme = themeLink;
22829
- } else {
22830
- themeLink.href = this.resolveThemePath(themeFile);
22831
- }
22832
-
22833
- // Wait for theme to load
22834
- _context3.next = 2;
22835
- return this.waitForStylesheet(themeLink);
22836
- case 2:
22837
- // Update state
22838
- this.currentTheme = themeName;
22839
- this.saveTheme(themeName);
22840
-
22841
- // Emit event for listeners
22842
- this.emitThemeChange(themeName);
22843
- _context3.next = 4;
22844
- break;
22845
- case 3:
22846
- _context3.prev = 3;
22847
- _t2 = _context3["catch"](1);
22848
- console.error("Failed to load theme \"".concat(themeName, "\":"), _t2);
22849
- throw _t2;
22850
- case 4:
22851
- case "end":
22852
- return _context3.stop();
22853
- }
22854
- }, _callee3, this, [[1, 3]]);
22855
- }));
22856
- function loadTheme(_x) {
22857
- return _loadTheme.apply(this, arguments);
22858
- }
22859
- return loadTheme;
22860
- }()
22861
- /**
22862
- * Get list of available themes
22863
- * @returns {Array<{name: string, label: string}>}
22864
- */
22865
- )
22866
- }, {
22867
- key: "getAvailableThemes",
22868
- value: function getAvailableThemes() {
22869
- var _this = this;
22870
- return Object.keys(this.themes).map(function (name) {
22871
- return {
22872
- name: name,
22873
- label: _this.formatThemeName(name)
22874
- };
22875
- });
22876
- }
22877
-
22878
- /**
22879
- * Get currently active theme
22880
- * @returns {string}
22881
- */
22882
- }, {
22883
- key: "getCurrentTheme",
22884
- value: function getCurrentTheme() {
22885
- return this.currentTheme;
22886
- }
22887
-
22888
- /**
22889
- * Create a link element for CSS
22890
- * @private
22891
- */
22892
- }, {
22893
- key: "createLinkElement",
22894
- value: function createLinkElement(id, href) {
22895
- var link = document.createElement('link');
22896
- link.id = id;
22897
- link.rel = 'stylesheet';
22898
- link.href = this.resolveThemePath(href);
22899
- return link;
22900
- }
22901
-
22902
- /**
22903
- * Resolve theme path relative to solid-ui
22904
- * @private
22905
- */
22906
- }, {
22907
- key: "resolveThemePath",
22908
- value: function resolveThemePath(path) {
22909
- // In development, path might need adjustment
22910
- // In production (dist), themes should be copied alongside
22911
- if (true) {
22912
- return __webpack_require__.p + path;
22913
- }
22914
-
22915
- // Try to find solid-ui base path
22916
- // removed by dead control flow
22917
- var scripts;
22918
- // removed by dead control flow
22919
- var _iterator, _step;
22920
- // removed by dead control flow
22921
- var baseUrl, script;
22922
- // removed by dead control flow
22923
-
22924
- }
22925
-
22926
- /**
22927
- * Wait for stylesheet to load
22928
- * @private
22929
- */
22930
- }, {
22931
- key: "waitForStylesheet",
22932
- value: function waitForStylesheet(link) {
22933
- return new Promise(function (resolve, reject) {
22934
- link.onload = function () {
22935
- return resolve();
22936
- };
22937
- link.onerror = function () {
22938
- return reject(new Error("Failed to load: ".concat(link.href)));
22939
- };
22940
-
22941
- // Timeout after 10 seconds
22942
- setTimeout(function () {
22943
- return reject(new Error('Theme load timeout'));
22944
- }, 10000);
22945
- });
22946
- }
22947
-
22948
- /**
22949
- * Get saved theme from localStorage
22950
- * @private
22951
- */
22952
- }, {
22953
- key: "getSavedTheme",
22954
- value: function getSavedTheme() {
22955
- try {
22956
- return localStorage.getItem(STORAGE_KEY) || DEFAULT_THEME;
22957
- } catch (error) {
22958
- return DEFAULT_THEME;
22959
- }
22960
- }
22961
-
22962
- /**
22963
- * Save theme to localStorage
22964
- * @private
22965
- */
22966
- }, {
22967
- key: "saveTheme",
22968
- value: function saveTheme(themeName) {
22969
- try {
22970
- localStorage.setItem(STORAGE_KEY, themeName);
22971
- } catch (error) {
22972
- console.warn('Failed to save theme preference:', error);
22973
- }
22974
- }
22975
-
22976
- /**
22977
- * Format theme name for display
22978
- * @private
22979
- */
22980
- }, {
22981
- key: "formatThemeName",
22982
- value: function formatThemeName(name) {
22983
- return name.charAt(0).toUpperCase() + name.slice(1);
22984
- }
22985
-
22986
- /**
22987
- * Emit theme change event
22988
- * @private
22989
- */
22990
- }, {
22991
- key: "emitThemeChange",
22992
- value: function emitThemeChange(themeName) {
22993
- var event = new CustomEvent('solid-ui-theme-change', {
22994
- detail: {
22995
- theme: themeName
22996
- }
22997
- });
22998
- window.dispatchEvent(event);
22999
- }
23000
- }]);
23001
- }(); // Create singleton instance
23002
- var themeLoader = new ThemeLoader();
23003
-
23004
- // Auto-initialize on load (can be disabled if manual control needed)
23005
- if (typeof window !== 'undefined') {
23006
- if (document.readyState === 'loading') {
23007
- document.addEventListener('DOMContentLoaded', function () {
23008
- return themeLoader.init();
23009
- });
23010
- } else {
23011
- themeLoader.init();
23012
- }
23013
- }
23014
- /* harmony default export */ const src_themeLoader = ((/* unused pure expression or super */ null && (themeLoader)));
23015
22777
  ;// ./src/table.js
23016
22778
  // Table Widget: Format an array of RDF statements as an HTML table.
23017
22779
  //
@@ -25256,9 +25018,9 @@ function throttle(func, wait) {
25256
25018
 
25257
25019
 
25258
25020
  /* global EventListenerOrEventListenerObject */
25259
- /*
25260
- This file was copied from mashlib/src/global/header.ts file. It is modified to
25261
- work in solid-ui by adjusting where imported functions are found.
25021
+ /*
25022
+ This file was copied from mashlib/src/global/header.ts file. It is modified to
25023
+ work in solid-ui by adjusting where imported functions are found.
25262
25024
  */
25263
25025
 
25264
25026
 
@@ -25270,42 +25032,42 @@ function throttle(func, wait) {
25270
25032
 
25271
25033
 
25272
25034
 
25273
- /**
25274
- * menu icons
25035
+ /**
25036
+ * menu icons
25275
25037
  */
25276
25038
  var DEFAULT_HELP_MENU_ICON = iconBase/* icons */.Pt.iconBase + 'noun_help.svg';
25277
25039
  var DEFAUL_SOLID_ICON_URL = 'https://solidproject.org/assets/img/solid-emblem.svg';
25278
25040
 
25279
- /*
25280
- HeaderOptions allow for customizing the logo and menu list. If a logo is not provided the default
25281
- is solid. Menulist will always show a link to logout and to the users profile.
25041
+ /*
25042
+ HeaderOptions allow for customizing the logo and menu list. If a logo is not provided the default
25043
+ is solid. Menulist will always show a link to logout and to the users profile.
25282
25044
  */
25283
25045
 
25284
- /**
25285
- * Initialize header component, the header object returned depends on whether the user is authenticated.
25286
- * @param store the data store
25287
- * @param userMenuList a list of menu items when the user is logged in
25288
- * @param options allow the header to be customized with a personalized logo, help icon and a help menu list of links or buttons.
25289
- * @returns a header for an authenticated user with menu items given or a login screen
25046
+ /**
25047
+ * Initialize header component, the header object returned depends on whether the user is authenticated.
25048
+ * @param store the data store
25049
+ * @param userMenuList a list of menu items when the user is logged in
25050
+ * @param options allow the header to be customized with a personalized logo, help icon and a help menu list of links or buttons.
25051
+ * @returns a header for an authenticated user with menu items given or a login screen
25290
25052
  */
25291
25053
  function initHeader(_x, _x2, _x3) {
25292
25054
  return _initHeader.apply(this, arguments);
25293
25055
  }
25294
- /**
25295
- * @ignore exporting this only for the unit test
25056
+ /**
25057
+ * @ignore exporting this only for the unit test
25296
25058
  */
25297
25059
  function _initHeader() {
25298
- _initHeader = asyncToGenerator_asyncToGenerator(/*#__PURE__*/regenerator_default().mark(function _callee3(store, userMenuList, options) {
25060
+ _initHeader = asyncToGenerator_asyncToGenerator(/*#__PURE__*/regenerator_default().mark(function _callee2(store, userMenuList, options) {
25299
25061
  var header, pod;
25300
- return regenerator_default().wrap(function (_context3) {
25301
- while (1) switch (_context3.prev = _context3.next) {
25062
+ return regenerator_default().wrap(function (_context2) {
25063
+ while (1) switch (_context2.prev = _context2.next) {
25302
25064
  case 0:
25303
25065
  header = document.getElementById('PageHeader');
25304
25066
  if (header) {
25305
- _context3.next = 1;
25067
+ _context2.next = 1;
25306
25068
  break;
25307
25069
  }
25308
- return _context3.abrupt("return");
25070
+ return _context2.abrupt("return");
25309
25071
  case 1:
25310
25072
  pod = getPod();
25311
25073
  rebuildHeader(header, store, pod, userMenuList, options)();
@@ -25313,9 +25075,9 @@ function _initHeader() {
25313
25075
  external_SolidLogic_.authSession.events.on('login', rebuildHeader(header, store, pod, userMenuList, options));
25314
25076
  case 2:
25315
25077
  case "end":
25316
- return _context3.stop();
25078
+ return _context2.stop();
25317
25079
  }
25318
- }, _callee3);
25080
+ }, _callee2);
25319
25081
  }));
25320
25082
  return _initHeader.apply(this, arguments);
25321
25083
  }
@@ -25339,20 +25101,20 @@ function rebuildHeader(header, store, pod, userMenuList, options) {
25339
25101
  }, _callee);
25340
25102
  }));
25341
25103
  }
25342
- /**
25343
- * @ignore exporting this only for the unit test
25104
+ /**
25105
+ * @ignore exporting this only for the unit test
25344
25106
  */
25345
25107
  function createBanner(_x4, _x5, _x6, _x7, _x8) {
25346
25108
  return _createBanner.apply(this, arguments);
25347
25109
  }
25348
- /**
25349
- * @ignore exporting this only for the unit test
25110
+ /**
25111
+ * @ignore exporting this only for the unit test
25350
25112
  */
25351
25113
  function _createBanner() {
25352
- _createBanner = asyncToGenerator_asyncToGenerator(/*#__PURE__*/regenerator_default().mark(function _callee4(store, pod, user, userMenuList, options) {
25353
- var podLink, image, userMenu, banner, leftSideOfHeader, helpMenu, _t3;
25354
- return regenerator_default().wrap(function (_context4) {
25355
- while (1) switch (_context4.prev = _context4.next) {
25114
+ _createBanner = asyncToGenerator_asyncToGenerator(/*#__PURE__*/regenerator_default().mark(function _callee3(store, pod, user, userMenuList, options) {
25115
+ var podLink, image, userMenu, banner, leftSideOfHeader, helpMenu, _t2;
25116
+ return regenerator_default().wrap(function (_context3) {
25117
+ while (1) switch (_context3.prev = _context3.next) {
25356
25118
  case 0:
25357
25119
  podLink = document.createElement('a');
25358
25120
  podLink.href = pod.uri;
@@ -25364,19 +25126,19 @@ function _createBanner() {
25364
25126
  image.setAttribute('style', style.headerBannerIcon);
25365
25127
  podLink.appendChild(image);
25366
25128
  if (!user) {
25367
- _context4.next = 2;
25129
+ _context3.next = 2;
25368
25130
  break;
25369
25131
  }
25370
- _context4.next = 1;
25132
+ _context3.next = 1;
25371
25133
  return createUserMenu(store, user, userMenuList);
25372
25134
  case 1:
25373
- _t3 = _context4.sent;
25374
- _context4.next = 3;
25135
+ _t2 = _context3.sent;
25136
+ _context3.next = 3;
25375
25137
  break;
25376
25138
  case 2:
25377
- _t3 = createLoginSignUpButtons();
25139
+ _t2 = createLoginSignUpButtons();
25378
25140
  case 3:
25379
- userMenu = _t3;
25141
+ userMenu = _t2;
25380
25142
  banner = document.createElement('div');
25381
25143
  banner.setAttribute('style', style.headerBanner);
25382
25144
  banner.appendChild(podLink);
@@ -25388,12 +25150,12 @@ function _createBanner() {
25388
25150
  leftSideOfHeader.appendChild(helpMenu);
25389
25151
  }
25390
25152
  banner.appendChild(leftSideOfHeader);
25391
- return _context4.abrupt("return", banner);
25153
+ return _context3.abrupt("return", banner);
25392
25154
  case 4:
25393
25155
  case "end":
25394
- return _context4.stop();
25156
+ return _context3.stop();
25395
25157
  }
25396
- }, _callee4);
25158
+ }, _callee3);
25397
25159
  }));
25398
25160
  return _createBanner.apply(this, arguments);
25399
25161
  }
@@ -25401,88 +25163,6 @@ function createHelpMenu(options, helpMenuItems) {
25401
25163
  if (!helpMenuItems) return;
25402
25164
  var helpMenuList = document.createElement('ul');
25403
25165
  helpMenuList.setAttribute('style', style.headerUserMenuList);
25404
-
25405
- // Add theme selector submenu at the top
25406
- try {
25407
- var _UI, _UI2;
25408
- var themeLoader = ((_UI = globalThis.UI) === null || _UI === void 0 ? void 0 : _UI.themeLoader) || ((_UI2 = window.UI) === null || _UI2 === void 0 ? void 0 : _UI2.themeLoader);
25409
- if (themeLoader) {
25410
- // Add theme label
25411
- var themeLabel = document.createElement('li');
25412
- themeLabel.setAttribute('style', style.headerUserMenuItem + ' font-weight: bold; padding: 0.5em 1em; color: #666; font-size: 0.9em;');
25413
- themeLabel.textContent = '🎨 Themes';
25414
- helpMenuList.appendChild(themeLabel);
25415
-
25416
- // Add theme options
25417
- var themes = [{
25418
- name: 'classic',
25419
- label: '📘 Classic',
25420
- icon: '📘'
25421
- }, {
25422
- name: 'default',
25423
- label: '💜 Default',
25424
- icon: '💜'
25425
- }, {
25426
- name: 'wave',
25427
- label: '💚 Wave',
25428
- icon: '💚'
25429
- }, {
25430
- name: 'telegram',
25431
- label: '💙 Telegram',
25432
- icon: '💙'
25433
- }, {
25434
- name: 'signal',
25435
- label: '🔵 Signal',
25436
- icon: '🔵'
25437
- }];
25438
- var currentTheme = themeLoader.getCurrentTheme();
25439
- themes.forEach(function (theme) {
25440
- var themeButton = createUserMenuButton(theme.label + (theme.name === currentTheme ? ' ✓' : ''), /*#__PURE__*/asyncToGenerator_asyncToGenerator(/*#__PURE__*/regenerator_default().mark(function _callee2() {
25441
- var _t2;
25442
- return regenerator_default().wrap(function (_context2) {
25443
- while (1) switch (_context2.prev = _context2.next) {
25444
- case 0:
25445
- _context2.prev = 0;
25446
- _context2.next = 1;
25447
- return themeLoader.loadTheme(theme.name);
25448
- case 1:
25449
- console.log("Theme switched to: ".concat(theme.label));
25450
- // Update checkmarks in all theme buttons
25451
- setTimeout(function () {
25452
- var newCurrentTheme = themeLoader.getCurrentTheme();
25453
- helpMenuList.querySelectorAll('button').forEach(function (btn, idx) {
25454
- // Theme buttons are first 5 buttons (after the label)
25455
- if (idx < themes.length) {
25456
- var themeInfo = themes[idx];
25457
- btn.textContent = themeInfo.label + (themeInfo.name === newCurrentTheme ? ' ✓' : '');
25458
- }
25459
- });
25460
- }, 100);
25461
- _context2.next = 3;
25462
- break;
25463
- case 2:
25464
- _context2.prev = 2;
25465
- _t2 = _context2["catch"](0);
25466
- console.error('Failed to switch theme:', _t2);
25467
- case 3:
25468
- case "end":
25469
- return _context2.stop();
25470
- }
25471
- }, _callee2, null, [[0, 2]]);
25472
- })));
25473
- helpMenuList.appendChild(createUserMenuItem(themeButton));
25474
- });
25475
-
25476
- // Add separator
25477
- var separator = document.createElement('li');
25478
- separator.setAttribute('style', 'border-top: 1px solid #ddd; margin: 0.5em 0;');
25479
- helpMenuList.appendChild(separator);
25480
- }
25481
- } catch (error) {
25482
- console.warn('Theme loader not available', error);
25483
- }
25484
-
25485
- // Add regular help menu items
25486
25166
  helpMenuItems.forEach(function (menuItem) {
25487
25167
  var menuItemType = menuItem.url ? 'url' : 'onclick';
25488
25168
  if (menuItemType === 'url') {
@@ -25529,8 +25209,8 @@ function createHelpMenu(options, helpMenuItems) {
25529
25209
  });
25530
25210
  return helpMenuContainer;
25531
25211
  }
25532
- /**
25533
- * @ignore exporting this only for the unit test
25212
+ /**
25213
+ * @ignore exporting this only for the unit test
25534
25214
  */
25535
25215
  function createLoginSignUpButtons() {
25536
25216
  var profileLoginButtonPre = document.createElement('div');
@@ -25538,8 +25218,8 @@ function createLoginSignUpButtons() {
25538
25218
  profileLoginButtonPre.appendChild(loginStatusBox(document, null, {}));
25539
25219
  return profileLoginButtonPre;
25540
25220
  }
25541
- /**
25542
- * @ignore exporting this only for the unit test
25221
+ /**
25222
+ * @ignore exporting this only for the unit test
25543
25223
  */
25544
25224
  function createUserMenuButton(label, onClick) {
25545
25225
  var button = document.createElement('button');
@@ -25554,8 +25234,8 @@ function createUserMenuButton(label, onClick) {
25554
25234
  button.innerText = label;
25555
25235
  return button;
25556
25236
  }
25557
- /**
25558
- * @ignore exporting this only for the unit test
25237
+ /**
25238
+ * @ignore exporting this only for the unit test
25559
25239
  */
25560
25240
  function createUserMenuLink(label, href, target) {
25561
25241
  var link = document.createElement('a');
@@ -25572,28 +25252,28 @@ function createUserMenuLink(label, href, target) {
25572
25252
  return link;
25573
25253
  }
25574
25254
 
25575
- /**
25576
- * @ignore exporting this only for the unit test
25255
+ /**
25256
+ * @ignore exporting this only for the unit test
25577
25257
  */
25578
25258
  function createUserMenu(_x9, _x0, _x1) {
25579
25259
  return _createUserMenu.apply(this, arguments);
25580
25260
  }
25581
25261
 
25582
- /**
25583
- * @ignore exporting this only for the unit test
25262
+ /**
25263
+ * @ignore exporting this only for the unit test
25584
25264
  */
25585
25265
  function _createUserMenu() {
25586
- _createUserMenu = asyncToGenerator_asyncToGenerator(/*#__PURE__*/regenerator_default().mark(function _callee5(store, user, userMenuList) {
25266
+ _createUserMenu = asyncToGenerator_asyncToGenerator(/*#__PURE__*/regenerator_default().mark(function _callee4(store, user, userMenuList) {
25587
25267
  var fetcher, loggedInMenuList, loggedInMenu, loggedInMenuTrigger, profileImg, loggedInMenuContainer, throttledMenuToggle, timer;
25588
- return regenerator_default().wrap(function (_context5) {
25589
- while (1) switch (_context5.prev = _context5.next) {
25268
+ return regenerator_default().wrap(function (_context4) {
25269
+ while (1) switch (_context4.prev = _context4.next) {
25590
25270
  case 0:
25591
25271
  fetcher = store.fetcher;
25592
25272
  if (!fetcher) {
25593
- _context5.next = 1;
25273
+ _context4.next = 1;
25594
25274
  break;
25595
25275
  }
25596
- _context5.next = 1;
25276
+ _context4.next = 1;
25597
25277
  return fetcher.load(user);
25598
25278
  case 1:
25599
25279
  loggedInMenuList = document.createElement('ul');
@@ -25646,12 +25326,12 @@ function _createUserMenu() {
25646
25326
  var nav = document.getElementById('loggedInNav');
25647
25327
  nav === null || nav === void 0 || nav.setAttribute('style', style.headerUserMenuNavigationMenuNotDisplayed);
25648
25328
  });
25649
- return _context5.abrupt("return", loggedInMenuContainer);
25329
+ return _context4.abrupt("return", loggedInMenuContainer);
25650
25330
  case 2:
25651
25331
  case "end":
25652
- return _context5.stop();
25332
+ return _context4.stop();
25653
25333
  }
25654
- }, _callee5);
25334
+ }, _callee4);
25655
25335
  }));
25656
25336
  return _createUserMenu.apply(this, arguments);
25657
25337
  }
@@ -25661,8 +25341,8 @@ function createUserMenuItem(child) {
25661
25341
  menuProfileItem.appendChild(child);
25662
25342
  return menuProfileItem;
25663
25343
  }
25664
- /**
25665
- * @ignore exporting this only for the unit test
25344
+ /**
25345
+ * @ignore exporting this only for the unit test
25666
25346
  */
25667
25347
  function getProfileImg(store, user) {
25668
25348
  var profileUrl = null;
@@ -25680,8 +25360,8 @@ function getProfileImg(store, user) {
25680
25360
  return profileImage;
25681
25361
  }
25682
25362
 
25683
- /**
25684
- * @internal
25363
+ /**
25364
+ * @internal
25685
25365
  */
25686
25366
  function toggleMenu(event, trigger, menu) {
25687
25367
  var isExpanded = trigger.getAttribute('aria-expanded') === 'true';
@@ -25809,43 +25489,43 @@ function createControllerInfoBlock(store, user, pod, podOwner, options) {
25809
25489
  ;// ./src/create/types.ts
25810
25490
 
25811
25491
  ;// ./src/index.ts
25812
- /*
25813
- The MIT License (MIT)
25814
-
25815
- Copyright (c) 2015-2016 Solid
25816
-
25817
- Permission is hereby granted, free of charge, to any person obtaining a copy
25818
- of this software and associated documentation files (the "Software"), to deal
25819
- in the Software without restriction, including without limitation the rights
25820
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
25821
- copies of the Software, and to permit persons to whom the Software is
25822
- furnished to do so, subject to the following conditions:
25823
-
25824
- The above copyright notice and this permission notice shall be included in all
25825
- copies or substantial portions of the Software.
25826
-
25827
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
25828
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
25829
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
25830
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25831
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25832
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25833
- SOFTWARE.
25834
-
25835
- If you would like to know more about the solid Solid project, please see
25836
- https://github.com/solidos/solid
25492
+ /*
25493
+ The MIT License (MIT)
25494
+
25495
+ Copyright (c) 2015-2016 Solid
25496
+
25497
+ Permission is hereby granted, free of charge, to any person obtaining a copy
25498
+ of this software and associated documentation files (the "Software"), to deal
25499
+ in the Software without restriction, including without limitation the rights
25500
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
25501
+ copies of the Software, and to permit persons to whom the Software is
25502
+ furnished to do so, subject to the following conditions:
25503
+
25504
+ The above copyright notice and this permission notice shall be included in all
25505
+ copies or substantial portions of the Software.
25506
+
25507
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
25508
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
25509
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
25510
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25511
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25512
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25513
+ SOFTWARE.
25514
+
25515
+ If you would like to know more about the solid Solid project, please see
25516
+ https://github.com/solidos/solid
25837
25517
  */
25838
25518
 
25839
25519
 
25840
- /**
25841
- * Provides a Solid client helper object (which exposes various static modules).
25842
- * @module UI.js
25843
- * @main UI.js
25520
+ /**
25521
+ * Provides a Solid client helper object (which exposes various static modules).
25522
+ * @module UI.js
25523
+ * @main UI.js
25844
25524
  */
25845
25525
 
25846
- /**
25847
- * @class UI
25848
- * @static
25526
+ /**
25527
+ * @class UI
25528
+ * @static
25849
25529
  */
25850
25530
 
25851
25531
  // REMOVE @ts-ignore as you migrate files to TypeScript
@@ -25873,8 +25553,6 @@ https://github.com/solidos/solid
25873
25553
 
25874
25554
  // @ts-ignore
25875
25555
 
25876
- // @ts-ignore
25877
-
25878
25556
 
25879
25557
  // @ts-ignore
25880
25558
 
@@ -25906,7 +25584,6 @@ if (typeof window !== 'undefined') {
25906
25584
  participation: participation_namespaceObject,
25907
25585
  preferences: preferences_namespaceObject,
25908
25586
  style: style,
25909
- themeLoader: themeLoader,
25910
25587
  table: renderTableViewPane,
25911
25588
  tabs: tabs_namespaceObject,
25912
25589
  utils: utils_namespaceObject,