solid-ui 2.4.28-bb8b5144 → 2.4.28-cdaefc01

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.
@@ -16,10 +16,10 @@ declare class ParticipationTableElement extends HTMLTableElement {
16
16
  * @param {NamedNode} unused2/me - user that is logged into the pod (this argument is no longer used, but left in for backwards compatibility)
17
17
  * @param {ParticipationOptions} options - the options that can be passed in are deleteFunction, link, and draggable these are used by the personTR button
18
18
  */
19
- export declare function renderPartipants(dom: HTMLDocument, table: ParticipationTableElement, unused1: NamedNode, subject: NamedNode, unused2: NamedNode, options: ParticipationOptions): ParticipationTableElement;
20
- /** Record, or find old, Particpation object
19
+ export declare function renderParticipants(dom: HTMLDocument, table: ParticipationTableElement, unused1: NamedNode, subject: NamedNode, unused2: NamedNode, options: ParticipationOptions): ParticipationTableElement;
20
+ /** Record, or find old, Participation object
21
21
  *
22
- * A particpaption object is a place to record things specifically about
22
+ * A participation object is a place to record things specifically about
23
23
  * subject and the user, such as preferences, start of membership, etc
24
24
  * @param {NamedNode} subject - the thing in which the participation is happening
25
25
  * @param {NamedNode} document - where to record the data
@@ -30,7 +30,7 @@ export declare function participationObject(subject: NamedNode, padDoc: NamedNod
30
30
  /** Record my participation and display participants
31
31
  *
32
32
  * @param {NamedNode} subject - the thing in which participation is happening
33
- * @param {NamedNode} padDoc - the document into which the particpation should be recorded
33
+ * @param {NamedNode} padDoc - the document into which the participation should be recorded
34
34
  * @param {DOMNode} refreshable - a DOM element whose refresh() is to be called if the change works
35
35
  *
36
36
  */
@@ -39,7 +39,7 @@ export declare function recordParticipation(subject: NamedNode, padDoc: NamedNod
39
39
  *
40
40
  * @param {Document} dom - the web page loaded into the browser
41
41
  * @param {HTMLDivElement} container - the container element where the participants should be displayed
42
- * @param {NamedNode} document - the document into which the particpation should be shown
42
+ * @param {NamedNode} document - the document into which the participation should be shown
43
43
  * @param {NamedNode} subject - the thing in which participation is happening
44
44
  * @param {NamedNode} me - the logged in user
45
45
  * @param {ParticipationOptions} options - the options that can be passed in are deleteFunction, link, and draggable these are used by the personTR button
@@ -1 +1 @@
1
- {"version":3,"file":"participation.d.ts","sourceRoot":"","sources":["../src/participation.ts"],"names":[],"mappings":"AAKA,OAAO,EAAa,SAAS,EAAqB,MAAM,QAAQ,CAAA;AAQhE,KAAK,oBAAoB,GAAG;IAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,cAAM,yBAA0B,SAAQ,gBAAgB;IACtD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB;AAGD;;;;;;;;EAQE;AACF,wBAAgB,gBAAgB,CAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,yBAAyB,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB,6BA2C/K;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,oBAkDxF;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,OA0C3F;AAED;;;;;;;;;EASE;AACF,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,QAAQ,EACb,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,SAAS,EAClB,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,oBAAoB,oBAiB9B"}
1
+ {"version":3,"file":"participation.d.ts","sourceRoot":"","sources":["../src/participation.ts"],"names":[],"mappings":"AAKA,OAAO,EAAa,SAAS,EAAqB,MAAM,QAAQ,CAAA;AAShE,KAAK,oBAAoB,GAAG;IAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,cAAM,yBAA0B,SAAQ,gBAAgB;IACtD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB;AAGD;;;;;;;;EAQE;AACF,wBAAgB,kBAAkB,CAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,yBAAyB,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB,6BA0CjL;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,oBAkDxF;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,OAyC3F;AAED;;;;;;;;;EASE;AACF,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,QAAQ,EACb,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,SAAS,EAClB,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,oBAAoB,oBAiB9B"}
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.manageParticipation = manageParticipation;
9
9
  exports.participationObject = participationObject;
10
10
  exports.recordParticipation = recordParticipation;
11
- exports.renderPartipants = renderPartipants;
11
+ exports.renderParticipants = renderParticipants;
12
12
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
13
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
14
14
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
@@ -23,6 +23,7 @@ var ns = _interopRequireWildcard(require("./ns"));
23
23
  var _widgets = require("./widgets");
24
24
  var _utils = require("./utils");
25
25
  var _pad = require("./pad");
26
+ var style = _interopRequireWildcard(require("./style"));
26
27
  var _solidLogic = require("solid-logic");
27
28
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
28
29
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -57,9 +58,9 @@ var store = _solidLogic.solidLogicSingleton.store;
57
58
  * @param {NamedNode} unused2/me - user that is logged into the pod (this argument is no longer used, but left in for backwards compatibility)
58
59
  * @param {ParticipationOptions} options - the options that can be passed in are deleteFunction, link, and draggable these are used by the personTR button
59
60
  */
60
- function renderPartipants(dom, table, unused1, subject, unused2, options) {
61
- table.setAttribute('style', 'margin: 0.8em;');
62
- var newRowForParticpation = function newRowForParticpation(parp) {
61
+ function renderParticipants(dom, table, unused1, subject, unused2, options) {
62
+ table.setAttribute('style', style.participantsStyle);
63
+ var newRowForParticipation = function newRowForParticipation(parp) {
63
64
  var person = store.any(parp, ns.wf('participant'));
64
65
  var tr;
65
66
  if (!person) {
@@ -69,11 +70,12 @@ function renderPartipants(dom, table, unused1, subject, unused2, options) {
69
70
  }
70
71
  var bg = store.anyValue(parp, ns.ui('backgroundColor')) || 'white';
71
72
  var block = dom.createElement('div');
72
- block.setAttribute('style', 'height: 1.5em; width: 1.5em; margin: 0.3em; border 0.01em solid #888; background-color: ' + bg);
73
+ block.setAttribute('style', style.participantsBlock);
74
+ block.style.backgroundColor = bg;
73
75
  tr = (0, _widgets.personTR)(dom, null, person, options);
74
76
  table.appendChild(tr);
75
77
  var td = dom.createElement('td');
76
- td.setAttribute('style', 'vertical-align: middle;');
78
+ td.setAttribute('style', style.personTableTD);
77
79
  td.appendChild(block);
78
80
  tr.insertBefore(td, tr.firstChild);
79
81
  return tr;
@@ -87,16 +89,16 @@ function renderPartipants(dom, table, unused1, subject, unused2, options) {
87
89
  var participations = parps.map(function (p) {
88
90
  return p[1];
89
91
  });
90
- (0, _utils.syncTableToArray)(table, participations, newRowForParticpation);
92
+ (0, _utils.syncTableToArray)(table, participations, newRowForParticipation);
91
93
  };
92
94
  table.refresh = syncTable;
93
95
  syncTable();
94
96
  return table;
95
97
  }
96
98
 
97
- /** Record, or find old, Particpation object
99
+ /** Record, or find old, Participation object
98
100
  *
99
- * A particpaption object is a place to record things specifically about
101
+ * A participation object is a place to record things specifically about
100
102
  * subject and the user, such as preferences, start of membership, etc
101
103
  * @param {NamedNode} subject - the thing in which the participation is happening
102
104
  * @param {NamedNode} document - where to record the data
@@ -131,20 +133,20 @@ function participationObject(subject, padDoc, me) {
131
133
  }
132
134
  candidates.sort(); // Pick the earliest
133
135
  // @@ Possibly, for extra credit, delete the others, if we have write access
134
- debug.warn('Multiple particpation objects, picking earliest, in ' + padDoc);
136
+ debug.warn('Multiple participation objects, picking earliest, in ' + padDoc);
135
137
  resolve(candidates[0][1]);
136
138
  // throw new Error('Multiple records of your participation')
137
139
  }
138
140
 
139
141
  if (parps.length) {
140
142
  // If I am not already recorded
141
- resolve(parps[0]); // returns the particpation object
143
+ resolve(parps[0]); // returns the participation object
142
144
  } else {
143
145
  var _participation2 = (0, _widgets.newThing)(padDoc);
144
146
  var ins = [(0, _rdflib.st)(subject, ns.wf('participation'), _participation2, padDoc), (0, _rdflib.st)(_participation2, ns.wf('participant'), me, padDoc), (0, _rdflib.st)(_participation2, ns.cal('dtstart'), new Date(), padDoc), (0, _rdflib.st)(_participation2, ns.ui('backgroundColor'), (0, _pad.lightColorHash)(me), padDoc)];
145
147
  store.updater.update([], ins, function (uri, ok, errorMessage) {
146
148
  if (!ok) {
147
- reject(new Error('Error recording your partipation: ' + errorMessage));
149
+ reject(new Error('Error recording your participation: ' + errorMessage));
148
150
  } else {
149
151
  resolve(_participation2);
150
152
  }
@@ -157,7 +159,7 @@ function participationObject(subject, padDoc, me) {
157
159
  /** Record my participation and display participants
158
160
  *
159
161
  * @param {NamedNode} subject - the thing in which participation is happening
160
- * @param {NamedNode} padDoc - the document into which the particpation should be recorded
162
+ * @param {NamedNode} padDoc - the document into which the participation should be recorded
161
163
  * @param {DOMNode} refreshable - a DOM element whose refresh() is to be called if the change works
162
164
  *
163
165
  */
@@ -173,24 +175,22 @@ function recordParticipation(subject, padDoc, refreshable) {
173
175
  }
174
176
  if (parps.length) {
175
177
  // If I am not already recorded
176
- return parps[0]; // returns the particpation object
178
+ return parps[0]; // returns the participation object
177
179
  } else {
178
180
  if (!store.updater.editable(padDoc)) {
179
- debug.log('Not recording participation, as no write acesss as ' + me + ' to ' + padDoc);
181
+ debug.log('Not recording participation, as no write access as ' + me + ' to ' + padDoc);
180
182
  return null;
181
183
  }
182
184
  var participation = (0, _widgets.newThing)(padDoc);
183
185
  var ins = [(0, _rdflib.st)(subject, ns.wf('participation'), participation, padDoc), (0, _rdflib.st)(participation, ns.wf('participant'), me, padDoc), (0, _rdflib.st)(participation, ns.cal('dtstart'), new Date(), padDoc), (0, _rdflib.st)(participation, ns.ui('backgroundColor'), (0, _pad.lightColorHash)(me), padDoc)];
184
186
  store.updater.update([], ins, function (uri, ok, errorMessage) {
185
187
  if (!ok) {
186
- throw new Error('Error recording your partipation: ' + errorMessage);
188
+ throw new Error('Error recording your participation: ' + errorMessage);
187
189
  }
188
190
  if (refreshable && refreshable.refresh) {
189
191
  refreshable.refresh();
190
192
  }
191
- // UI.pad.renderPartipants(dom, table, padDoc, subject, me, options)
192
193
  });
193
-
194
194
  return participation;
195
195
  }
196
196
  }
@@ -199,7 +199,7 @@ function recordParticipation(subject, padDoc, refreshable) {
199
199
  *
200
200
  * @param {Document} dom - the web page loaded into the browser
201
201
  * @param {HTMLDivElement} container - the container element where the participants should be displayed
202
- * @param {NamedNode} document - the document into which the particpation should be shown
202
+ * @param {NamedNode} document - the document into which the participation should be shown
203
203
  * @param {NamedNode} subject - the thing in which participation is happening
204
204
  * @param {NamedNode} me - the logged in user
205
205
  * @param {ParticipationOptions} options - the options that can be passed in are deleteFunction, link, and draggable these are used by the personTR button
@@ -208,12 +208,12 @@ function recordParticipation(subject, padDoc, refreshable) {
208
208
  function manageParticipation(dom, container, padDoc, subject, me, options) {
209
209
  var table = dom.createElement('table');
210
210
  container.appendChild(table);
211
- renderPartipants(dom, table, padDoc, subject, me, options);
211
+ renderParticipants(dom, table, padDoc, subject, me, options);
212
212
  var _participation;
213
213
  try {
214
214
  _participation = recordParticipation(subject, padDoc, table);
215
215
  } catch (e) {
216
- container.appendChild((0, _widgets.errorMessageBlock)(dom, 'Error recording your partipation: ' + e)); // Clean up?
216
+ container.appendChild((0, _widgets.errorMessageBlock)(dom, 'Error recording your participation: ' + e)); // Clean up?
217
217
  }
218
218
 
219
219
  return table;
@@ -1 +1 @@
1
- {"version":3,"file":"participation.js","names":["debug","_interopRequireWildcard","require","_rdflib","ns","_widgets","_utils","_pad","_solidLogic","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","step","next","_e2","minLen","_arrayLikeToArray","toString","slice","constructor","name","from","test","arr","len","arr2","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","ParticipationTableElement","_HTMLTableElement","_inherits2","_super","_this","_classCallCheck2","_len","args","_key","concat","_defineProperty2","_assertThisInitialized2","_createClass2","_wrapNativeSuper2","HTMLTableElement","store","solidLogicSingleton","renderPartipants","dom","table","unused1","subject","unused2","options","setAttribute","newRowForParticpation","parp","person","any","wf","tr","createElement","textContent","bg","anyValue","ui","block","personTR","appendChild","td","insertBefore","firstChild","syncTable","parps","each","map","log","cal","sort","participations","p","syncTableToArray","refresh","participationObject","padDoc","me","Promise","resolve","reject","Error","filter","pn","holds","candidates","_iterator","_step","participation","date","push","warn","newThing","ins","st","Date","lightColorHash","updater","update","uri","ok","errorMessage","recordParticipation","refreshable","authn","currentUser","editable","manageParticipation","container","_participation","errorMessageBlock"],"sources":["../src/participation.ts"],"sourcesContent":["/* Manage a UI for the particpation of a person in any thing\n*/\n\n// import { currentUser } from './authn/authn'\nimport * as debug from './debug'\nimport { LiveStore, NamedNode, st, UpdateManager } from 'rdflib'\nimport * as ns from './ns'\nimport { personTR, newThing, errorMessageBlock } from './widgets'\nimport { syncTableToArray } from './utils'\nimport { lightColorHash } from './pad'\nimport { log } from './debug'\nimport { solidLogicSingleton, authn } from 'solid-logic'\n\ntype ParticipationOptions = {\n deleteFunction?: () => {}\n link?: string\n draggable?: boolean\n}\n\nclass ParticipationTableElement extends HTMLTableElement {\n refresh?: () => void\n}\nconst store = solidLogicSingleton.store as LiveStore\n\n/** Manage participation in this session\n*\n* @param {Document} dom - the web page loaded into the browser\n* @param {HTMLTableElement} table - the table element\n* @param {NamedNode} unused1/document - the document to render (this argument is no longer used, but left in for backwards compatibility)\n* @param {NamedNode} subject - the thing in which the participation is happening\n* @param {NamedNode} unused2/me - user that is logged into the pod (this argument is no longer used, but left in for backwards compatibility)\n* @param {ParticipationOptions} options - the options that can be passed in are deleteFunction, link, and draggable these are used by the personTR button\n*/\nexport function renderPartipants (dom: HTMLDocument, table: ParticipationTableElement, unused1: NamedNode, subject: NamedNode, unused2: NamedNode, options: ParticipationOptions) {\n table.setAttribute('style', 'margin: 0.8em;')\n\n const newRowForParticpation = function (parp) {\n const person = store.any(parp, ns.wf('participant'))\n\n let tr\n if (!person) {\n tr = dom.createElement('tr')\n tr.textContent = '???' // Don't crash - invalid part'n entry\n return tr\n }\n const bg = store.anyValue(parp, ns.ui('backgroundColor')) || 'white'\n\n const block = dom.createElement('div')\n block.setAttribute(\n 'style',\n 'height: 1.5em; width: 1.5em; margin: 0.3em; border 0.01em solid #888; background-color: ' +\n bg\n )\n tr = personTR(dom, null, person, options)\n table.appendChild(tr)\n const td = dom.createElement('td')\n td.setAttribute('style', 'vertical-align: middle;')\n td.appendChild(block)\n tr.insertBefore(td, tr.firstChild)\n return tr\n }\n\n const syncTable = function () {\n const parps = store.each(subject, ns.wf('participation')).map(function (parp) {\n log('in participants')\n return [store.anyValue(parp as any, ns.cal('dtstart')) || '9999-12-31', parp]\n })\n parps.sort() // List in order of joining\n const participations = parps.map(function (p) {\n return p[1]\n })\n syncTableToArray(table, participations, newRowForParticpation)\n }\n table.refresh = syncTable\n syncTable()\n return table\n}\n\n/** Record, or find old, Particpation object\n *\n * A particpaption object is a place to record things specifically about\n * subject and the user, such as preferences, start of membership, etc\n * @param {NamedNode} subject - the thing in which the participation is happening\n * @param {NamedNode} document - where to record the data\n * @param {NamedNode} me - the logged in user\n *\n */\nexport function participationObject (subject: NamedNode, padDoc: NamedNode, me: NamedNode) {\n return new Promise(function (resolve, reject) {\n if (!me) {\n throw new Error('No user id')\n }\n\n const parps = store.each(subject, ns.wf('participation')).filter(function (pn) {\n return store.holds(pn, ns.wf('participant'), me)\n })\n if (parps.length > 1) { // This can happen. https://github.com/solidos/chat-pane/issues/71\n const candidates: (string | NamedNode) [][] = []\n for (const participation of parps) {\n const date = store.anyValue(participation as NamedNode, ns.cal('dtstart'))\n if (date) {\n candidates.push([date, participation as NamedNode])\n }\n }\n candidates.sort() // Pick the earliest\n // @@ Possibly, for extra credit, delete the others, if we have write access\n debug.warn('Multiple particpation objects, picking earliest, in ' + padDoc)\n resolve(candidates[0][1])\n // throw new Error('Multiple records of your participation')\n }\n if (parps.length) {\n // If I am not already recorded\n resolve(parps[0]) // returns the particpation object\n } else {\n const participation = newThing(padDoc)\n const ins = [\n st(subject, ns.wf('participation'), participation, padDoc),\n\n st(participation, ns.wf('participant'), me, padDoc),\n st(participation, ns.cal('dtstart'), new Date() as any, padDoc),\n st(\n participation,\n ns.ui('backgroundColor'),\n lightColorHash(me) as any,\n padDoc\n )\n ];\n (store.updater as UpdateManager).update([], ins, function (uri: string | null | undefined, ok: boolean, errorMessage?: string) {\n if (!ok) {\n reject(new Error('Error recording your partipation: ' + errorMessage))\n } else {\n resolve(participation)\n }\n })\n resolve(participation)\n }\n })\n}\n\n/** Record my participation and display participants\n *\n * @param {NamedNode} subject - the thing in which participation is happening\n * @param {NamedNode} padDoc - the document into which the particpation should be recorded\n * @param {DOMNode} refreshable - a DOM element whose refresh() is to be called if the change works\n *\n */\nexport function recordParticipation (subject: NamedNode, padDoc: NamedNode, refreshable: any) {\n const me = authn.currentUser()\n if (!me) return // Not logged in\n\n const parps = store.each(subject, ns.wf('participation')).filter(function (pn) {\n return store.holds(pn, ns.wf('participant'), me)\n })\n if (parps.length > 1) {\n throw new Error('Multiple records of your participation')\n }\n if (parps.length) {\n // If I am not already recorded\n return parps[0] // returns the particpation object\n } else {\n if (!(store.updater as UpdateManager).editable(padDoc)) {\n debug.log('Not recording participation, as no write acesss as ' + me + ' to ' + padDoc)\n return null\n }\n const participation = newThing(padDoc)\n const ins = [\n st(subject, ns.wf('participation'), participation, padDoc),\n\n st(participation, ns.wf('participant'), me, padDoc),\n st(participation, ns.cal('dtstart'), new Date() as any, padDoc),\n st(\n participation,\n ns.ui('backgroundColor'),\n lightColorHash(me) as any,\n padDoc\n )\n ];\n (store.updater as UpdateManager).update([], ins, function (uri: string | null | undefined, ok: boolean, errorMessage?: string) {\n if (!ok) {\n throw new Error('Error recording your partipation: ' + errorMessage)\n }\n if (refreshable && refreshable.refresh) {\n refreshable.refresh()\n }\n // UI.pad.renderPartipants(dom, table, padDoc, subject, me, options)\n })\n return participation\n }\n}\n\n/** Record my participation and display participants\n*\n* @param {Document} dom - the web page loaded into the browser\n* @param {HTMLDivElement} container - the container element where the participants should be displayed\n* @param {NamedNode} document - the document into which the particpation should be shown\n* @param {NamedNode} subject - the thing in which participation is happening\n* @param {NamedNode} me - the logged in user\n* @param {ParticipationOptions} options - the options that can be passed in are deleteFunction, link, and draggable these are used by the personTR button\n*\n*/\nexport function manageParticipation (\n dom: Document,\n container: HTMLDivElement,\n padDoc: NamedNode,\n subject: NamedNode,\n me: NamedNode,\n options: ParticipationOptions\n) {\n const table = dom.createElement('table')\n container.appendChild(table)\n renderPartipants(dom, table, padDoc, subject, me, options)\n let _participation\n try {\n _participation = recordParticipation(subject, padDoc, table)\n } catch (e) {\n container.appendChild(\n errorMessageBlock(\n dom,\n 'Error recording your partipation: ' + e\n )\n ) // Clean up?\n }\n return table\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAIA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,EAAA,GAAAH,uBAAA,CAAAC,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,IAAA,GAAAL,OAAA;AAEA,IAAAM,WAAA,GAAAN,OAAA;AAAwD,SAAAO,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAT,wBAAAa,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAE,OAAA,CAAAF,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,cAAAN,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAAA,SAAAW,2BAAAC,CAAA,EAAAC,cAAA,QAAAC,EAAA,UAAAC,MAAA,oBAAAH,CAAA,CAAAG,MAAA,CAAAC,QAAA,KAAAJ,CAAA,qBAAAE,EAAA,QAAAG,KAAA,CAAAC,OAAA,CAAAN,CAAA,MAAAE,EAAA,GAAAK,2BAAA,CAAAP,CAAA,MAAAC,cAAA,IAAAD,CAAA,WAAAA,CAAA,CAAAQ,MAAA,qBAAAN,EAAA,EAAAF,CAAA,GAAAE,EAAA,MAAAO,CAAA,UAAAC,CAAA,YAAAA,EAAA,eAAAC,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAA,EAAA,QAAAH,CAAA,IAAAT,CAAA,CAAAQ,MAAA,WAAAK,IAAA,mBAAAA,IAAA,SAAAC,KAAA,EAAAd,CAAA,CAAAS,CAAA,UAAAM,CAAA,WAAAA,EAAAC,EAAA,UAAAA,EAAA,KAAAC,CAAA,EAAAP,CAAA,gBAAAQ,SAAA,iJAAAC,gBAAA,SAAAC,MAAA,UAAAC,GAAA,WAAAV,CAAA,WAAAA,EAAA,IAAAT,EAAA,GAAAA,EAAA,CAAAN,IAAA,CAAAI,CAAA,MAAAY,CAAA,WAAAA,EAAA,QAAAU,IAAA,GAAApB,EAAA,CAAAqB,IAAA,IAAAJ,gBAAA,GAAAG,IAAA,CAAAT,IAAA,SAAAS,IAAA,KAAAP,CAAA,WAAAA,EAAAS,GAAA,IAAAJ,MAAA,SAAAC,GAAA,GAAAG,GAAA,KAAAP,CAAA,WAAAA,EAAA,eAAAE,gBAAA,IAAAjB,EAAA,oBAAAA,EAAA,8BAAAkB,MAAA,QAAAC,GAAA;AAAA,SAAAd,4BAAAP,CAAA,EAAAyB,MAAA,SAAAzB,CAAA,qBAAAA,CAAA,sBAAA0B,iBAAA,CAAA1B,CAAA,EAAAyB,MAAA,OAAAb,CAAA,GAAAtB,MAAA,CAAAI,SAAA,CAAAiC,QAAA,CAAA/B,IAAA,CAAAI,CAAA,EAAA4B,KAAA,aAAAhB,CAAA,iBAAAZ,CAAA,CAAA6B,WAAA,EAAAjB,CAAA,GAAAZ,CAAA,CAAA6B,WAAA,CAAAC,IAAA,MAAAlB,CAAA,cAAAA,CAAA,mBAAAP,KAAA,CAAA0B,IAAA,CAAA/B,CAAA,OAAAY,CAAA,+DAAAoB,IAAA,CAAApB,CAAA,UAAAc,iBAAA,CAAA1B,CAAA,EAAAyB,MAAA;AAAA,SAAAC,kBAAAO,GAAA,EAAAC,GAAA,QAAAA,GAAA,YAAAA,GAAA,GAAAD,GAAA,CAAAzB,MAAA,EAAA0B,GAAA,GAAAD,GAAA,CAAAzB,MAAA,WAAAC,CAAA,MAAA0B,IAAA,OAAA9B,KAAA,CAAA6B,GAAA,GAAAzB,CAAA,GAAAyB,GAAA,EAAAzB,CAAA,IAAA0B,IAAA,CAAA1B,CAAA,IAAAwB,GAAA,CAAAxB,CAAA,UAAA0B,IAAA;AAAA,SAAAC,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,aAAAL,OAAA,GAAAM,MAAA,MAAAL,yBAAA,QAAAM,SAAA,OAAAF,gBAAA,mBAAAb,WAAA,EAAAc,MAAA,GAAAE,OAAA,CAAAC,SAAA,CAAAL,KAAA,EAAAM,SAAA,EAAAH,SAAA,YAAAD,MAAA,GAAAF,KAAA,CAAAO,KAAA,OAAAD,SAAA,gBAAAE,2BAAA,mBAAAN,MAAA;AAAA,SAAAJ,0BAAA,eAAAM,OAAA,qBAAAA,OAAA,CAAAC,SAAA,oBAAAD,OAAA,CAAAC,SAAA,CAAAI,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAA1D,SAAA,CAAA2D,OAAA,CAAAzD,IAAA,CAAAiD,OAAA,CAAAC,SAAA,CAAAM,OAAA,8CAAArC,CAAA;AAAA,IAQlDuC,yBAAyB,0BAAAC,iBAAA;EAAA,IAAAC,UAAA,aAAAF,yBAAA,EAAAC,iBAAA;EAAA,IAAAE,MAAA,GAAArB,YAAA,CAAAkB,yBAAA;EAAA,SAAAA,0BAAA;IAAA,IAAAI,KAAA;IAAA,IAAAC,gBAAA,mBAAAL,yBAAA;IAAA,SAAAM,IAAA,GAAAb,SAAA,CAAAvC,MAAA,EAAAqD,IAAA,OAAAxD,KAAA,CAAAuD,IAAA,GAAAE,IAAA,MAAAA,IAAA,GAAAF,IAAA,EAAAE,IAAA;MAAAD,IAAA,CAAAC,IAAA,IAAAf,SAAA,CAAAe,IAAA;IAAA;IAAAJ,KAAA,GAAAD,MAAA,CAAA7D,IAAA,CAAAoD,KAAA,CAAAS,MAAA,SAAAM,MAAA,CAAAF,IAAA;IAAA,IAAAG,gBAAA,iBAAAC,uBAAA,aAAAP,KAAA;IAAA,OAAAA,KAAA;EAAA;EAAA,WAAAQ,aAAA,aAAAZ,yBAAA;AAAA,oBAAAa,iBAAA,aAASC,gBAAgB;AAGxD,IAAMC,KAAK,GAAGC,+BAAmB,CAACD,KAAkB;;AAEpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,gBAAgBA,CAAEC,GAAiB,EAAEC,KAAgC,EAAEC,OAAkB,EAAEC,OAAkB,EAAEC,OAAkB,EAAEC,OAA6B,EAAE;EAChLJ,KAAK,CAACK,YAAY,CAAC,OAAO,EAAE,gBAAgB,CAAC;EAE7C,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAaC,IAAI,EAAE;IAC5C,IAAMC,MAAM,GAAGZ,KAAK,CAACa,GAAG,CAACF,IAAI,EAAE5G,EAAE,CAAC+G,EAAE,CAAC,aAAa,CAAC,CAAC;IAEpD,IAAIC,EAAE;IACN,IAAI,CAACH,MAAM,EAAE;MACXG,EAAE,GAAGZ,GAAG,CAACa,aAAa,CAAC,IAAI,CAAC;MAC5BD,EAAE,CAACE,WAAW,GAAG,KAAK,EAAC;MACvB,OAAOF,EAAE;IACX;IACA,IAAMG,EAAE,GAAGlB,KAAK,CAACmB,QAAQ,CAACR,IAAI,EAAE5G,EAAE,CAACqH,EAAE,CAAC,iBAAiB,CAAC,CAAC,IAAI,OAAO;IAEpE,IAAMC,KAAK,GAAGlB,GAAG,CAACa,aAAa,CAAC,KAAK,CAAC;IACtCK,KAAK,CAACZ,YAAY,CAChB,OAAO,EACP,0FAA0F,GAC1FS,EAAE,CACH;IACDH,EAAE,GAAG,IAAAO,iBAAQ,EAACnB,GAAG,EAAE,IAAI,EAAES,MAAM,EAAEJ,OAAO,CAAC;IACzCJ,KAAK,CAACmB,WAAW,CAACR,EAAE,CAAC;IACrB,IAAMS,EAAE,GAAGrB,GAAG,CAACa,aAAa,CAAC,IAAI,CAAC;IAClCQ,EAAE,CAACf,YAAY,CAAC,OAAO,EAAE,yBAAyB,CAAC;IACnDe,EAAE,CAACD,WAAW,CAACF,KAAK,CAAC;IACrBN,EAAE,CAACU,YAAY,CAACD,EAAE,EAAET,EAAE,CAACW,UAAU,CAAC;IAClC,OAAOX,EAAE;EACX,CAAC;EAED,IAAMY,SAAS,GAAG,SAAZA,SAASA,CAAA,EAAe;IAC5B,IAAMC,KAAK,GAAG5B,KAAK,CAAC6B,IAAI,CAACvB,OAAO,EAAEvG,EAAE,CAAC+G,EAAE,CAAC,eAAe,CAAC,CAAC,CAACgB,GAAG,CAAC,UAAUnB,IAAI,EAAE;MAC5E,IAAAoB,SAAG,EAAC,iBAAiB,CAAC;MACtB,OAAO,CAAC/B,KAAK,CAACmB,QAAQ,CAACR,IAAI,EAAS5G,EAAE,CAACiI,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,YAAY,EAAErB,IAAI,CAAC;IAC/E,CAAC,CAAC;IACFiB,KAAK,CAACK,IAAI,EAAE,EAAC;IACb,IAAMC,cAAc,GAAGN,KAAK,CAACE,GAAG,CAAC,UAAUK,CAAC,EAAE;MAC5C,OAAOA,CAAC,CAAC,CAAC,CAAC;IACb,CAAC,CAAC;IACF,IAAAC,uBAAgB,EAAChC,KAAK,EAAE8B,cAAc,EAAExB,qBAAqB,CAAC;EAChE,CAAC;EACDN,KAAK,CAACiC,OAAO,GAAGV,SAAS;EACzBA,SAAS,EAAE;EACX,OAAOvB,KAAK;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASkC,mBAAmBA,CAAEhC,OAAkB,EAAEiC,MAAiB,EAAEC,EAAa,EAAE;EACzF,OAAO,IAAIC,OAAO,CAAC,UAAUC,OAAO,EAAEC,MAAM,EAAE;IAC5C,IAAI,CAACH,EAAE,EAAE;MACP,MAAM,IAAII,KAAK,CAAC,YAAY,CAAC;IAC/B;IAEA,IAAMhB,KAAK,GAAG5B,KAAK,CAAC6B,IAAI,CAACvB,OAAO,EAAEvG,EAAE,CAAC+G,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC+B,MAAM,CAAC,UAAUC,EAAE,EAAE;MAC7E,OAAO9C,KAAK,CAAC+C,KAAK,CAACD,EAAE,EAAE/I,EAAE,CAAC+G,EAAE,CAAC,aAAa,CAAC,EAAE0B,EAAE,CAAC;IAClD,CAAC,CAAC;IACF,IAAIZ,KAAK,CAACzF,MAAM,GAAG,CAAC,EAAE;MAAE;MACtB,IAAM6G,UAAqC,GAAG,EAAE;MAAA,IAAAC,SAAA,GAAAvH,0BAAA,CACpBkG,KAAK;QAAAsB,KAAA;MAAA;QAAjC,KAAAD,SAAA,CAAA3G,CAAA,MAAA4G,KAAA,GAAAD,SAAA,CAAA1G,CAAA,IAAAC,IAAA,GAAmC;UAAA,IAAxB2G,aAAa,GAAAD,KAAA,CAAAzG,KAAA;UACtB,IAAM2G,IAAI,GAAGpD,KAAK,CAACmB,QAAQ,CAACgC,aAAa,EAAepJ,EAAE,CAACiI,GAAG,CAAC,SAAS,CAAC,CAAC;UAC1E,IAAIoB,IAAI,EAAE;YACRJ,UAAU,CAACK,IAAI,CAAC,CAACD,IAAI,EAAED,aAAa,CAAc,CAAC;UACrD;QACF;MAAC,SAAAnG,GAAA;QAAAiG,SAAA,CAAAvG,CAAA,CAAAM,GAAA;MAAA;QAAAiG,SAAA,CAAArG,CAAA;MAAA;MACDoG,UAAU,CAACf,IAAI,EAAE,EAAC;MAClB;MACAtI,KAAK,CAAC2J,IAAI,CAAC,sDAAsD,GAAGf,MAAM,CAAC;MAC3EG,OAAO,CAACM,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MACzB;IACF;;IACA,IAAIpB,KAAK,CAACzF,MAAM,EAAE;MAChB;MACAuG,OAAO,CAACd,KAAK,CAAC,CAAC,CAAC,CAAC,EAAC;IACpB,CAAC,MAAM;MACL,IAAMuB,eAAa,GAAG,IAAAI,iBAAQ,EAAChB,MAAM,CAAC;MACtC,IAAMiB,GAAG,GAAG,CACV,IAAAC,UAAE,EAACnD,OAAO,EAAEvG,EAAE,CAAC+G,EAAE,CAAC,eAAe,CAAC,EAAEqC,eAAa,EAAEZ,MAAM,CAAC,EAE1D,IAAAkB,UAAE,EAACN,eAAa,EAAEpJ,EAAE,CAAC+G,EAAE,CAAC,aAAa,CAAC,EAAE0B,EAAE,EAAED,MAAM,CAAC,EACnD,IAAAkB,UAAE,EAACN,eAAa,EAAEpJ,EAAE,CAACiI,GAAG,CAAC,SAAS,CAAC,EAAE,IAAI0B,IAAI,EAAE,EAASnB,MAAM,CAAC,EAC/D,IAAAkB,UAAE,EACAN,eAAa,EACbpJ,EAAE,CAACqH,EAAE,CAAC,iBAAiB,CAAC,EACxB,IAAAuC,mBAAc,EAACnB,EAAE,CAAC,EAClBD,MAAM,CACP,CACF;MACAvC,KAAK,CAAC4D,OAAO,CAAmBC,MAAM,CAAC,EAAE,EAAEL,GAAG,EAAE,UAAUM,GAA8B,EAAEC,EAAW,EAAEC,YAAqB,EAAE;QAC7H,IAAI,CAACD,EAAE,EAAE;UACPpB,MAAM,CAAC,IAAIC,KAAK,CAAC,oCAAoC,GAAGoB,YAAY,CAAC,CAAC;QACxE,CAAC,MAAM;UACLtB,OAAO,CAACS,eAAa,CAAC;QACxB;MACF,CAAC,CAAC;MACFT,OAAO,CAACS,eAAa,CAAC;IACxB;EACF,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASc,mBAAmBA,CAAE3D,OAAkB,EAAEiC,MAAiB,EAAE2B,WAAgB,EAAE;EAC5F,IAAM1B,EAAE,GAAG2B,iBAAK,CAACC,WAAW,EAAE;EAC9B,IAAI,CAAC5B,EAAE,EAAE,OAAM,CAAC;;EAEhB,IAAMZ,KAAK,GAAG5B,KAAK,CAAC6B,IAAI,CAACvB,OAAO,EAAEvG,EAAE,CAAC+G,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC+B,MAAM,CAAC,UAAUC,EAAE,EAAE;IAC7E,OAAO9C,KAAK,CAAC+C,KAAK,CAACD,EAAE,EAAE/I,EAAE,CAAC+G,EAAE,CAAC,aAAa,CAAC,EAAE0B,EAAE,CAAC;EAClD,CAAC,CAAC;EACF,IAAIZ,KAAK,CAACzF,MAAM,GAAG,CAAC,EAAE;IACpB,MAAM,IAAIyG,KAAK,CAAC,wCAAwC,CAAC;EAC3D;EACA,IAAIhB,KAAK,CAACzF,MAAM,EAAE;IAChB;IACA,OAAOyF,KAAK,CAAC,CAAC,CAAC,EAAC;EAClB,CAAC,MAAM;IACL,IAAI,CAAE5B,KAAK,CAAC4D,OAAO,CAAmBS,QAAQ,CAAC9B,MAAM,CAAC,EAAE;MACtD5I,KAAK,CAACoI,GAAG,CAAC,qDAAqD,GAAGS,EAAE,GAAG,MAAM,GAAGD,MAAM,CAAC;MACvF,OAAO,IAAI;IACb;IACA,IAAMY,aAAa,GAAG,IAAAI,iBAAQ,EAAChB,MAAM,CAAC;IACtC,IAAMiB,GAAG,GAAG,CACV,IAAAC,UAAE,EAACnD,OAAO,EAAEvG,EAAE,CAAC+G,EAAE,CAAC,eAAe,CAAC,EAAEqC,aAAa,EAAEZ,MAAM,CAAC,EAE1D,IAAAkB,UAAE,EAACN,aAAa,EAAEpJ,EAAE,CAAC+G,EAAE,CAAC,aAAa,CAAC,EAAE0B,EAAE,EAAED,MAAM,CAAC,EACnD,IAAAkB,UAAE,EAACN,aAAa,EAAEpJ,EAAE,CAACiI,GAAG,CAAC,SAAS,CAAC,EAAE,IAAI0B,IAAI,EAAE,EAASnB,MAAM,CAAC,EAC/D,IAAAkB,UAAE,EACAN,aAAa,EACbpJ,EAAE,CAACqH,EAAE,CAAC,iBAAiB,CAAC,EACxB,IAAAuC,mBAAc,EAACnB,EAAE,CAAC,EAClBD,MAAM,CACP,CACF;IACAvC,KAAK,CAAC4D,OAAO,CAAmBC,MAAM,CAAC,EAAE,EAAEL,GAAG,EAAE,UAAUM,GAA8B,EAAEC,EAAW,EAAEC,YAAqB,EAAE;MAC7H,IAAI,CAACD,EAAE,EAAE;QACP,MAAM,IAAInB,KAAK,CAAC,oCAAoC,GAAGoB,YAAY,CAAC;MACtE;MACA,IAAIE,WAAW,IAAIA,WAAW,CAAC7B,OAAO,EAAE;QACtC6B,WAAW,CAAC7B,OAAO,EAAE;MACvB;MACA;IACF,CAAC,CAAC;;IACF,OAAOc,aAAa;EACtB;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASmB,mBAAmBA,CACjCnE,GAAa,EACboE,SAAyB,EACzBhC,MAAiB,EACjBjC,OAAkB,EAClBkC,EAAa,EACbhC,OAA6B,EAC7B;EACA,IAAMJ,KAAK,GAAGD,GAAG,CAACa,aAAa,CAAC,OAAO,CAAC;EACxCuD,SAAS,CAAChD,WAAW,CAACnB,KAAK,CAAC;EAC5BF,gBAAgB,CAACC,GAAG,EAAEC,KAAK,EAAEmC,MAAM,EAAEjC,OAAO,EAAEkC,EAAE,EAAEhC,OAAO,CAAC;EAC1D,IAAIgE,cAAc;EAClB,IAAI;IACFA,cAAc,GAAGP,mBAAmB,CAAC3D,OAAO,EAAEiC,MAAM,EAAEnC,KAAK,CAAC;EAC9D,CAAC,CAAC,OAAO1D,CAAC,EAAE;IACV6H,SAAS,CAAChD,WAAW,CACnB,IAAAkD,0BAAiB,EACftE,GAAG,EACH,oCAAoC,GAAGzD,CAAC,CACzC,CACF,EAAC;EACJ;;EACA,OAAO0D,KAAK;AACd"}
1
+ {"version":3,"file":"participation.js","names":["debug","_interopRequireWildcard","require","_rdflib","ns","_widgets","_utils","_pad","style","_solidLogic","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","step","next","_e2","minLen","_arrayLikeToArray","toString","slice","constructor","name","from","test","arr","len","arr2","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","ParticipationTableElement","_HTMLTableElement","_inherits2","_super","_this","_classCallCheck2","_len","args","_key","concat","_defineProperty2","_assertThisInitialized2","_createClass2","_wrapNativeSuper2","HTMLTableElement","store","solidLogicSingleton","renderParticipants","dom","table","unused1","subject","unused2","options","setAttribute","participantsStyle","newRowForParticipation","parp","person","any","wf","tr","createElement","textContent","bg","anyValue","ui","block","participantsBlock","backgroundColor","personTR","appendChild","td","personTableTD","insertBefore","firstChild","syncTable","parps","each","map","log","cal","sort","participations","p","syncTableToArray","refresh","participationObject","padDoc","me","Promise","resolve","reject","Error","filter","pn","holds","candidates","_iterator","_step","participation","date","push","warn","newThing","ins","st","Date","lightColorHash","updater","update","uri","ok","errorMessage","recordParticipation","refreshable","authn","currentUser","editable","manageParticipation","container","_participation","errorMessageBlock"],"sources":["../src/participation.ts"],"sourcesContent":["/* Manage a UI for the participation of a person in any thing\n*/\n\n// import { currentUser } from './authn/authn'\nimport * as debug from './debug'\nimport { LiveStore, NamedNode, st, UpdateManager } from 'rdflib'\nimport * as ns from './ns'\nimport { personTR, newThing, errorMessageBlock } from './widgets'\nimport { syncTableToArray } from './utils'\nimport { lightColorHash } from './pad'\nimport { log } from './debug'\nimport * as style from './style'\nimport { solidLogicSingleton, authn } from 'solid-logic'\n\ntype ParticipationOptions = {\n deleteFunction?: () => {}\n link?: string\n draggable?: boolean\n}\n\nclass ParticipationTableElement extends HTMLTableElement {\n refresh?: () => void\n}\nconst store = solidLogicSingleton.store as LiveStore\n\n/** Manage participation in this session\n*\n* @param {Document} dom - the web page loaded into the browser\n* @param {HTMLTableElement} table - the table element\n* @param {NamedNode} unused1/document - the document to render (this argument is no longer used, but left in for backwards compatibility)\n* @param {NamedNode} subject - the thing in which the participation is happening\n* @param {NamedNode} unused2/me - user that is logged into the pod (this argument is no longer used, but left in for backwards compatibility)\n* @param {ParticipationOptions} options - the options that can be passed in are deleteFunction, link, and draggable these are used by the personTR button\n*/\nexport function renderParticipants (dom: HTMLDocument, table: ParticipationTableElement, unused1: NamedNode, subject: NamedNode, unused2: NamedNode, options: ParticipationOptions) {\n table.setAttribute('style', style.participantsStyle)\n\n const newRowForParticipation = function (parp) {\n const person = store.any(parp, ns.wf('participant'))\n\n let tr\n if (!person) {\n tr = dom.createElement('tr')\n tr.textContent = '???' // Don't crash - invalid part'n entry\n return tr\n }\n const bg = store.anyValue(parp, ns.ui('backgroundColor')) || 'white'\n\n const block = dom.createElement('div')\n block.setAttribute(\n 'style', style.participantsBlock)\n block.style.backgroundColor = bg\n\n tr = personTR(dom, null, person, options)\n table.appendChild(tr)\n const td = dom.createElement('td')\n td.setAttribute('style', style.personTableTD)\n td.appendChild(block)\n tr.insertBefore(td, tr.firstChild)\n return tr\n }\n\n const syncTable = function () {\n const parps = store.each(subject, ns.wf('participation')).map(function (parp) {\n log('in participants')\n return [store.anyValue(parp as any, ns.cal('dtstart')) || '9999-12-31', parp]\n })\n parps.sort() // List in order of joining\n const participations = parps.map(function (p) {\n return p[1]\n })\n syncTableToArray(table, participations, newRowForParticipation)\n }\n table.refresh = syncTable\n syncTable()\n return table\n}\n\n/** Record, or find old, Participation object\n *\n * A participation object is a place to record things specifically about\n * subject and the user, such as preferences, start of membership, etc\n * @param {NamedNode} subject - the thing in which the participation is happening\n * @param {NamedNode} document - where to record the data\n * @param {NamedNode} me - the logged in user\n *\n */\nexport function participationObject (subject: NamedNode, padDoc: NamedNode, me: NamedNode) {\n return new Promise(function (resolve, reject) {\n if (!me) {\n throw new Error('No user id')\n }\n\n const parps = store.each(subject, ns.wf('participation')).filter(function (pn) {\n return store.holds(pn, ns.wf('participant'), me)\n })\n if (parps.length > 1) { // This can happen. https://github.com/solidos/chat-pane/issues/71\n const candidates: (string | NamedNode) [][] = []\n for (const participation of parps) {\n const date = store.anyValue(participation as NamedNode, ns.cal('dtstart'))\n if (date) {\n candidates.push([date, participation as NamedNode])\n }\n }\n candidates.sort() // Pick the earliest\n // @@ Possibly, for extra credit, delete the others, if we have write access\n debug.warn('Multiple participation objects, picking earliest, in ' + padDoc)\n resolve(candidates[0][1])\n // throw new Error('Multiple records of your participation')\n }\n if (parps.length) {\n // If I am not already recorded\n resolve(parps[0]) // returns the participation object\n } else {\n const participation = newThing(padDoc)\n const ins = [\n st(subject, ns.wf('participation'), participation, padDoc),\n\n st(participation, ns.wf('participant'), me, padDoc),\n st(participation, ns.cal('dtstart'), new Date() as any, padDoc),\n st(\n participation,\n ns.ui('backgroundColor'),\n lightColorHash(me) as any,\n padDoc\n )\n ];\n (store.updater as UpdateManager).update([], ins, function (uri: string | null | undefined, ok: boolean, errorMessage?: string) {\n if (!ok) {\n reject(new Error('Error recording your participation: ' + errorMessage))\n } else {\n resolve(participation)\n }\n })\n resolve(participation)\n }\n })\n}\n\n/** Record my participation and display participants\n *\n * @param {NamedNode} subject - the thing in which participation is happening\n * @param {NamedNode} padDoc - the document into which the participation should be recorded\n * @param {DOMNode} refreshable - a DOM element whose refresh() is to be called if the change works\n *\n */\nexport function recordParticipation (subject: NamedNode, padDoc: NamedNode, refreshable: any) {\n const me = authn.currentUser()\n if (!me) return // Not logged in\n\n const parps = store.each(subject, ns.wf('participation')).filter(function (pn) {\n return store.holds(pn, ns.wf('participant'), me)\n })\n if (parps.length > 1) {\n throw new Error('Multiple records of your participation')\n }\n if (parps.length) {\n // If I am not already recorded\n return parps[0] // returns the participation object\n } else {\n if (!(store.updater as UpdateManager).editable(padDoc)) {\n debug.log('Not recording participation, as no write access as ' + me + ' to ' + padDoc)\n return null\n }\n const participation = newThing(padDoc)\n const ins = [\n st(subject, ns.wf('participation'), participation, padDoc),\n\n st(participation, ns.wf('participant'), me, padDoc),\n st(participation, ns.cal('dtstart'), new Date() as any, padDoc),\n st(\n participation,\n ns.ui('backgroundColor'),\n lightColorHash(me) as any,\n padDoc\n )\n ];\n (store.updater as UpdateManager).update([], ins, function (uri: string | null | undefined, ok: boolean, errorMessage?: string) {\n if (!ok) {\n throw new Error('Error recording your participation: ' + errorMessage)\n }\n if (refreshable && refreshable.refresh) {\n refreshable.refresh()\n }\n })\n return participation\n }\n}\n\n/** Record my participation and display participants\n*\n* @param {Document} dom - the web page loaded into the browser\n* @param {HTMLDivElement} container - the container element where the participants should be displayed\n* @param {NamedNode} document - the document into which the participation should be shown\n* @param {NamedNode} subject - the thing in which participation is happening\n* @param {NamedNode} me - the logged in user\n* @param {ParticipationOptions} options - the options that can be passed in are deleteFunction, link, and draggable these are used by the personTR button\n*\n*/\nexport function manageParticipation (\n dom: Document,\n container: HTMLDivElement,\n padDoc: NamedNode,\n subject: NamedNode,\n me: NamedNode,\n options: ParticipationOptions\n) {\n const table = dom.createElement('table')\n container.appendChild(table)\n renderParticipants(dom, table, padDoc, subject, me, options)\n let _participation\n try {\n _participation = recordParticipation(subject, padDoc, table)\n } catch (e) {\n container.appendChild(\n errorMessageBlock(\n dom,\n 'Error recording your participation: ' + e\n )\n ) // Clean up?\n }\n return table\n}\n"],"mappings":"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"}
package/lib/style.js CHANGED
@@ -16,6 +16,8 @@ var formFieldNameBoxWidth = '8em'; // The fixed amount to get form fields to lin
16
16
  // The latter we put in when switching awy from using tables. Getting allignment between
17
17
  // fields in different groups though is hard problem.
18
18
 
19
+ var mediaModuleCanvasWidth = '640';
20
+ var mediaModuleCanvasHeight = '480';
19
21
  var style = {
20
22
  // styleModule
21
23
 
@@ -141,7 +143,35 @@ var style = {
141
143
  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',
142
144
  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',
143
145
  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',
144
- 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'
146
+ 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',
147
+ // media
148
+ controlStyle: "border-radius: 0.5em; margin: 0.8em; width:".concat(mediaModuleCanvasWidth, "; height:").concat(mediaModuleCanvasHeight, ";"),
149
+ // dragAndDrop
150
+ dragEvent: 'background-color: #ccc; border: 0.25em dashed black; border-radius: 0.3em;',
151
+ dropEvent: 'background-color: white; border: 0em solid black;',
152
+ restoreStyle: 'background-color: white;',
153
+ // errors
154
+ errorCancelButton: 'width: 2em; height: 2em; align: right;',
155
+ errorMessageBlock: 'margin: 0.1em; padding: 0.5em; border: 0.05em solid gray; color:black;',
156
+ defaultErrorBackgroundColor: '#fee',
157
+ // pad
158
+ notepadStyle: 'padding: 1em; overflow: auto; resize: horizontal; min-width: 40em;',
159
+ upstreamStatus: 'width:50%',
160
+ downstreamStatus: 'width:50%',
161
+ baseStyle: 'font-size: 100%; font-family: monospace; width: 100%; border: none; white-space: pre-wrap;',
162
+ headingCore: 'font-family: sans-serif; font-weight: bold; border: none;',
163
+ 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%;'],
164
+ // participation
165
+ participantsStyle: 'margin: 0.8em;',
166
+ participantsBlock: 'height: 1.5em; width: 1.5em; margin: 0.3em; border 0.01em solid #888;',
167
+ personTableTD: 'vertical-align: middle;',
168
+ // tabs
169
+ tabsNavElement: 'margin: 0;',
170
+ tabsRootElement: 'display: flex; height: 100%; width: 100%;',
171
+ tabsMainElement: 'margin: 0; width:100%; height: 100%;',
172
+ tabContainer: 'list-style-type: none; display: flex; height: 100%; width: 100%; margin: 0; padding: 0;',
173
+ makeNewSlot: 'background: none; border: none; font: inherit; cursor: pointer',
174
+ ellipsis: 'position: absolute; right: 0; bottom: 0; width: 20%; background: none; color: inherit; border: none; padding: 0; font: inherit; cursor: pointer; outline: inherit;'
145
175
  };
146
176
  exports.style = style;
147
177
  style.setStyle = function setStyle(ele, styleName) {
package/lib/style.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"style.js","names":["formBorderColor","lowProfileLinkColor","formFieldNameBoxWidth","style","checkboxStyle","checkboxInputStyle","fieldLabelStyle","formSelectSTyle","textInputStyle","textInputStyleUneditable","textInputSize","buttonStyle","commentStyle","iconStyle","smallButtonStyle","classIconStyle","confirmPopupStyle","tabBorderRadius","messageBodyStyle","pendingeditModifier","highlightColor","personaBarStyle","searchInputStyle","autocompleteRowStyle","signInButtonStyle","heading1Style","heading2Style","heading3Style","heading4Style","formHeadingColor","formHeadingStyle","formTextInput","formGroupStyle","concat","formFieldLabelStyle","formFieldNameBoxStyle","textInputBackgroundColor","textInputBackgroundColorUneditable","textInputColor","textInputColorPending","multilineTextInputStyle","renderAsDivStyle","imageDivStyle","linkDivStyle","aclControlBoxContainer","aclControlBoxHeader","aclControlBoxStatus","aclControlBoxStatusRevealed","aclGroupContent","accessGroupList","accessGroupListItem","defaultsController","defaultsControllerNotice","bigButton","group","group1","group2","group3","group5","group9","group13","trustedAppAddApplicationsTable","trustedAppCancelButton","trustedAppControllerI","temporaryStatusInit","temporaryStatusEnd","headerUserMenuLink","headerUserMenuLinkHover","headerUserMenuTrigger","headerUserMenuTriggerImg","headerUserMenuButton","headerUserMenuButtonHover","headerUserMenuList","headerUserMenuListDisplay","headerUserMenuNavigationMenu","headerUserMenuNavigationMenuNotDisplayed","headerUserMenuListItem","headerUserMenuPhoto","headerBanner","headerBannerLink","headerBannerRightMenu","headerBannerLogin","allChildrenVisible","headerBannerLoginInput","headerBannerUserMenu","headerBannerHelpMenu","headerBannerIcon","footer","primaryButton","primaryButtonHover","primaryButtonNoBorder","primaryButtonNoBorderHover","secondaryButton","secondaryButtonHover","secondaryButtonNoBorder","secondaryButtonNoBorderHover","exports","setStyle","ele","styleName","module"],"sources":["../src/style.js"],"sourcesContent":["// Common readable consistent stylesheet\n// to avoid using style sheets which are document-global\n// and make programmable style toggling with selection, drag over, etc easier\n\n// These must all end with semicolon so they can be appended to.\n\nconst formBorderColor = '#888888' // Mid-grey\nconst lowProfileLinkColor = '#3B5998' // Grey-blue, e.g., for field labels linking to ontology\nconst formFieldNameBoxWidth = '8em' // The fixed amount to get form fields to line up\n// The latter we put in when switching awy from using tables. Getting allignment between\n// fields in different groups though is hard problem.\n\nexport const style = { // styleModule\n\n checkboxStyle: 'color: black; font-size: 100%; padding-left: 0.5 em; padding-right: 0.5 em;',\n checkboxInputStyle: 'font-size: 150%; height: 1.2em; width: 1.2em; background-color: #eef; border-radius:0.2em; margin: 0.1em',\n\n fieldLabelStyle: 'color: #3B5998; text-decoration: none;',\n formSelectSTyle:\n 'background-color: #eef; padding: 0.5em; border: .05em solid #88c; border-radius:0.2em; font-size: 100%; margin:0.4em;',\n textInputStyle:\n 'background-color: #eef; padding: 0.5em; border: .05em solid #88c; border-radius:0.2em; font-size: 100%; margin:0.4em;',\n textInputStyleUneditable: // Color difference only\n 'background-color: white; padding: 0.5em; border: .05em solid white; border-radius:0.2em; font-size: 100%; margin:0.4em;',\n textInputSize: 20, // Default text input size in characters roughly\n buttonStyle:\n 'background-color: #fff; padding: 0.7em; border: .01em solid white; border-radius:0.2em; font-size: 100%; margin: 0.3em;', // 'background-color: #eef;\n commentStyle: 'padding: 0.7em; border: none; font-size: 100%; white-space: pre-wrap;',\n iconStyle: 'width: 3em; height: 3em; margin: 0.1em; border-radius: 1em;',\n smallButtonStyle: 'margin: 0.2em; width: 1em; height:1em;',\n classIconStyle: 'width: 3em; height: 3em; margin: 0.1em; border-radius: 0.2em; border: 0.1em solid green; padding: 0.2em; background-color: #efe;', // combine with buttonStyle\n confirmPopupStyle: 'padding: 0.7em; border-radius: 0.2em; border: 0.1em solid orange; background-color: white; box-shadow: 0.5em 0.9em #888;',\n tabBorderRadius: '0.2em',\n messageBodyStyle:\n '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;',\n pendingeditModifier: 'color: #bbb;',\n highlightColor: '#7C4DFF', // Solid lavendar https://design.inrupt.com/atomic-core/?cat=Core\n\n // Contacts\n personaBarStyle: 'width: 100%; height: 4em; background-color: #eee; vertical-align: middle;',\n searchInputStyle: 'border: 0.1em solid #444; border-radius: 0.2em; width: 100%; font-size: 100%; padding: 0.1em 0.6em; margin 0.2em;',\n autocompleteRowStyle: 'border: 0.2em solid straw;',\n\n // Login buttons\n signInButtonStyle: 'padding: 1em; border-radius:0.2em; font-size: 100%;', // was 0.5em radius\n\n // Forms\n heading1Style: 'font-size: 180%; font-weight: bold; color: #888888; padding: 0.5em; margin: 0.7em 0.0m;', // originally was brown; now grey\n heading2Style: 'font-size: 130%; font-weight: bold; color: #888888; padding: 0.4em; margin: 0.7em 0.0em;', // originally was brown; now grey\n heading3Style: 'font-size: 120%; font-weight: bold; color: #888888; padding: 0.3em; margin: 0.7em 0.0em;', // For example, in large forms or before a small form\n heading4Style: 'font-size: 110%; font-weight: bold; color: #888888; padding: 0.2em; margin: 0.7em 0.0em;', // Lowest level used by default in small things\n\n formBorderColor, // originally was brown; now grey\n formHeadingColor: '#888888', // originally was brown; now grey\n formHeadingStyle: 'font-size: 110%; font-weight: bold; color: #888888; padding: 0.2em; margin: 0.7em 0.0em;', // originally was brown; now grey\n formTextInput: 'font-size: 100%; margin: 0.1em; padding: 0.1em;', // originally used this\n formGroupStyle: [`padding-left: 0em; border: 0.0em solid ${formBorderColor}; border-radius: 0.2em;`, // weight 0\n `padding-left: 2em; border: 0.05em solid ${formBorderColor}; border-radius: 0.2em;`,\n `padding-left: 2em; border: 0.1em solid ${formBorderColor}; border-radius: 0.2em;`,\n `padding-left: 2em; border: 0.2em solid ${formBorderColor}; border-radius: 0.2em;` // @@ pink\n ],\n\n formFieldLabelStyle: `'color: ${lowProfileLinkColor}; text-decoration: none;'`,\n formFieldNameBoxWidth,\n formFieldNameBoxStyle: `padding: 0.3em; vertical-align: middle; width:${formFieldNameBoxWidth};`,\n textInputBackgroundColor: '#eef',\n textInputBackgroundColorUneditable: '#fff',\n textInputColor: '#000',\n textInputColorPending: '#888',\n multilineTextInputStyle: 'font-size:100%; white-space: pre-wrap; background-color: #eef;' +\n ' border: 0.07em solid gray; padding: 1em 0.5em; margin: 1em 1em;',\n\n // Buttons\n renderAsDivStyle: 'display: flex; align-items: center; justify-content: space-between; height: 2.5em; padding: 1em;',\n imageDivStyle: 'width:2.5em; padding:0.5em; height: 2.5em;',\n linkDivStyle: 'width:2em; padding:0.5em; height: 4em;',\n\n // ACL\n aclControlBoxContainer: 'margin: 1em',\n aclControlBoxHeader: 'font-size: 120%; margin: 0 0 1rem',\n aclControlBoxStatus: 'display: none; margin: 1rem 0',\n aclControlBoxStatusRevealed: 'display: block',\n aclGroupContent: 'maxWidth: 650',\n accessGroupList: 'display: grid; grid-template-columns: 1fr; margin: 1em; width: 100%',\n accessGroupListItem: 'display: grid; grid-template-columns: 100px auto 30%',\n defaultsController: 'display: flex',\n defaultsControllerNotice: 'color: #888; flexGrow: 1; fontSize: 80%',\n bigButton: 'background-color: white; border: 0.1em solid #888; border-radius: 0.3em; max-width: 50%; padding-bottom: 1em; padding-top: 1em',\n group: 'color: #888',\n group1: 'color: green',\n group2: 'color: #cc0',\n group3: 'color: orange',\n group5: 'color: red',\n group9: 'color: blue',\n group13: 'color: purple',\n\n trustedAppAddApplicationsTable: 'background-color: #eee',\n trustedAppCancelButton: 'float: right',\n trustedAppControllerI: 'border-color: orange; borderRadius: 1em; borderWidth: 0.1em',\n temporaryStatusInit: 'background: green',\n temporaryStatusEnd: 'background: transparent; transition: background 5s linear',\n\n // header\n 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',\n 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%)',\n headerUserMenuTrigger: 'background: none; border: 0; cursor: pointer; width: 60px; height: 60px',\n headerUserMenuTriggerImg: 'border-radius: 50%; height: 56px; width: 28px !important',\n headerUserMenuButton: 'background: none; border: 0; color: black; cursor: pointer; display: block; font-family: Arial; font-size: 1em; text-align: left; padding: 1em; width: 100%',\n 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%)',\n headerUserMenuList: 'list-style: none; margin: 0; padding: 0',\n headerUserMenuListDisplay: 'list-style: none; margin: 0; padding: 0; display:true',\n headerUserMenuNavigationMenu: 'background: white; border: solid 1px #000000; border-right: 0; position: absolute; right: 0; top: 60px; width: 200px; z-index: 1; display: true',\n headerUserMenuNavigationMenuNotDisplayed: 'background: white; border: solid 1px #000000; border-right: 0; position: absolute; right: 0; top: 60px; width: 200px; z-index: 1; display: none',\n headerUserMenuListItem: 'border-bottom: solid 1px #000000',\n headerUserMenuPhoto: 'border-radius: 50%; background-position: center; background-repeat: no-repeat; background-size: cover; height: 50px; width: 50px',\n headerBanner: 'box-shadow: 0px 1px 4px #000000; display: flex; justify-content: space-between; padding: 0 1.5em; margin-bottom: 4px',\n headerBannerLink: 'display: block',\n headerBannerRightMenu: 'display: flex',\n headerBannerLogin: 'margin-left: auto',\n allChildrenVisible: 'display:true',\n headerBannerLoginInput: 'margin: 0.75em 0 0.75em 0.5em !important; padding: 0.5em !important',\n headerBannerUserMenu: 'border-left: solid 1px #000000; margin-left: auto',\n headerBannerHelpMenu: 'border-left: solid 1px #000000; margin.left: auto',\n headerBannerIcon: 'background-size: 65px 60px !important; height: 60px !important; width: 65px !important', // may just be 65px round($icon-size * 352 / 322);\n\n // footer\n footer: 'border-top: solid 1px $divider-color; font-size: 0.9em; padding: 0.5em 1.5em',\n\n // buttons\n 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',\n\n 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',\n\n 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',\n\n 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',\n\n 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',\n\n 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',\n\n 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',\n\n 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'\n\n}\n\nstyle.setStyle = function setStyle (ele, styleName) {\n ele.style = style[styleName]\n}\n\nmodule.exports = style // @@ No way to do this in ESM\n"],"mappings":"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"}
1
+ {"version":3,"file":"style.js","names":["formBorderColor","lowProfileLinkColor","formFieldNameBoxWidth","mediaModuleCanvasWidth","mediaModuleCanvasHeight","style","checkboxStyle","checkboxInputStyle","fieldLabelStyle","formSelectSTyle","textInputStyle","textInputStyleUneditable","textInputSize","buttonStyle","commentStyle","iconStyle","smallButtonStyle","classIconStyle","confirmPopupStyle","tabBorderRadius","messageBodyStyle","pendingeditModifier","highlightColor","personaBarStyle","searchInputStyle","autocompleteRowStyle","signInButtonStyle","heading1Style","heading2Style","heading3Style","heading4Style","formHeadingColor","formHeadingStyle","formTextInput","formGroupStyle","concat","formFieldLabelStyle","formFieldNameBoxStyle","textInputBackgroundColor","textInputBackgroundColorUneditable","textInputColor","textInputColorPending","multilineTextInputStyle","renderAsDivStyle","imageDivStyle","linkDivStyle","aclControlBoxContainer","aclControlBoxHeader","aclControlBoxStatus","aclControlBoxStatusRevealed","aclGroupContent","accessGroupList","accessGroupListItem","defaultsController","defaultsControllerNotice","bigButton","group","group1","group2","group3","group5","group9","group13","trustedAppAddApplicationsTable","trustedAppCancelButton","trustedAppControllerI","temporaryStatusInit","temporaryStatusEnd","headerUserMenuLink","headerUserMenuLinkHover","headerUserMenuTrigger","headerUserMenuTriggerImg","headerUserMenuButton","headerUserMenuButtonHover","headerUserMenuList","headerUserMenuListDisplay","headerUserMenuNavigationMenu","headerUserMenuNavigationMenuNotDisplayed","headerUserMenuListItem","headerUserMenuPhoto","headerBanner","headerBannerLink","headerBannerRightMenu","headerBannerLogin","allChildrenVisible","headerBannerLoginInput","headerBannerUserMenu","headerBannerHelpMenu","headerBannerIcon","footer","primaryButton","primaryButtonHover","primaryButtonNoBorder","primaryButtonNoBorderHover","secondaryButton","secondaryButtonHover","secondaryButtonNoBorder","secondaryButtonNoBorderHover","controlStyle","dragEvent","dropEvent","restoreStyle","errorCancelButton","errorMessageBlock","defaultErrorBackgroundColor","notepadStyle","upstreamStatus","downstreamStatus","baseStyle","headingCore","headingStyle","participantsStyle","participantsBlock","personTableTD","tabsNavElement","tabsRootElement","tabsMainElement","tabContainer","makeNewSlot","ellipsis","exports","setStyle","ele","styleName","module"],"sources":["../src/style.js"],"sourcesContent":["// Common readable consistent stylesheet\n// to avoid using style sheets which are document-global\n// and make programmable style toggling with selection, drag over, etc easier\n\n// These must all end with semicolon so they can be appended to.\n\nconst formBorderColor = '#888888' // Mid-grey\nconst lowProfileLinkColor = '#3B5998' // Grey-blue, e.g., for field labels linking to ontology\nconst formFieldNameBoxWidth = '8em' // The fixed amount to get form fields to line up\n// The latter we put in when switching awy from using tables. Getting allignment between\n// fields in different groups though is hard problem.\n\nconst mediaModuleCanvasWidth = '640'\nconst mediaModuleCanvasHeight = '480'\n\nexport const style = { // styleModule\n\n checkboxStyle: 'color: black; font-size: 100%; padding-left: 0.5 em; padding-right: 0.5 em;',\n checkboxInputStyle: 'font-size: 150%; height: 1.2em; width: 1.2em; background-color: #eef; border-radius:0.2em; margin: 0.1em',\n\n fieldLabelStyle: 'color: #3B5998; text-decoration: none;',\n formSelectSTyle:\n 'background-color: #eef; padding: 0.5em; border: .05em solid #88c; border-radius:0.2em; font-size: 100%; margin:0.4em;',\n textInputStyle:\n 'background-color: #eef; padding: 0.5em; border: .05em solid #88c; border-radius:0.2em; font-size: 100%; margin:0.4em;',\n textInputStyleUneditable: // Color difference only\n 'background-color: white; padding: 0.5em; border: .05em solid white; border-radius:0.2em; font-size: 100%; margin:0.4em;',\n textInputSize: 20, // Default text input size in characters roughly\n buttonStyle:\n 'background-color: #fff; padding: 0.7em; border: .01em solid white; border-radius:0.2em; font-size: 100%; margin: 0.3em;', // 'background-color: #eef;\n commentStyle: 'padding: 0.7em; border: none; font-size: 100%; white-space: pre-wrap;',\n iconStyle: 'width: 3em; height: 3em; margin: 0.1em; border-radius: 1em;',\n smallButtonStyle: 'margin: 0.2em; width: 1em; height:1em;',\n classIconStyle: 'width: 3em; height: 3em; margin: 0.1em; border-radius: 0.2em; border: 0.1em solid green; padding: 0.2em; background-color: #efe;', // combine with buttonStyle\n confirmPopupStyle: 'padding: 0.7em; border-radius: 0.2em; border: 0.1em solid orange; background-color: white; box-shadow: 0.5em 0.9em #888;',\n tabBorderRadius: '0.2em',\n messageBodyStyle:\n '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;',\n pendingeditModifier: 'color: #bbb;',\n highlightColor: '#7C4DFF', // Solid lavendar https://design.inrupt.com/atomic-core/?cat=Core\n\n // Contacts\n personaBarStyle: 'width: 100%; height: 4em; background-color: #eee; vertical-align: middle;',\n searchInputStyle: 'border: 0.1em solid #444; border-radius: 0.2em; width: 100%; font-size: 100%; padding: 0.1em 0.6em; margin 0.2em;',\n autocompleteRowStyle: 'border: 0.2em solid straw;',\n\n // Login buttons\n signInButtonStyle: 'padding: 1em; border-radius:0.2em; font-size: 100%;', // was 0.5em radius\n\n // Forms\n heading1Style: 'font-size: 180%; font-weight: bold; color: #888888; padding: 0.5em; margin: 0.7em 0.0m;', // originally was brown; now grey\n heading2Style: 'font-size: 130%; font-weight: bold; color: #888888; padding: 0.4em; margin: 0.7em 0.0em;', // originally was brown; now grey\n heading3Style: 'font-size: 120%; font-weight: bold; color: #888888; padding: 0.3em; margin: 0.7em 0.0em;', // For example, in large forms or before a small form\n heading4Style: 'font-size: 110%; font-weight: bold; color: #888888; padding: 0.2em; margin: 0.7em 0.0em;', // Lowest level used by default in small things\n\n formBorderColor, // originally was brown; now grey\n formHeadingColor: '#888888', // originally was brown; now grey\n formHeadingStyle: 'font-size: 110%; font-weight: bold; color: #888888; padding: 0.2em; margin: 0.7em 0.0em;', // originally was brown; now grey\n formTextInput: 'font-size: 100%; margin: 0.1em; padding: 0.1em;', // originally used this\n formGroupStyle: [`padding-left: 0em; border: 0.0em solid ${formBorderColor}; border-radius: 0.2em;`, // weight 0\n `padding-left: 2em; border: 0.05em solid ${formBorderColor}; border-radius: 0.2em;`,\n `padding-left: 2em; border: 0.1em solid ${formBorderColor}; border-radius: 0.2em;`,\n `padding-left: 2em; border: 0.2em solid ${formBorderColor}; border-radius: 0.2em;` // @@ pink\n ],\n\n formFieldLabelStyle: `'color: ${lowProfileLinkColor}; text-decoration: none;'`,\n formFieldNameBoxWidth,\n formFieldNameBoxStyle: `padding: 0.3em; vertical-align: middle; width:${formFieldNameBoxWidth};`,\n textInputBackgroundColor: '#eef',\n textInputBackgroundColorUneditable: '#fff',\n textInputColor: '#000',\n textInputColorPending: '#888',\n multilineTextInputStyle: 'font-size:100%; white-space: pre-wrap; background-color: #eef;' +\n ' border: 0.07em solid gray; padding: 1em 0.5em; margin: 1em 1em;',\n\n // Buttons\n renderAsDivStyle: 'display: flex; align-items: center; justify-content: space-between; height: 2.5em; padding: 1em;',\n imageDivStyle: 'width:2.5em; padding:0.5em; height: 2.5em;',\n linkDivStyle: 'width:2em; padding:0.5em; height: 4em;',\n\n // ACL\n aclControlBoxContainer: 'margin: 1em',\n aclControlBoxHeader: 'font-size: 120%; margin: 0 0 1rem',\n aclControlBoxStatus: 'display: none; margin: 1rem 0',\n aclControlBoxStatusRevealed: 'display: block',\n aclGroupContent: 'maxWidth: 650',\n accessGroupList: 'display: grid; grid-template-columns: 1fr; margin: 1em; width: 100%',\n accessGroupListItem: 'display: grid; grid-template-columns: 100px auto 30%',\n defaultsController: 'display: flex',\n defaultsControllerNotice: 'color: #888; flexGrow: 1; fontSize: 80%',\n bigButton: 'background-color: white; border: 0.1em solid #888; border-radius: 0.3em; max-width: 50%; padding-bottom: 1em; padding-top: 1em',\n group: 'color: #888',\n group1: 'color: green',\n group2: 'color: #cc0',\n group3: 'color: orange',\n group5: 'color: red',\n group9: 'color: blue',\n group13: 'color: purple',\n\n trustedAppAddApplicationsTable: 'background-color: #eee',\n trustedAppCancelButton: 'float: right',\n trustedAppControllerI: 'border-color: orange; borderRadius: 1em; borderWidth: 0.1em',\n temporaryStatusInit: 'background: green',\n temporaryStatusEnd: 'background: transparent; transition: background 5s linear',\n\n // header\n 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',\n 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%)',\n headerUserMenuTrigger: 'background: none; border: 0; cursor: pointer; width: 60px; height: 60px',\n headerUserMenuTriggerImg: 'border-radius: 50%; height: 56px; width: 28px !important',\n headerUserMenuButton: 'background: none; border: 0; color: black; cursor: pointer; display: block; font-family: Arial; font-size: 1em; text-align: left; padding: 1em; width: 100%',\n 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%)',\n headerUserMenuList: 'list-style: none; margin: 0; padding: 0',\n headerUserMenuListDisplay: 'list-style: none; margin: 0; padding: 0; display:true',\n headerUserMenuNavigationMenu: 'background: white; border: solid 1px #000000; border-right: 0; position: absolute; right: 0; top: 60px; width: 200px; z-index: 1; display: true',\n headerUserMenuNavigationMenuNotDisplayed: 'background: white; border: solid 1px #000000; border-right: 0; position: absolute; right: 0; top: 60px; width: 200px; z-index: 1; display: none',\n headerUserMenuListItem: 'border-bottom: solid 1px #000000',\n headerUserMenuPhoto: 'border-radius: 50%; background-position: center; background-repeat: no-repeat; background-size: cover; height: 50px; width: 50px',\n headerBanner: 'box-shadow: 0px 1px 4px #000000; display: flex; justify-content: space-between; padding: 0 1.5em; margin-bottom: 4px',\n headerBannerLink: 'display: block',\n headerBannerRightMenu: 'display: flex',\n headerBannerLogin: 'margin-left: auto',\n allChildrenVisible: 'display:true',\n headerBannerLoginInput: 'margin: 0.75em 0 0.75em 0.5em !important; padding: 0.5em !important',\n headerBannerUserMenu: 'border-left: solid 1px #000000; margin-left: auto',\n headerBannerHelpMenu: 'border-left: solid 1px #000000; margin.left: auto',\n headerBannerIcon: 'background-size: 65px 60px !important; height: 60px !important; width: 65px !important', // may just be 65px round($icon-size * 352 / 322);\n\n // footer\n footer: 'border-top: solid 1px $divider-color; font-size: 0.9em; padding: 0.5em 1.5em',\n\n // buttons\n 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',\n 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',\n 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',\n 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',\n 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',\n 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',\n 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',\n 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',\n\n // media\n controlStyle: `border-radius: 0.5em; margin: 0.8em; width:${mediaModuleCanvasWidth}; height:${mediaModuleCanvasHeight};`,\n\n // dragAndDrop\n dragEvent: 'background-color: #ccc; border: 0.25em dashed black; border-radius: 0.3em;',\n dropEvent: 'background-color: white; border: 0em solid black;',\n restoreStyle: 'background-color: white;',\n\n // errors\n errorCancelButton: 'width: 2em; height: 2em; align: right;',\n errorMessageBlock: 'margin: 0.1em; padding: 0.5em; border: 0.05em solid gray; color:black;',\n defaultErrorBackgroundColor: '#fee',\n\n // pad\n notepadStyle: 'padding: 1em; overflow: auto; resize: horizontal; min-width: 40em;',\n upstreamStatus: 'width:50%',\n downstreamStatus: 'width:50%',\n baseStyle: 'font-size: 100%; font-family: monospace; width: 100%; border: none; white-space: pre-wrap;',\n headingCore: 'font-family: sans-serif; font-weight: bold; border: none;',\n headingStyle: [\n 'font-size: 110%; padding-top: 0.5em; padding-bottom: 0.5em; width: 100%;',\n 'font-size: 120%; padding-top: 1em; padding-bottom: 1em; width: 100%;',\n 'font-size: 150%; padding-top: 1em; padding-bottom: 1em; width: 100%;'\n ],\n\n // participation\n participantsStyle: 'margin: 0.8em;',\n participantsBlock: 'height: 1.5em; width: 1.5em; margin: 0.3em; border 0.01em solid #888;',\n personTableTD: 'vertical-align: middle;',\n\n // tabs\n tabsNavElement: 'margin: 0;',\n tabsRootElement: 'display: flex; height: 100%; width: 100%;',\n tabsMainElement: 'margin: 0; width:100%; height: 100%;',\n tabContainer: 'list-style-type: none; display: flex; height: 100%; width: 100%; margin: 0; padding: 0;',\n makeNewSlot: 'background: none; border: none; font: inherit; cursor: pointer',\n ellipsis: 'position: absolute; right: 0; bottom: 0; width: 20%; background: none; color: inherit; border: none; padding: 0; font: inherit; cursor: pointer; outline: inherit;'\n\n}\n\nstyle.setStyle = function setStyle (ele, styleName) {\n ele.style = style[styleName]\n}\n\nmodule.exports = style // @@ No way to do this in ESM\n"],"mappings":"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"}
package/lib/tabs.d.ts CHANGED
@@ -25,131 +25,6 @@ export declare class TabWidgetElement extends HTMLElement {
25
25
  refresh?: () => void;
26
26
  tabContainer?: HTMLElement;
27
27
  }
28
- /**
29
- * Use this widget to generate tabs from triples set in the global store.
30
- *
31
- * [Here you can see examples of the tabs](https://solidos.github.io/solid-ui/examples/tabs/).
32
- *
33
- * It assumes that items to use for tabs will be in a collection by default,
34
- * e.g.:
35
- *
36
- * ```turtle
37
- * :subject :predicate ( :item1 :item2 ) .
38
- * ```
39
- *
40
- * You can override this by setting `ordered: false`, in which case it expects
41
- * unordered triples:
42
- *
43
- * ```turtle
44
- * :subject :predicate :item1, :item 2 .
45
- * ```
46
- *
47
- * Triples that are not ordered in collection are in principle not sorted,
48
- * which means that tabs could change order every time you render the widget.
49
- * But in this case the widget will try to sort it in order to keep it
50
- * consistent.
51
- *
52
- * In both of these cases you need to define options `subject` and `predicate`
53
- * to tell the widget which triples it should be looking for.
54
- *
55
- * Finally you can set items manually, using the `items` option, e.g.:
56
- *
57
- * ```javascript
58
- * {
59
- * items: [
60
- * namedNode('https://domain.tld/#item1'),
61
- * namedNode('https://domain.tld/#item2')
62
- * ]
63
- * }
64
- * ```
65
- *
66
- * When you set items manually you do not need to set `subject` and
67
- * `predicate`.
68
- *
69
- * In any case you probably want to set the renderMain option to specify
70
- * what should be rendered for the various items, e.g.:
71
- *
72
- * ```javascript
73
- * {
74
- * renderMain: (bodyMain, subject) => {
75
- * bodyMain.innerHTML = renderItem(subject)
76
- * }
77
- * }
78
- * ```
79
- *
80
- * **Note:** `renderItem` is a custom function that you need to define yourself.
81
- *
82
- * The option `renderTabSettings` allows you to render a custom view in the
83
- * body container that is shown when you hold the ALT key and click on a
84
- * tab. It works very much like the `renderMain` option:
85
- *
86
- * ```javascript
87
- * {
88
- * renderTabSettings: (bodyMain, subject) => {
89
- * bodyMain.innerHTML = renderTabSettings(subject)
90
- * }
91
- * }
92
- * ```
93
- *
94
- * **Note:** `renderTabSettings` is a custom function that you need to define
95
- * yourself.
96
- *
97
- * By default the widget will try to guess the label by using the
98
- * [[utils.label]] function. If you want to customize this yourself, you can
99
- * use the `renderTab` option:
100
- *
101
- * ```javascript
102
- * {
103
- * renderTab: (tabDiv, subject) => {
104
- * tabDiv.innerText = renderTabText(subject)
105
- * }
106
- * }
107
- * ```
108
- *
109
- * **Note:** `renderTabText` is a custom function you need to define yourself.
110
- *
111
- * The option renderTab is also important if you want to set which tab should
112
- * be selected once the widget is rendered. By default it will simply select
113
- * the first tab, but you can override by setting `dataset.name` on the tab
114
- * and referring to the same string in `selectedTab`:
115
- *
116
- * ```javascript
117
- * {
118
- * renderTab: (tabDiv, subject) => {
119
- * tabDiv.dataset.name = subject.uri
120
- * },
121
- * selectedTab: item2.uri
122
- * }
123
- * ```
124
- *
125
- * You can apply a color to use for tabs and border of the container by using
126
- * option `background-color`. This is #ddddcc by default.
127
- *
128
- * You can override the document object that the widget uses to generate DOM
129
- * elements by setting the option `dom`. This is encouraged to set if you
130
- * intend your functionality to be used in environments that don't provide
131
- * a global `document` object.
132
- *
133
- * If you want to render a close button next to the tabs you can set option
134
- * `onClose` which takes a callback function that is triggered when the
135
- * button is clicked:
136
- *
137
- * ```javascript
138
- * {
139
- * onClose: (event) => {
140
- * // do something that hides the widget altogether
141
- * }
142
- * }
143
- * ```
144
- *
145
- * The option `orientation` allows you to set which side the tabs should be
146
- * located: `'0'` = Top, `'1'` = Left, `'2'` = Bottom, `'3'` = Right
147
- *
148
- * If you don't want to render anything in the body container by default,
149
- * you can set the option `startEmpty` to `true`.
150
- *
151
- * @param options
152
- */
153
28
  export declare function tabWidget(options: TabWidgetOptions): TabWidgetElement;
154
29
  export {};
155
30
  //# sourceMappingURL=tabs.d.ts.map
package/lib/tabs.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../src/tabs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAGlC;;GAEG;AACH,cAAM,gBAAiB,SAAQ,WAAW;IACxC,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,KAAK,gBAAgB,GAAG;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,GAAG,CAAC,EAAE,YAAY,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACzB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACpC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,KAAK,IAAI,CAAC;IACjE,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,SAAS,KAAK,IAAI,CAAC;IACpE,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,SAAS,KAAK,IAAI,CAAC;IAC7E,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,qBAAa,gBAAiB,SAAQ,WAAW;IAC/C,aAAa,CAAC,EAAE,WAAW,CAAA;IAC3B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,YAAY,CAAC,EAAE,WAAW,CAAA;CAC3B;AAUD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4HG;AACH,wBAAgB,SAAS,CAAE,OAAO,EAAE,gBAAgB,oBAiPnD"}
1
+ {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../src/tabs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAIlC;;GAEG;AACH,cAAM,gBAAiB,SAAQ,WAAW;IACxC,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,KAAK,gBAAgB,GAAG;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,GAAG,CAAC,EAAE,YAAY,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACzB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACpC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,KAAK,IAAI,CAAC;IACjE,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,SAAS,KAAK,IAAI,CAAC;IACpE,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,SAAS,KAAK,IAAI,CAAC;IAC7E,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,qBAAa,gBAAiB,SAAQ,WAAW;IAC/C,aAAa,CAAC,EAAE,WAAW,CAAA;IAC3B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,YAAY,CAAC,EAAE,WAAW,CAAA;CAC3B;AAyID,wBAAgB,SAAS,CAAE,OAAO,EAAE,gBAAgB,oBAmOnD"}