solid-ui 2.4.23 → 2.4.24
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/main.js +2159 -5039
- package/dist/main.js.map +1 -1
- package/lib/acl/access-controller.js +4 -67
- package/lib/acl/access-controller.js.map +1 -1
- package/lib/acl/access-groups.js +59 -137
- package/lib/acl/access-groups.js.map +1 -1
- package/lib/acl/acl-control.js +14 -54
- package/lib/acl/acl-control.js.map +1 -1
- package/lib/acl/acl.js +32 -107
- package/lib/acl/acl.js.map +1 -1
- package/lib/acl/add-agent-buttons.js +0 -92
- package/lib/acl/add-agent-buttons.js.map +1 -1
- package/lib/acl/index.js +1 -3
- package/lib/acl/index.js.map +1 -1
- package/lib/acl/styles.js +1 -2
- package/lib/acl/styles.js.map +1 -1
- package/lib/chat/bookmarks.js +8 -80
- package/lib/chat/bookmarks.js.map +1 -1
- package/lib/chat/chatLogic.js +109 -180
- package/lib/chat/chatLogic.js.map +1 -1
- package/lib/chat/dateFolder.js +6 -91
- package/lib/chat/dateFolder.js.map +1 -1
- package/lib/chat/infinite.js +33 -185
- package/lib/chat/infinite.js.map +1 -1
- package/lib/chat/message.js +37 -150
- package/lib/chat/message.js.map +1 -1
- package/lib/chat/messageTools.js +23 -96
- package/lib/chat/messageTools.js.map +1 -1
- package/lib/chat/thread.js +33 -91
- package/lib/chat/thread.js.map +1 -1
- package/lib/create/create.js +19 -51
- package/lib/create/create.js.map +1 -1
- package/lib/create/index.js +0 -2
- package/lib/create/index.js.map +1 -1
- package/lib/debug.js +0 -8
- package/lib/debug.js.map +1 -1
- package/lib/folders.js +4 -27
- package/lib/folders.js.map +1 -1
- package/lib/footer/index.js +2 -24
- package/lib/footer/index.js.map +1 -1
- package/lib/footer/styleMap.js.map +1 -1
- package/lib/header/empty-profile.js.map +1 -1
- package/lib/header/index.js +3 -72
- package/lib/header/index.js.map +1 -1
- package/lib/header/styleMap.js +4 -3
- package/lib/header/styleMap.js.map +1 -1
- package/lib/iconBase.js +3 -4
- package/lib/iconBase.js.map +1 -1
- package/lib/index.js +5 -46
- package/lib/index.js.map +1 -1
- package/lib/jss/index.js +3 -9
- package/lib/jss/index.js.map +1 -1
- package/lib/log.js +15 -51
- package/lib/log.js.map +1 -1
- package/lib/login/login.js +74 -303
- package/lib/login/login.js.map +1 -1
- package/lib/matrix/index.js +0 -2
- package/lib/matrix/index.js.map +1 -1
- package/lib/matrix/matrix.js +7 -55
- package/lib/matrix/matrix.js.map +1 -1
- package/lib/media/index.js +0 -2
- package/lib/media/index.js.map +1 -1
- package/lib/media/media-capture.js +13 -33
- package/lib/media/media-capture.js.map +1 -1
- package/lib/messageArea.js +23 -64
- package/lib/messageArea.js.map +1 -1
- package/lib/noun_Camera_1618446_000000.js.map +1 -1
- package/lib/ns.js +5 -7
- package/lib/ns.js.map +1 -1
- package/lib/pad.js +48 -234
- package/lib/pad.js.map +1 -1
- package/lib/participation.js +10 -65
- package/lib/participation.js.map +1 -1
- package/lib/preferences.js +21 -42
- package/lib/preferences.js.map +1 -1
- package/lib/signup/config-default.js +1 -8
- package/lib/signup/config-default.js.map +1 -1
- package/lib/signup/signup.js +6 -13
- package/lib/signup/signup.js.map +1 -1
- package/lib/stories/decorators.js +0 -2
- package/lib/stories/decorators.js.map +1 -1
- package/lib/style.js +8 -5
- package/lib/style.js.map +1 -1
- package/lib/style_multiSelect.js +1 -5
- package/lib/style_multiSelect.js.map +1 -1
- package/lib/table.js +309 -322
- package/lib/table.js.map +1 -1
- package/lib/tabs.js +20 -100
- package/lib/tabs.js.map +1 -1
- package/lib/utils/headerFooterHelpers.js +4 -52
- package/lib/utils/headerFooterHelpers.js.map +1 -1
- package/lib/utils/index.js +41 -135
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/label.js +13 -34
- package/lib/utils/label.js.map +1 -1
- package/lib/versionInfo.js +4 -4
- package/lib/versionInfo.js.map +1 -1
- package/lib/widgets/buttons/iconLinks.js +0 -8
- package/lib/widgets/buttons/iconLinks.js.map +1 -1
- package/lib/widgets/buttons.js +115 -291
- package/lib/widgets/buttons.js.map +1 -1
- package/lib/widgets/dragAndDrop.js +12 -41
- package/lib/widgets/dragAndDrop.js.map +1 -1
- package/lib/widgets/error.js +3 -9
- package/lib/widgets/error.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompleteBar.js +8 -71
- package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompleteField.js +13 -65
- package/lib/widgets/forms/autocomplete/autocompleteField.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompletePicker.js +15 -107
- package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +1 -1
- package/lib/widgets/forms/autocomplete/language.js +6 -55
- package/lib/widgets/forms/autocomplete/language.js.map +1 -1
- package/lib/widgets/forms/autocomplete/publicData.js +12 -131
- package/lib/widgets/forms/autocomplete/publicData.js.map +1 -1
- package/lib/widgets/forms/basic.js +12 -55
- package/lib/widgets/forms/basic.js.map +1 -1
- package/lib/widgets/forms/comment.js +1 -15
- package/lib/widgets/forms/comment.js.map +1 -1
- package/lib/widgets/forms/fieldFunction.js +3 -16
- package/lib/widgets/forms/fieldFunction.js.map +1 -1
- package/lib/widgets/forms/fieldParams.js +0 -12
- package/lib/widgets/forms/fieldParams.js.map +1 -1
- package/lib/widgets/forms/formStyle.js +1 -14
- package/lib/widgets/forms/formStyle.js.map +1 -1
- package/lib/widgets/forms.js +70 -474
- package/lib/widgets/forms.js.map +1 -1
- package/lib/widgets/index.js +0 -21
- package/lib/widgets/index.js.map +1 -1
- package/lib/widgets/multiSelect.js +48 -171
- package/lib/widgets/multiSelect.js.map +1 -1
- package/lib/widgets/peoplePicker.js +20 -90
- package/lib/widgets/peoplePicker.js.map +1 -1
- package/lib/widgets/widgetHelpers.js +2 -9
- package/lib/widgets/widgetHelpers.js.map +1 -1
- package/package.json +28 -28
package/lib/preferences.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
@@ -12,61 +11,53 @@ exports.recordSharedPreferences = recordSharedPreferences;
|
|
|
12
11
|
exports.renderPreferencesForm = renderPreferencesForm;
|
|
13
12
|
exports.set = set;
|
|
14
13
|
exports.value = void 0;
|
|
15
|
-
|
|
16
14
|
var $rdf = _interopRequireWildcard(require("rdflib"));
|
|
17
|
-
|
|
18
15
|
var _solidLogic = require("solid-logic");
|
|
19
|
-
|
|
20
16
|
var debug = _interopRequireWildcard(require("./debug"));
|
|
21
|
-
|
|
22
17
|
var _login = require("./login/login");
|
|
23
|
-
|
|
24
18
|
var ns = _interopRequireWildcard(require("./ns"));
|
|
25
|
-
|
|
26
19
|
var participation = _interopRequireWildcard(require("./participation"));
|
|
27
|
-
|
|
28
20
|
var widgets = _interopRequireWildcard(require("./widgets"));
|
|
29
|
-
|
|
30
21
|
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); }
|
|
31
|
-
|
|
32
22
|
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; }
|
|
33
|
-
|
|
34
23
|
// Solid-UI preferences
|
|
35
24
|
// =====================
|
|
36
25
|
//
|
|
26
|
+
|
|
37
27
|
// pull in first avoid cross-refs
|
|
28
|
+
|
|
38
29
|
// @ts-ignore
|
|
39
|
-
|
|
30
|
+
|
|
31
|
+
var kb = _solidLogic.store;
|
|
32
|
+
|
|
33
|
+
// This was tabulator . preferences in the tabulator
|
|
40
34
|
// Is this functionality used anywhere?
|
|
41
35
|
//
|
|
36
|
+
|
|
42
37
|
// used for storing user name
|
|
43
38
|
// @@ Deprocate these functions. They were used for
|
|
44
39
|
// communication around the tabulator functionality about the user session
|
|
45
40
|
|
|
46
41
|
var value = [];
|
|
47
42
|
exports.value = value;
|
|
48
|
-
|
|
49
43
|
function get(k) {
|
|
50
44
|
return value[k];
|
|
51
45
|
}
|
|
52
|
-
|
|
53
46
|
function set(k, v) {
|
|
54
47
|
if (typeof v !== 'string') {
|
|
55
48
|
debug.log('Non-string value of preference ' + k + ': ' + v);
|
|
56
49
|
throw new Error('Non-string value of preference ' + k + ': ' + v);
|
|
57
50
|
}
|
|
58
|
-
|
|
59
51
|
this.value[k] = v;
|
|
60
|
-
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// In a solid world, Preferences are stored in the web
|
|
61
55
|
//
|
|
62
56
|
// Make an RDF node for recording the common view preferences for any object
|
|
63
57
|
// (maybe make it in a separate file?)
|
|
64
|
-
|
|
65
|
-
|
|
66
58
|
function recordSharedPreferences(subject, context) {
|
|
67
59
|
return new Promise(function (resolve, reject) {
|
|
68
60
|
var sharedPreferences = kb.any(subject, ns.ui('sharedPreferences'));
|
|
69
|
-
|
|
70
61
|
if (!sharedPreferences) {
|
|
71
62
|
var sp = $rdf.sym(subject.doc().uri + '#SharedPreferences');
|
|
72
63
|
var ins = [$rdf.st(subject, ns.ui('sharedPreferences'), sp, subject.doc())];
|
|
@@ -84,10 +75,10 @@ function recordSharedPreferences(subject, context) {
|
|
|
84
75
|
resolve(context);
|
|
85
76
|
}
|
|
86
77
|
});
|
|
87
|
-
}
|
|
88
|
-
//
|
|
89
|
-
|
|
78
|
+
}
|
|
90
79
|
|
|
80
|
+
// Construct a personal defaults node in the preferences file for a given class of object
|
|
81
|
+
//
|
|
91
82
|
function recordPersonalDefaults(theClass, context) {
|
|
92
83
|
return new Promise(function (resolve, reject) {
|
|
93
84
|
(0, _login.ensureLoadedPreferences)(context).then(function (context) {
|
|
@@ -95,21 +86,17 @@ function recordPersonalDefaults(theClass, context) {
|
|
|
95
86
|
debug.log('Not doing private class preferences as no access to preferences file. ' + context.preferencesFileError);
|
|
96
87
|
return;
|
|
97
88
|
}
|
|
98
|
-
|
|
99
89
|
var regs = kb.each(null, ns.solid('forClass'), theClass, context.preferencesFile);
|
|
100
90
|
var ins = [];
|
|
101
91
|
var prefs;
|
|
102
92
|
var reg;
|
|
103
|
-
|
|
104
93
|
if (regs.length) {
|
|
105
94
|
// Use existing node if we can
|
|
106
95
|
regs.forEach(function (r) {
|
|
107
96
|
prefs = prefs || kb.any(r, ns.solid('personalDefaults'));
|
|
108
97
|
});
|
|
109
|
-
|
|
110
98
|
if (prefs) {
|
|
111
99
|
context.personalDefaults = prefs; // Found one
|
|
112
|
-
|
|
113
100
|
resolve(context);
|
|
114
101
|
return;
|
|
115
102
|
} else {
|
|
@@ -121,7 +108,6 @@ function recordPersonalDefaults(theClass, context) {
|
|
|
121
108
|
reg = widgets.newThing(context.preferencesFile);
|
|
122
109
|
ins = [$rdf.st(reg, ns.rdf('type'), ns.solid('TypeRegistration'), context.preferencesFile), $rdf.st(reg, ns.solid('forClass'), theClass, context.preferencesFile)];
|
|
123
110
|
}
|
|
124
|
-
|
|
125
111
|
prefs = widgets.newThing(context.preferencesFile);
|
|
126
112
|
ins.push($rdf.st(reg, ns.solid('personalDefaults'), prefs, context.preferencesFile));
|
|
127
113
|
kb.updater.update([], ins, function (uri, ok, errm) {
|
|
@@ -137,16 +123,13 @@ function recordPersonalDefaults(theClass, context) {
|
|
|
137
123
|
});
|
|
138
124
|
});
|
|
139
125
|
}
|
|
140
|
-
|
|
141
126
|
function renderPreferencesForm(subject, theClass, preferencesForm, context) {
|
|
142
127
|
var prefContainer = context.dom.createElement('div');
|
|
143
128
|
participation.participationObject(subject, subject.doc(), context.me).then(function (participation) {
|
|
144
129
|
var dom = context.dom;
|
|
145
|
-
|
|
146
130
|
function heading(text) {
|
|
147
131
|
prefContainer.appendChild(dom.createElement('h5')).textContent = text;
|
|
148
132
|
}
|
|
149
|
-
|
|
150
133
|
heading('My view of this ' + context.noun);
|
|
151
134
|
widgets.appendForm(dom, prefContainer, {}, participation, preferencesForm, subject.doc(), function (ok, mes) {
|
|
152
135
|
if (!ok) widgets.complain(context, mes);
|
|
@@ -171,35 +154,31 @@ function renderPreferencesForm(subject, theClass, preferencesForm, context) {
|
|
|
171
154
|
prefContainer.appendChild(widgets.errorMessageBlock(context.dom, err));
|
|
172
155
|
});
|
|
173
156
|
return prefContainer;
|
|
174
|
-
}
|
|
157
|
+
}
|
|
175
158
|
|
|
159
|
+
// This should be part of rdflib.js ad part of the RDFJS Standard!!
|
|
176
160
|
|
|
177
161
|
function toJS(term) {
|
|
178
162
|
if (!term.datatype) return term; // Objects remain objects
|
|
179
|
-
|
|
180
163
|
if (term.datatype.equals(ns.xsd('boolean'))) {
|
|
181
164
|
return term.value === '1';
|
|
182
165
|
}
|
|
183
|
-
|
|
184
166
|
if (term.datatype.equals(ns.xsd('dateTime')) || term.datatype.equals(ns.xsd('date'))) {
|
|
185
167
|
return new Date(term.value);
|
|
186
168
|
}
|
|
187
|
-
|
|
188
169
|
if (term.datatype.equals(ns.xsd('integer')) || term.datatype.equals(ns.xsd('float')) || term.datatype.equals(ns.xsd('decimal'))) {
|
|
189
170
|
return Number(term.value);
|
|
190
171
|
}
|
|
191
|
-
|
|
192
172
|
return term.value;
|
|
193
|
-
}
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
// This is the function which acuakly reads and combines the preferences
|
|
194
176
|
//
|
|
195
177
|
// @@ make it much more tolerant of missing buts of prefernces
|
|
196
|
-
|
|
197
|
-
|
|
198
178
|
function getPreferencesForClass(subject, theClass, predicates, context) {
|
|
199
179
|
return new Promise(function (resolve, reject) {
|
|
200
180
|
recordSharedPreferences(subject, context).then(function (context) {
|
|
201
181
|
var sharedPreferences = context.sharedPreferences;
|
|
202
|
-
|
|
203
182
|
if (context.me) {
|
|
204
183
|
participation.participationObject(subject, subject.doc(), context.me).then(function (participation) {
|
|
205
184
|
recordPersonalDefaults(theClass, context).then(function (context) {
|
|
@@ -208,7 +187,6 @@ function getPreferencesForClass(subject, theClass, predicates, context) {
|
|
|
208
187
|
predicates.forEach(function (pred) {
|
|
209
188
|
// Order of preference: My settings on object, Global settings on object, my settings on class
|
|
210
189
|
var v1 = kb.any(participation, pred) || kb.any(sharedPreferences, pred) || kb.any(personalDefaults, pred);
|
|
211
|
-
|
|
212
190
|
if (v1) {
|
|
213
191
|
results[pred.uri] = toJS(v1);
|
|
214
192
|
}
|
|
@@ -221,7 +199,6 @@ function getPreferencesForClass(subject, theClass, predicates, context) {
|
|
|
221
199
|
var results = [];
|
|
222
200
|
predicates.forEach(function (pred) {
|
|
223
201
|
var v1 = kb.any(sharedPreferences, pred);
|
|
224
|
-
|
|
225
202
|
if (v1) {
|
|
226
203
|
results[pred.uri] = toJS(v1);
|
|
227
204
|
}
|
|
@@ -230,5 +207,7 @@ function getPreferencesForClass(subject, theClass, predicates, context) {
|
|
|
230
207
|
}
|
|
231
208
|
});
|
|
232
209
|
});
|
|
233
|
-
}
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
// ends
|
|
234
213
|
//# sourceMappingURL=preferences.js.map
|
package/lib/preferences.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preferences.js","names":["kb","store","value","get","k","set","v","debug","log","Error","recordSharedPreferences","subject","context","Promise","resolve","reject","sharedPreferences","any","ns","ui","sp","$rdf","sym","doc","uri","ins","st","updater","update","ok","errorMessage","recordPersonalDefaults","theClass","ensureLoadedPreferences","then","preferencesFile","preferencesFileError","regs","each","solid","prefs","reg","length","forEach","r","personalDefaults","widgets","newThing","rdf","push","errm","err","renderPreferencesForm","preferencesForm","prefContainer","dom","createElement","participation","participationObject","me","heading","text","appendChild","textContent","noun","appendForm","mes","complain","errorMessageBlock","toJS","term","datatype","equals","xsd","Date","Number","getPreferencesForClass","predicates","results","pred","v1"],"sources":["../src/preferences.js"],"sourcesContent":["// Solid-UI preferences\n// =====================\n//\n\nimport * as $rdf from 'rdflib' // pull in first avoid cross-refs\nimport { store } from 'solid-logic'\nimport * as debug from './debug'\nimport { ensureLoadedPreferences } from './login/login'\nimport * as ns from './ns'\nimport * as participation from './participation' // @ts-ignore\nimport * as widgets from './widgets'\n\nconst kb = store\n\n// This was tabulator . preferences in the tabulator\n// Is this functionality used anywhere?\n//\n\n// used for storing user name\n// @@ Deprocate these functions. They were used for\n// communication around the tabulator functionality about the user session\n\nexport const value = []\nexport function get (k) {\n return value[k]\n}\n\nexport function set (k, v) {\n if (typeof v !== 'string') {\n debug.log('Non-string value of preference ' + k + ': ' + v)\n throw new Error('Non-string value of preference ' + k + ': ' + v)\n }\n this.value[k] = v\n}\n\n// In a solid world, Preferences are stored in the web\n//\n// Make an RDF node for recording the common view preferences for any object\n// (maybe make it in a separate file?)\nexport function recordSharedPreferences (subject, context) {\n return new Promise(function (resolve, reject) {\n const sharedPreferences = kb.any(subject, ns.ui('sharedPreferences'))\n if (!sharedPreferences) {\n const sp = $rdf.sym(subject.doc().uri + '#SharedPreferences')\n const ins = [\n $rdf.st(subject, ns.ui('sharedPreferences'), sp, subject.doc())\n ]\n debug.log('Creating shared preferences ' + sp)\n kb.updater.update([], ins, function (uri, ok, errorMessage) {\n if (!ok) {\n reject(new Error('Error creating shared prefs: ' + errorMessage))\n } else {\n context.sharedPreferences = sp\n resolve(context)\n }\n })\n } else {\n context.sharedPreferences = sharedPreferences\n resolve(context)\n }\n })\n}\n\n// Construct a personal defaults node in the preferences file for a given class of object\n//\nexport function recordPersonalDefaults (theClass, context) {\n return new Promise(function (resolve, reject) {\n ensureLoadedPreferences(context).then(\n context => {\n if (!context.preferencesFile) {\n debug.log(\n 'Not doing private class preferences as no access to preferences file. ' +\n context.preferencesFileError\n )\n return\n }\n const regs = kb.each(\n null,\n ns.solid('forClass'),\n theClass,\n context.preferencesFile\n )\n let ins = []\n let prefs\n let reg\n if (regs.length) {\n // Use existing node if we can\n regs.forEach(r => {\n prefs = prefs || kb.any(r, ns.solid('personalDefaults'))\n })\n if (prefs) {\n context.personalDefaults = prefs // Found one\n resolve(context)\n return\n } else {\n prefs = widgets.newThing(context.preferencesFile)\n reg = regs[0]\n }\n } else {\n // no regs fo class\n reg = widgets.newThing(context.preferencesFile)\n ins = [\n $rdf.st(\n reg,\n ns.rdf('type'),\n ns.solid('TypeRegistration'),\n context.preferencesFile\n ),\n $rdf.st(reg, ns.solid('forClass'), theClass, context.preferencesFile)\n ]\n }\n prefs = widgets.newThing(context.preferencesFile)\n ins.push(\n $rdf.st(\n reg,\n ns.solid('personalDefaults'),\n prefs,\n context.preferencesFile\n )\n )\n kb.updater.update([], ins, function (uri, ok, errm) {\n if (!ok) {\n reject(new Error('Setting preferences for ' + theClass + ': ' + errm))\n } else {\n context.personalDefaults = prefs\n resolve(context)\n }\n })\n },\n err => {\n reject(err)\n }\n )\n })\n}\n\nexport function renderPreferencesForm (subject, theClass, preferencesForm, context) {\n const prefContainer = context.dom.createElement('div')\n participation.participationObject(subject, subject.doc(), context.me).then(\n participation => {\n const dom = context.dom\n function heading (text) {\n prefContainer.appendChild(dom.createElement('h5')).textContent = text\n }\n heading('My view of this ' + context.noun)\n widgets.appendForm(\n dom,\n prefContainer,\n {},\n participation,\n preferencesForm,\n subject.doc(),\n (ok, mes) => {\n if (!ok) widgets.complain(context, mes)\n }\n )\n\n heading(\"Everyone's view of this \" + context.noun)\n recordSharedPreferences(subject, context).then(context => {\n const sharedPreferences = context.sharedPreferences\n widgets.appendForm(\n dom,\n prefContainer,\n {},\n sharedPreferences,\n preferencesForm,\n subject.doc(),\n (ok, mes) => {\n if (!ok) widgets.complain(context, mes)\n }\n )\n\n heading('My default view of any ' + context.noun)\n recordPersonalDefaults(theClass, context).then(\n context => {\n widgets.appendForm(\n dom,\n prefContainer,\n {},\n context.personalDefaults,\n preferencesForm,\n context.preferencesFile,\n (ok, mes) => {\n if (!ok) widgets.complain(context, mes)\n }\n )\n },\n err => {\n widgets.complain(context, err)\n }\n )\n })\n },\n err => {\n // parp object fails\n prefContainer.appendChild(widgets.errorMessageBlock(context.dom, err))\n }\n )\n return prefContainer\n}\n\n// This should be part of rdflib.js ad part of the RDFJS Standard!!\n\nfunction toJS (term) {\n if (!term.datatype) return term // Objects remain objects\n if (term.datatype.equals(ns.xsd('boolean'))) {\n return term.value === '1'\n }\n if (\n term.datatype.equals(ns.xsd('dateTime')) ||\n term.datatype.equals(ns.xsd('date'))\n ) {\n return new Date(term.value)\n }\n if (\n term.datatype.equals(ns.xsd('integer')) ||\n term.datatype.equals(ns.xsd('float')) ||\n term.datatype.equals(ns.xsd('decimal'))\n ) {\n return Number(term.value)\n }\n return term.value\n}\n\n// This is the function which acuakly reads and combines the preferences\n//\n// @@ make it much more tolerant of missing buts of prefernces\nexport function getPreferencesForClass (subject, theClass, predicates, context) {\n return new Promise(function (resolve, reject) {\n recordSharedPreferences(subject, context).then(context => {\n const sharedPreferences = context.sharedPreferences\n if (context.me) {\n participation\n .participationObject(subject, subject.doc(), context.me)\n .then(participation => {\n recordPersonalDefaults(theClass, context).then(context => {\n const results = []\n const personalDefaults = context.personalDefaults\n predicates.forEach(pred => {\n // Order of preference: My settings on object, Global settings on object, my settings on class\n const v1 =\n kb.any(participation, pred) ||\n kb.any(sharedPreferences, pred) ||\n kb.any(personalDefaults, pred)\n if (v1) {\n results[pred.uri] = toJS(v1)\n }\n })\n resolve(results)\n }, reject)\n }, reject)\n } else {\n // no user defined, just use common prefs\n const results = []\n predicates.forEach(pred => {\n const v1 = kb.any(sharedPreferences, pred)\n if (v1) {\n results[pred.uri] = toJS(v1)\n }\n })\n resolve(results)\n }\n })\n })\n}\n\n// ends\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"preferences.js","names":["kb","store","value","get","k","set","v","debug","log","Error","recordSharedPreferences","subject","context","Promise","resolve","reject","sharedPreferences","any","ns","ui","sp","$rdf","sym","doc","uri","ins","st","updater","update","ok","errorMessage","recordPersonalDefaults","theClass","ensureLoadedPreferences","then","preferencesFile","preferencesFileError","regs","each","solid","prefs","reg","length","forEach","r","personalDefaults","widgets","newThing","rdf","push","errm","err","renderPreferencesForm","preferencesForm","prefContainer","dom","createElement","participation","participationObject","me","heading","text","appendChild","textContent","noun","appendForm","mes","complain","errorMessageBlock","toJS","term","datatype","equals","xsd","Date","Number","getPreferencesForClass","predicates","results","pred","v1"],"sources":["../src/preferences.js"],"sourcesContent":["// Solid-UI preferences\n// =====================\n//\n\nimport * as $rdf from 'rdflib' // pull in first avoid cross-refs\nimport { store } from 'solid-logic'\nimport * as debug from './debug'\nimport { ensureLoadedPreferences } from './login/login'\nimport * as ns from './ns'\nimport * as participation from './participation' // @ts-ignore\nimport * as widgets from './widgets'\n\nconst kb = store\n\n// This was tabulator . preferences in the tabulator\n// Is this functionality used anywhere?\n//\n\n// used for storing user name\n// @@ Deprocate these functions. They were used for\n// communication around the tabulator functionality about the user session\n\nexport const value = []\nexport function get (k) {\n return value[k]\n}\n\nexport function set (k, v) {\n if (typeof v !== 'string') {\n debug.log('Non-string value of preference ' + k + ': ' + v)\n throw new Error('Non-string value of preference ' + k + ': ' + v)\n }\n this.value[k] = v\n}\n\n// In a solid world, Preferences are stored in the web\n//\n// Make an RDF node for recording the common view preferences for any object\n// (maybe make it in a separate file?)\nexport function recordSharedPreferences (subject, context) {\n return new Promise(function (resolve, reject) {\n const sharedPreferences = kb.any(subject, ns.ui('sharedPreferences'))\n if (!sharedPreferences) {\n const sp = $rdf.sym(subject.doc().uri + '#SharedPreferences')\n const ins = [\n $rdf.st(subject, ns.ui('sharedPreferences'), sp, subject.doc())\n ]\n debug.log('Creating shared preferences ' + sp)\n kb.updater.update([], ins, function (uri, ok, errorMessage) {\n if (!ok) {\n reject(new Error('Error creating shared prefs: ' + errorMessage))\n } else {\n context.sharedPreferences = sp\n resolve(context)\n }\n })\n } else {\n context.sharedPreferences = sharedPreferences\n resolve(context)\n }\n })\n}\n\n// Construct a personal defaults node in the preferences file for a given class of object\n//\nexport function recordPersonalDefaults (theClass, context) {\n return new Promise(function (resolve, reject) {\n ensureLoadedPreferences(context).then(\n context => {\n if (!context.preferencesFile) {\n debug.log(\n 'Not doing private class preferences as no access to preferences file. ' +\n context.preferencesFileError\n )\n return\n }\n const regs = kb.each(\n null,\n ns.solid('forClass'),\n theClass,\n context.preferencesFile\n )\n let ins = []\n let prefs\n let reg\n if (regs.length) {\n // Use existing node if we can\n regs.forEach(r => {\n prefs = prefs || kb.any(r, ns.solid('personalDefaults'))\n })\n if (prefs) {\n context.personalDefaults = prefs // Found one\n resolve(context)\n return\n } else {\n prefs = widgets.newThing(context.preferencesFile)\n reg = regs[0]\n }\n } else {\n // no regs fo class\n reg = widgets.newThing(context.preferencesFile)\n ins = [\n $rdf.st(\n reg,\n ns.rdf('type'),\n ns.solid('TypeRegistration'),\n context.preferencesFile\n ),\n $rdf.st(reg, ns.solid('forClass'), theClass, context.preferencesFile)\n ]\n }\n prefs = widgets.newThing(context.preferencesFile)\n ins.push(\n $rdf.st(\n reg,\n ns.solid('personalDefaults'),\n prefs,\n context.preferencesFile\n )\n )\n kb.updater.update([], ins, function (uri, ok, errm) {\n if (!ok) {\n reject(new Error('Setting preferences for ' + theClass + ': ' + errm))\n } else {\n context.personalDefaults = prefs\n resolve(context)\n }\n })\n },\n err => {\n reject(err)\n }\n )\n })\n}\n\nexport function renderPreferencesForm (subject, theClass, preferencesForm, context) {\n const prefContainer = context.dom.createElement('div')\n participation.participationObject(subject, subject.doc(), context.me).then(\n participation => {\n const dom = context.dom\n function heading (text) {\n prefContainer.appendChild(dom.createElement('h5')).textContent = text\n }\n heading('My view of this ' + context.noun)\n widgets.appendForm(\n dom,\n prefContainer,\n {},\n participation,\n preferencesForm,\n subject.doc(),\n (ok, mes) => {\n if (!ok) widgets.complain(context, mes)\n }\n )\n\n heading(\"Everyone's view of this \" + context.noun)\n recordSharedPreferences(subject, context).then(context => {\n const sharedPreferences = context.sharedPreferences\n widgets.appendForm(\n dom,\n prefContainer,\n {},\n sharedPreferences,\n preferencesForm,\n subject.doc(),\n (ok, mes) => {\n if (!ok) widgets.complain(context, mes)\n }\n )\n\n heading('My default view of any ' + context.noun)\n recordPersonalDefaults(theClass, context).then(\n context => {\n widgets.appendForm(\n dom,\n prefContainer,\n {},\n context.personalDefaults,\n preferencesForm,\n context.preferencesFile,\n (ok, mes) => {\n if (!ok) widgets.complain(context, mes)\n }\n )\n },\n err => {\n widgets.complain(context, err)\n }\n )\n })\n },\n err => {\n // parp object fails\n prefContainer.appendChild(widgets.errorMessageBlock(context.dom, err))\n }\n )\n return prefContainer\n}\n\n// This should be part of rdflib.js ad part of the RDFJS Standard!!\n\nfunction toJS (term) {\n if (!term.datatype) return term // Objects remain objects\n if (term.datatype.equals(ns.xsd('boolean'))) {\n return term.value === '1'\n }\n if (\n term.datatype.equals(ns.xsd('dateTime')) ||\n term.datatype.equals(ns.xsd('date'))\n ) {\n return new Date(term.value)\n }\n if (\n term.datatype.equals(ns.xsd('integer')) ||\n term.datatype.equals(ns.xsd('float')) ||\n term.datatype.equals(ns.xsd('decimal'))\n ) {\n return Number(term.value)\n }\n return term.value\n}\n\n// This is the function which acuakly reads and combines the preferences\n//\n// @@ make it much more tolerant of missing buts of prefernces\nexport function getPreferencesForClass (subject, theClass, predicates, context) {\n return new Promise(function (resolve, reject) {\n recordSharedPreferences(subject, context).then(context => {\n const sharedPreferences = context.sharedPreferences\n if (context.me) {\n participation\n .participationObject(subject, subject.doc(), context.me)\n .then(participation => {\n recordPersonalDefaults(theClass, context).then(context => {\n const results = []\n const personalDefaults = context.personalDefaults\n predicates.forEach(pred => {\n // Order of preference: My settings on object, Global settings on object, my settings on class\n const v1 =\n kb.any(participation, pred) ||\n kb.any(sharedPreferences, pred) ||\n kb.any(personalDefaults, pred)\n if (v1) {\n results[pred.uri] = toJS(v1)\n }\n })\n resolve(results)\n }, reject)\n }, reject)\n } else {\n // no user defined, just use common prefs\n const results = []\n predicates.forEach(pred => {\n const v1 = kb.any(sharedPreferences, pred)\n if (v1) {\n results[pred.uri] = toJS(v1)\n }\n })\n resolve(results)\n }\n })\n })\n}\n\n// ends\n"],"mappings":"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"}
|
|
@@ -1,47 +1,40 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
|
|
2
3
|
/**
|
|
3
4
|
* Provides a simple configuration object for Solid web client and other
|
|
4
5
|
* modules.
|
|
5
6
|
* @module config-default
|
|
6
7
|
*/
|
|
7
|
-
|
|
8
8
|
Object.defineProperty(exports, "__esModule", {
|
|
9
9
|
value: true
|
|
10
10
|
});
|
|
11
11
|
exports["default"] = void 0;
|
|
12
12
|
var _default = {
|
|
13
13
|
// @@ should not use export default
|
|
14
|
-
|
|
15
14
|
/**
|
|
16
15
|
* Primary authentication endpoint
|
|
17
16
|
*/
|
|
18
17
|
authEndpoint: '',
|
|
19
|
-
|
|
20
18
|
/**
|
|
21
19
|
* Fallback authentication endpoint
|
|
22
20
|
*/
|
|
23
21
|
fallbackAuthEndpoint: 'https://databox.me/',
|
|
24
|
-
|
|
25
22
|
/**
|
|
26
23
|
* Default signup endpoints (list of identity providers)
|
|
27
24
|
*/
|
|
28
25
|
signupEndpoint: 'https://solidproject.org/use-solid/',
|
|
29
|
-
|
|
30
26
|
/**
|
|
31
27
|
* Default height of the Signup popup window, in pixels
|
|
32
28
|
*/
|
|
33
29
|
signupWindowHeight: 600,
|
|
34
|
-
|
|
35
30
|
/**
|
|
36
31
|
* Default width of the Signup popup window, in pixels
|
|
37
32
|
*/
|
|
38
33
|
signupWindowWidth: 1024,
|
|
39
|
-
|
|
40
34
|
/**
|
|
41
35
|
* Path to the client private key (only needed when running within node)
|
|
42
36
|
*/
|
|
43
37
|
key: '',
|
|
44
|
-
|
|
45
38
|
/**
|
|
46
39
|
* Path to the client certificate (only needed when running within node)
|
|
47
40
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-default.js","names":["authEndpoint","fallbackAuthEndpoint","signupEndpoint","signupWindowHeight","signupWindowWidth","key","cert"],"sources":["../../src/signup/config-default.js"],"sourcesContent":["'use strict'\n/**\n * Provides a simple configuration object for Solid web client and other\n * modules.\n * @module config-default\n */\nexport default { // @@ should not use export default\n /**\n * Primary authentication endpoint\n */\n authEndpoint: '',\n\n /**\n * Fallback authentication endpoint\n */\n fallbackAuthEndpoint: 'https://databox.me/',\n\n /**\n * Default signup endpoints (list of identity providers)\n */\n signupEndpoint: 'https://solidproject.org/use-solid/',\n\n /**\n * Default height of the Signup popup window, in pixels\n */\n signupWindowHeight: 600,\n\n /**\n * Default width of the Signup popup window, in pixels\n */\n signupWindowWidth: 1024,\n\n /**\n * Path to the client private key (only needed when running within node)\n */\n key: '',\n\n /**\n * Path to the client certificate (only needed when running within node)\n */\n cert: ''\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;
|
|
1
|
+
{"version":3,"file":"config-default.js","names":["authEndpoint","fallbackAuthEndpoint","signupEndpoint","signupWindowHeight","signupWindowWidth","key","cert"],"sources":["../../src/signup/config-default.js"],"sourcesContent":["'use strict'\n/**\n * Provides a simple configuration object for Solid web client and other\n * modules.\n * @module config-default\n */\nexport default { // @@ should not use export default\n /**\n * Primary authentication endpoint\n */\n authEndpoint: '',\n\n /**\n * Fallback authentication endpoint\n */\n fallbackAuthEndpoint: 'https://databox.me/',\n\n /**\n * Default signup endpoints (list of identity providers)\n */\n signupEndpoint: 'https://solidproject.org/use-solid/',\n\n /**\n * Default height of the Signup popup window, in pixels\n */\n signupWindowHeight: 600,\n\n /**\n * Default width of the Signup popup window, in pixels\n */\n signupWindowWidth: 1024,\n\n /**\n * Path to the client private key (only needed when running within node)\n */\n key: '',\n\n /**\n * Path to the client certificate (only needed when running within node)\n */\n cert: ''\n}\n"],"mappings":"AAAA,YAAY;;AACZ;AACA;AACA;AACA;AACA;AAJA;EAAA;AAAA;AAAA;AAAA,eAKe;EAAE;EACf;AACF;AACA;EACEA,YAAY,EAAE,EAAE;EAEhB;AACF;AACA;EACEC,oBAAoB,EAAE,qBAAqB;EAE3C;AACF;AACA;EACEC,cAAc,EAAE,qCAAqC;EAErD;AACF;AACA;EACEC,kBAAkB,EAAE,GAAG;EAEvB;AACF;AACA;EACEC,iBAAiB,EAAE,IAAI;EAEvB;AACF;AACA;EACEC,GAAG,EAAE,EAAE;EAEP;AACF;AACA;EACEC,IAAI,EAAE;AACR,CAAC;AAAA"}
|
package/lib/signup/signup.js
CHANGED
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.Signup = Signup;
|
|
9
|
-
|
|
10
8
|
var _configDefault = _interopRequireDefault(require("./config-default"));
|
|
11
|
-
|
|
12
9
|
/**
|
|
13
10
|
* Provides functionality for signing up with a Solid provider
|
|
14
11
|
* @module signup
|
|
@@ -21,13 +18,12 @@ var _configDefault = _interopRequireDefault(require("./config-default"));
|
|
|
21
18
|
function Signup(config) {
|
|
22
19
|
this.config = config || _configDefault["default"];
|
|
23
20
|
}
|
|
21
|
+
|
|
24
22
|
/**
|
|
25
23
|
* Sets up an event listener to monitor login messages from child window/iframe
|
|
26
24
|
* @method listen
|
|
27
25
|
* @return {Promise<String>} Event listener promise, resolves to user's WebID
|
|
28
26
|
*/
|
|
29
|
-
|
|
30
|
-
|
|
31
27
|
Signup.prototype.listen = function listen() {
|
|
32
28
|
var promise = new Promise(function (resolve, reject) {
|
|
33
29
|
var eventMethod = window.addEventListener ? 'addEventListener' : 'attachEvent';
|
|
@@ -35,10 +31,8 @@ Signup.prototype.listen = function listen() {
|
|
|
35
31
|
var messageEvent = eventMethod === 'attachEvent' ? 'onmessage' : 'message';
|
|
36
32
|
eventListener(messageEvent, function (e) {
|
|
37
33
|
var u = e.data;
|
|
38
|
-
|
|
39
34
|
if (u.slice(0, 5) === 'User:') {
|
|
40
35
|
var user = u.slice(5, u.length);
|
|
41
|
-
|
|
42
36
|
if (user && user.length > 0 && user.slice(0, 4) === 'http') {
|
|
43
37
|
return resolve(user);
|
|
44
38
|
} else {
|
|
@@ -49,6 +43,7 @@ Signup.prototype.listen = function listen() {
|
|
|
49
43
|
});
|
|
50
44
|
return promise;
|
|
51
45
|
};
|
|
46
|
+
|
|
52
47
|
/**
|
|
53
48
|
* Opens a signup popup window, sets up `listen()`.
|
|
54
49
|
* @method signup
|
|
@@ -57,15 +52,13 @@ Signup.prototype.listen = function listen() {
|
|
|
57
52
|
* @return {Promise<String>} Returns a listener promise, resolves with signed
|
|
58
53
|
* up user's WebID.
|
|
59
54
|
*/
|
|
60
|
-
|
|
61
|
-
|
|
62
55
|
Signup.prototype.signup = function signup(signupUrl) {
|
|
63
56
|
signupUrl = signupUrl || this.config.signupEndpoint;
|
|
64
57
|
var width = this.config.signupWindowWidth;
|
|
65
|
-
var height = this.config.signupWindowHeight;
|
|
66
|
-
|
|
67
|
-
var leftPosition = window.screen.width / 2 - (width / 2 + 10);
|
|
68
|
-
|
|
58
|
+
var height = this.config.signupWindowHeight;
|
|
59
|
+
// set borders
|
|
60
|
+
var leftPosition = window.screen.width / 2 - (width / 2 + 10);
|
|
61
|
+
// set title and status bars
|
|
69
62
|
var topPosition = window.screen.height / 2 - (height / 2 + 50);
|
|
70
63
|
var windowTitle = 'Solid signup';
|
|
71
64
|
var windowUrl = signupUrl + '?origin=' + encodeURIComponent(window.location.origin);
|
package/lib/signup/signup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signup.js","names":["Signup","config","defaultConfig","prototype","listen","promise","Promise","resolve","reject","eventMethod","window","addEventListener","eventListener","messageEvent","e","u","data","slice","user","length","signup","signupUrl","signupEndpoint","width","signupWindowWidth","height","signupWindowHeight","leftPosition","screen","topPosition","windowTitle","windowUrl","encodeURIComponent","location","origin","windowSpecs","open","self","then","webid"],"sources":["../../src/signup/signup.js"],"sourcesContent":["import defaultConfig from './config-default'\n\n/**\n * Provides functionality for signing up with a Solid provider\n * @module signup\n */\n\n/**\n * Creates a Signup UI manager\n * @class\n */\nexport function Signup (config) {\n this.config = config || defaultConfig\n}\n\n/**\n * Sets up an event listener to monitor login messages from child window/iframe\n * @method listen\n * @return {Promise<String>} Event listener promise, resolves to user's WebID\n */\nSignup.prototype.listen = function listen () {\n const promise = new Promise(function (resolve, reject) {\n const eventMethod = window.addEventListener\n ? 'addEventListener'\n : 'attachEvent'\n const eventListener = window[eventMethod]\n const messageEvent = eventMethod === 'attachEvent'\n ? 'onmessage'\n : 'message'\n eventListener(messageEvent, function (e) {\n const u = e.data\n if (u.slice(0, 5) === 'User:') {\n const user = u.slice(5, u.length)\n if (user && user.length > 0 && user.slice(0, 4) === 'http') {\n return resolve(user)\n } else {\n return reject(user)\n }\n }\n }, true)\n })\n return promise\n}\n\n/**\n * Opens a signup popup window, sets up `listen()`.\n * @method signup\n * @static\n * @param signupUrl {String} Location of a Solid server for user signup.\n * @return {Promise<String>} Returns a listener promise, resolves with signed\n * up user's WebID.\n */\nSignup.prototype.signup = function signup (signupUrl) {\n signupUrl = signupUrl || this.config.signupEndpoint\n const width = this.config.signupWindowWidth\n const height = this.config.signupWindowHeight\n // set borders\n const leftPosition = (window.screen.width / 2) - ((width / 2) + 10)\n // set title and status bars\n const topPosition = (window.screen.height / 2) - ((height / 2) + 50)\n const windowTitle = 'Solid signup'\n const windowUrl = signupUrl + '?origin=' +\n encodeURIComponent(window.location.origin)\n const windowSpecs = 'resizable,scrollbars,status,width=' + width + ',height=' +\n height + ',left=' + leftPosition + ',top=' + topPosition\n window.open(windowUrl, windowTitle, windowSpecs)\n const self = this\n return new Promise(function (resolve) {\n self.listen()\n .then(function (webid) {\n return resolve(webid)\n })\n })\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"signup.js","names":["Signup","config","defaultConfig","prototype","listen","promise","Promise","resolve","reject","eventMethod","window","addEventListener","eventListener","messageEvent","e","u","data","slice","user","length","signup","signupUrl","signupEndpoint","width","signupWindowWidth","height","signupWindowHeight","leftPosition","screen","topPosition","windowTitle","windowUrl","encodeURIComponent","location","origin","windowSpecs","open","self","then","webid"],"sources":["../../src/signup/signup.js"],"sourcesContent":["import defaultConfig from './config-default'\n\n/**\n * Provides functionality for signing up with a Solid provider\n * @module signup\n */\n\n/**\n * Creates a Signup UI manager\n * @class\n */\nexport function Signup (config) {\n this.config = config || defaultConfig\n}\n\n/**\n * Sets up an event listener to monitor login messages from child window/iframe\n * @method listen\n * @return {Promise<String>} Event listener promise, resolves to user's WebID\n */\nSignup.prototype.listen = function listen () {\n const promise = new Promise(function (resolve, reject) {\n const eventMethod = window.addEventListener\n ? 'addEventListener'\n : 'attachEvent'\n const eventListener = window[eventMethod]\n const messageEvent = eventMethod === 'attachEvent'\n ? 'onmessage'\n : 'message'\n eventListener(messageEvent, function (e) {\n const u = e.data\n if (u.slice(0, 5) === 'User:') {\n const user = u.slice(5, u.length)\n if (user && user.length > 0 && user.slice(0, 4) === 'http') {\n return resolve(user)\n } else {\n return reject(user)\n }\n }\n }, true)\n })\n return promise\n}\n\n/**\n * Opens a signup popup window, sets up `listen()`.\n * @method signup\n * @static\n * @param signupUrl {String} Location of a Solid server for user signup.\n * @return {Promise<String>} Returns a listener promise, resolves with signed\n * up user's WebID.\n */\nSignup.prototype.signup = function signup (signupUrl) {\n signupUrl = signupUrl || this.config.signupEndpoint\n const width = this.config.signupWindowWidth\n const height = this.config.signupWindowHeight\n // set borders\n const leftPosition = (window.screen.width / 2) - ((width / 2) + 10)\n // set title and status bars\n const topPosition = (window.screen.height / 2) - ((height / 2) + 50)\n const windowTitle = 'Solid signup'\n const windowUrl = signupUrl + '?origin=' +\n encodeURIComponent(window.location.origin)\n const windowSpecs = 'resizable,scrollbars,status,width=' + width + ',height=' +\n height + ',left=' + leftPosition + ',top=' + topPosition\n window.open(windowUrl, windowTitle, windowSpecs)\n const self = this\n return new Promise(function (resolve) {\n self.listen()\n .then(function (webid) {\n return resolve(webid)\n })\n })\n}\n"],"mappings":";;;;;;;AAAA;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACO,SAASA,MAAM,CAAEC,MAAM,EAAE;EAC9B,IAAI,CAACA,MAAM,GAAGA,MAAM,IAAIC,yBAAa;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACAF,MAAM,CAACG,SAAS,CAACC,MAAM,GAAG,SAASA,MAAM,GAAI;EAC3C,IAAMC,OAAO,GAAG,IAAIC,OAAO,CAAC,UAAUC,OAAO,EAAEC,MAAM,EAAE;IACrD,IAAMC,WAAW,GAAGC,MAAM,CAACC,gBAAgB,GACvC,kBAAkB,GAClB,aAAa;IACjB,IAAMC,aAAa,GAAGF,MAAM,CAACD,WAAW,CAAC;IACzC,IAAMI,YAAY,GAAGJ,WAAW,KAAK,aAAa,GAC9C,WAAW,GACX,SAAS;IACbG,aAAa,CAACC,YAAY,EAAE,UAAUC,CAAC,EAAE;MACvC,IAAMC,CAAC,GAAGD,CAAC,CAACE,IAAI;MAChB,IAAID,CAAC,CAACE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,EAAE;QAC7B,IAAMC,IAAI,GAAGH,CAAC,CAACE,KAAK,CAAC,CAAC,EAAEF,CAAC,CAACI,MAAM,CAAC;QACjC,IAAID,IAAI,IAAIA,IAAI,CAACC,MAAM,GAAG,CAAC,IAAID,IAAI,CAACD,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,EAAE;UAC1D,OAAOV,OAAO,CAACW,IAAI,CAAC;QACtB,CAAC,MAAM;UACL,OAAOV,MAAM,CAACU,IAAI,CAAC;QACrB;MACF;IACF,CAAC,EAAE,IAAI,CAAC;EACV,CAAC,CAAC;EACF,OAAOb,OAAO;AAChB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAL,MAAM,CAACG,SAAS,CAACiB,MAAM,GAAG,SAASA,MAAM,CAAEC,SAAS,EAAE;EACpDA,SAAS,GAAGA,SAAS,IAAI,IAAI,CAACpB,MAAM,CAACqB,cAAc;EACnD,IAAMC,KAAK,GAAG,IAAI,CAACtB,MAAM,CAACuB,iBAAiB;EAC3C,IAAMC,MAAM,GAAG,IAAI,CAACxB,MAAM,CAACyB,kBAAkB;EAC7C;EACA,IAAMC,YAAY,GAAIjB,MAAM,CAACkB,MAAM,CAACL,KAAK,GAAG,CAAC,IAAMA,KAAK,GAAG,CAAC,GAAI,EAAE,CAAC;EACnE;EACA,IAAMM,WAAW,GAAInB,MAAM,CAACkB,MAAM,CAACH,MAAM,GAAG,CAAC,IAAMA,MAAM,GAAG,CAAC,GAAI,EAAE,CAAC;EACpE,IAAMK,WAAW,GAAG,cAAc;EAClC,IAAMC,SAAS,GAAGV,SAAS,GAAG,UAAU,GACtCW,kBAAkB,CAACtB,MAAM,CAACuB,QAAQ,CAACC,MAAM,CAAC;EAC5C,IAAMC,WAAW,GAAG,oCAAoC,GAAGZ,KAAK,GAAG,UAAU,GAC3EE,MAAM,GAAG,QAAQ,GAAGE,YAAY,GAAG,OAAO,GAAGE,WAAW;EAC1DnB,MAAM,CAAC0B,IAAI,CAACL,SAAS,EAAED,WAAW,EAAEK,WAAW,CAAC;EAChD,IAAME,IAAI,GAAG,IAAI;EACjB,OAAO,IAAI/B,OAAO,CAAC,UAAUC,OAAO,EAAE;IACpC8B,IAAI,CAACjC,MAAM,EAAE,CACVkC,IAAI,CAAC,UAAUC,KAAK,EAAE;MACrB,OAAOhC,OAAO,CAACgC,KAAK,CAAC;IACvB,CAAC,CAAC;EACN,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -4,10 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.rawJsonDecorator = void 0;
|
|
7
|
-
|
|
8
7
|
var rawJsonDecorator = function rawJsonDecorator(Story) {
|
|
9
8
|
return "<pre>".concat(JSON.stringify(Story(), null, 2), "</pre>");
|
|
10
9
|
};
|
|
11
|
-
|
|
12
10
|
exports.rawJsonDecorator = rawJsonDecorator;
|
|
13
11
|
//# sourceMappingURL=decorators.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","names":["rawJsonDecorator","Story","JSON","stringify"],"sources":["../../src/stories/decorators.js"],"sourcesContent":["export const rawJsonDecorator = (Story) => {\n return `<pre>${JSON.stringify(Story(), null, 2)}</pre>`\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"decorators.js","names":["rawJsonDecorator","Story","JSON","stringify"],"sources":["../../src/stories/decorators.js"],"sourcesContent":["export const rawJsonDecorator = (Story) => {\n return `<pre>${JSON.stringify(Story(), null, 2)}</pre>`\n}\n"],"mappings":";;;;;;AAAO,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAgB,CAAIC,KAAK,EAAK;EACzC,sBAAeC,IAAI,CAACC,SAAS,CAACF,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;AACjD,CAAC;AAAA"}
|
package/lib/style.js
CHANGED
|
@@ -7,23 +7,25 @@ exports.style = void 0;
|
|
|
7
7
|
// Common readable consistent stylesheet
|
|
8
8
|
// to avoid using style sheets which are document-global
|
|
9
9
|
// and make programmable style toggling with selection, drag over, etc easier
|
|
10
|
+
|
|
10
11
|
// These must all end with semicolon so they can be appended to.
|
|
11
|
-
var formBorderColor = '#888888'; // Mid-grey
|
|
12
12
|
|
|
13
|
+
var formBorderColor = '#888888'; // Mid-grey
|
|
13
14
|
var lowProfileLinkColor = '#3B5998'; // Grey-blue, e.g., for field labels linking to ontology
|
|
14
|
-
|
|
15
15
|
var formFieldNameBoxWidth = '8em'; // The fixed amount to get form fields to line up
|
|
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
19
|
var style = {
|
|
20
20
|
// styleModule
|
|
21
|
+
|
|
21
22
|
checkboxStyle: 'colour: black; font-size: 100%; padding-left: 0.5 em; padding-right: 0.5 em;',
|
|
22
23
|
checkboxInputStyle: 'font-size: 150%; height: 1.2em; width: 1.2em; background-color: #eef; border-radius:0.2em; margin: 0.1em',
|
|
23
24
|
fieldLabelStyle: 'color: #3B5998; text-decoration: none;',
|
|
24
25
|
formSelectSTyle: 'background-color: #eef; padding: 0.5em; border: .05em solid #88c; border-radius:0.2em; font-size: 100%; margin:0.4em;',
|
|
25
26
|
textInputStyle: 'background-color: #eef; padding: 0.5em; border: .05em solid #88c; border-radius:0.2em; font-size: 100%; margin:0.4em;',
|
|
26
|
-
textInputStyleUneditable:
|
|
27
|
+
textInputStyleUneditable:
|
|
28
|
+
// Color difference only
|
|
27
29
|
'background-color: white; padding: 0.5em; border: .05em solid white; border-radius:0.2em; font-size: 100%; margin:0.4em;',
|
|
28
30
|
textInputSize: 20,
|
|
29
31
|
// Default text input size in characters roughly
|
|
@@ -40,6 +42,7 @@ var style = {
|
|
|
40
42
|
pendingeditModifier: 'color: #bbb;',
|
|
41
43
|
highlightColor: '#7C4DFF',
|
|
42
44
|
// Solid lavendar https://design.inrupt.com/atomic-core/?cat=Core
|
|
45
|
+
|
|
43
46
|
// Contacts
|
|
44
47
|
personaBarStyle: 'width: 100%; height: 4em; background-color: #eee; vertical-align: middle;',
|
|
45
48
|
searchInputStyle: 'border: 0.1em solid #444; border-radius: 0.2em; width: 100%; font-size: 100%; padding: 0.1em 0.6em; margin 0.2em;',
|
|
@@ -47,6 +50,7 @@ var style = {
|
|
|
47
50
|
// Login buttons
|
|
48
51
|
signInButtonStyle: 'padding: 1em; border-radius:0.2em; font-size: 100%;',
|
|
49
52
|
// was 0.5em radius
|
|
53
|
+
|
|
50
54
|
// Forms
|
|
51
55
|
heading1Style: 'font-size: 180%; font-weight: bold; color: #888888; padding: 0.5em; margin: 0.7em 0.0m;',
|
|
52
56
|
// originally was brown; now grey
|
|
@@ -56,6 +60,7 @@ var style = {
|
|
|
56
60
|
// For example, in large forms or before a small form
|
|
57
61
|
heading4Style: 'font-size: 110%; font-weight: bold; color: #888888; padding: 0.2em; margin: 0.7em 0.0em;',
|
|
58
62
|
// Lowest level used by default in small things
|
|
63
|
+
|
|
59
64
|
formBorderColor: formBorderColor,
|
|
60
65
|
// originally was brown; now grey
|
|
61
66
|
formHeadingColor: '#888888',
|
|
@@ -81,10 +86,8 @@ var style = {
|
|
|
81
86
|
linkDivStyle: 'width:2em; padding:0.5em; height: 4em;'
|
|
82
87
|
};
|
|
83
88
|
exports.style = style;
|
|
84
|
-
|
|
85
89
|
style.setStyle = function setStyle(ele, styleName) {
|
|
86
90
|
ele.style = style[styleName];
|
|
87
91
|
};
|
|
88
|
-
|
|
89
92
|
module.exports = style; // @@ No way to do this in ESM
|
|
90
93
|
//# sourceMappingURL=style.js.map
|
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","formFieldLabelStyle","formFieldNameBoxStyle","textInputBackgroundColor","textInputBackgroundColorUneditable","textInputColor","textInputColorPending","multilineTextInputStyle","renderAsDivStyle","imageDivStyle","linkDivStyle","setStyle","ele","styleName","module","exports"],"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: 'colour: 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\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":";;;;;;AAAA;AACA;AACA
|
|
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","formFieldLabelStyle","formFieldNameBoxStyle","textInputBackgroundColor","textInputBackgroundColorUneditable","textInputColor","textInputColorPending","multilineTextInputStyle","renderAsDivStyle","imageDivStyle","linkDivStyle","setStyle","ele","styleName","module","exports"],"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: 'colour: 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\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":";;;;;;AAAA;AACA;AACA;;AAEA;;AAEA,IAAMA,eAAe,GAAG,SAAS,EAAC;AAClC,IAAMC,mBAAmB,GAAG,SAAS,EAAC;AACtC,IAAMC,qBAAqB,GAAG,KAAK,EAAC;AACpC;AACA;;AAEO,IAAMC,KAAK,GAAG;EAAE;;EAErBC,aAAa,EAAE,8EAA8E;EAC7FC,kBAAkB,EAAE,0GAA0G;EAE9HC,eAAe,EAAE,wCAAwC;EACzDC,eAAe,EACb,yHAAyH;EAC3HC,cAAc,EACZ,yHAAyH;EAC3HC,wBAAwB;EAAE;EACxB,2HAA2H;EAC7HC,aAAa,EAAE,EAAE;EAAE;EACnBC,WAAW,EACP,2HAA2H;EAAE;EACjIC,YAAY,EAAE,wEAAwE;EACtFC,SAAS,EAAE,6DAA6D;EACxEC,gBAAgB,EAAE,wCAAwC;EAC1DC,cAAc,EAAE,kIAAkI;EAAE;EACpJC,iBAAiB,EAAE,0HAA0H;EAC7IC,eAAe,EAAE,OAAO;EACxBC,gBAAgB,EACd,wIAAwI;EAC1IC,mBAAmB,EAAE,cAAc;EACnCC,cAAc,EAAE,SAAS;EAAE;;EAE3B;EACAC,eAAe,EAAE,2EAA2E;EAC5FC,gBAAgB,EAAE,mHAAmH;EACrIC,oBAAoB,EAAE,4BAA4B;EAElD;EACAC,iBAAiB,EAAE,qDAAqD;EAAE;;EAE1E;EACAC,aAAa,EAAE,yFAAyF;EAAE;EAC1GC,aAAa,EAAE,0FAA0F;EAAE;EAC3GC,aAAa,EAAE,0FAA0F;EAAE;EAC3GC,aAAa,EAAE,0FAA0F;EAAE;;EAE3G5B,eAAe,EAAfA,eAAe;EAAE;EACjB6B,gBAAgB,EAAE,SAAS;EAAE;EAC7BC,gBAAgB,EAAE,2FAA2F;EAAE;EAC/GC,aAAa,EAAE,iDAAiD;EAAE;EAClEC,cAAc,EAAE,kDAA2ChC,eAAe,8BAA2B;EAAA,kDACxDA,eAAe,+EAChBA,eAAe,+EACfA,eAAe,6BAA0B;EAAA,CACpF;EAEDiC,mBAAmB,oBAAahC,mBAAmB,8BAA2B;EAC9EC,qBAAqB,EAArBA,qBAAqB;EACrBgC,qBAAqB,0DAAmDhC,qBAAqB,MAAG;EAChGiC,wBAAwB,EAAE,MAAM;EAChCC,kCAAkC,EAAE,MAAM;EAC1CC,cAAc,EAAE,MAAM;EACtBC,qBAAqB,EAAE,MAAM;EAC7BC,uBAAuB,EAAE,gEAAgE,GACzF,kEAAkE;EAElE;EACAC,gBAAgB,EAAE,kGAAkG;EACpHC,aAAa,EAAE,4CAA4C;EAC3DC,YAAY,EAAE;AAChB,CAAC;AAAA;AAEDvC,KAAK,CAACwC,QAAQ,GAAG,SAASA,QAAQ,CAAEC,GAAG,EAAEC,SAAS,EAAE;EAClDD,GAAG,CAACzC,KAAK,GAAGA,KAAK,CAAC0C,SAAS,CAAC;AAC9B,CAAC;AAEDC,MAAM,CAACC,OAAO,GAAG5C,KAAK,EAAC"}
|
package/lib/style_multiSelect.js
CHANGED
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.style = void 0;
|
|
7
|
-
|
|
8
7
|
/*
|
|
9
8
|
* BASED ON:
|
|
10
9
|
* IconicMultiSelect v0.7.0
|
|
@@ -19,7 +18,6 @@ exports.style = void 0;
|
|
|
19
18
|
*/
|
|
20
19
|
var style = {
|
|
21
20
|
multiselect__container: "\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n background-color: #fff;\n border-radius: 2px;\n -webkit-box-shadow: 0 1px 3px 0 #d1d1d2, 0 0 0 1px #d1d1d2;\n box-shadow: 0 1px 3px 0 #d1d1d2, 0 0 0 1px #d1d1d2;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n min-height: 36px;\n padding: 4px 8px 0 8px;\n position: relative;\n width: 354px;\n margin-bottom: 5px;\n font-size: 100%\n ",
|
|
22
|
-
|
|
23
21
|
/*
|
|
24
22
|
multiselect__container:after: `
|
|
25
23
|
content: '';
|
|
@@ -39,12 +37,12 @@ var style = {
|
|
|
39
37
|
multiselect__options_ul_li: "\n cursor: pointer;\n padding: 4px 8px;\n ",
|
|
40
38
|
// multiselect__options ul li:hover: `
|
|
41
39
|
multiselect__options_ul_li_hover: "\n background-color: #dedede;\n ",
|
|
42
|
-
|
|
43
40
|
/*
|
|
44
41
|
multiselect__options ul li *: `
|
|
45
42
|
pointer-events: none;
|
|
46
43
|
`,
|
|
47
44
|
*/
|
|
45
|
+
|
|
48
46
|
multiselect__options_ul_p_multiselect__options_no_results: "\n margin: 0;\n padding: 8px;\n text-align: center;\n ",
|
|
49
47
|
multiselect__options_ul_p_multiselect__options_no_data: "\n margin: 0;\n padding: 8px;\n text-align: center;\n ",
|
|
50
48
|
// multiselect__options ul li.multiselect__options--selected: `
|
|
@@ -58,10 +56,8 @@ var style = {
|
|
|
58
56
|
multiselect__input: "\n border: none;\n -ms-flex-preferred-size: 40%;\n flex-basis: 40%;\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n height: 5px; \n margin-bottom: 4px;\n min-width: 40%;\n outline: none; \n "
|
|
59
57
|
};
|
|
60
58
|
exports.style = style;
|
|
61
|
-
|
|
62
59
|
style.setStyle = function setStyle(ele, styleName) {
|
|
63
60
|
ele.style = style[styleName];
|
|
64
61
|
};
|
|
65
|
-
|
|
66
62
|
module.exports = style;
|
|
67
63
|
//# sourceMappingURL=style_multiSelect.js.map
|