profile-pane 3.1.4 → 3.2.0
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/README.md +16 -0
- package/lib/04567ff683933c35c465.png +0 -0
- package/lib/10163fd9b5a0e00d63a0.png +0 -0
- package/lib/1234dcb2eec2e45f252b.png +0 -0
- package/lib/20899934157df4db56cb.png +0 -0
- package/lib/33760bf79f097f449da5.png +0 -0
- package/lib/578d2b6ed32e7624164e.png +0 -0
- package/lib/5f62a5b2b7e99b9640c7.png +0 -0
- package/lib/6525766ecd288ec60129.png +0 -0
- package/lib/7800be6f6c4b5b0f4f20.png +0 -0
- package/lib/976473cf5fe24d657d4b.png +0 -0
- package/lib/ChatWithMe.d.ts +2 -1
- package/lib/ChatWithMe.d.ts.map +1 -1
- package/lib/ChatWithMe.js +3 -3
- package/lib/ProfileView.d.ts +1 -1
- package/lib/ProfileView.d.ts.map +1 -1
- package/lib/ProfileView.js +71 -131
- package/lib/ProfileViewModelPresenter.d.ts +23 -0
- package/lib/ProfileViewModelPresenter.d.ts.map +1 -0
- package/lib/ProfileViewModelPresenter.js +37 -0
- package/lib/QRCodeCard.d.ts +3 -1
- package/lib/QRCodeCard.d.ts.map +1 -1
- package/lib/QRCodeCard.js +86 -66
- package/lib/addMeToYourFriends.d.ts +3 -3
- package/lib/addMeToYourFriends.d.ts.map +1 -1
- package/lib/addMeToYourFriends.js +14 -30
- package/lib/bda84f59e7216675a208.png +0 -0
- package/lib/buttonsHelper.js +1 -1
- package/lib/cd68e8f3990ba8b2139e.png +0 -0
- package/lib/e7074a7e2cb69e51cfd3.png +0 -0
- package/lib/editProfilePane/EditCVCard.d.ts +1 -0
- package/lib/editProfilePane/EditCVCard.d.ts.map +1 -1
- package/lib/editProfilePane/EditCVCard.js +2 -1
- package/lib/editProfilePane/EditCommunitiesCard.d.ts +1 -1
- package/lib/editProfilePane/EditCommunitiesCard.d.ts.map +1 -1
- package/lib/editProfilePane/EditCommunitiesCard.js +2 -1
- package/lib/editProfilePane/EditContactsCard.d.ts +1 -0
- package/lib/editProfilePane/EditContactsCard.d.ts.map +1 -1
- package/lib/editProfilePane/EditContactsCard.js +2 -0
- package/lib/editProfilePane/EditFriendsCard.d.ts +1 -1
- package/lib/editProfilePane/EditFriendsCard.d.ts.map +1 -1
- package/lib/editProfilePane/EditFriendsCard.js +2 -1
- package/lib/editProfilePane/EditOtherPreferences.d.ts +1 -0
- package/lib/editProfilePane/EditOtherPreferences.d.ts.map +1 -1
- package/lib/editProfilePane/EditOtherPreferences.js +1 -0
- package/lib/editProfilePane/EditProfileView.d.ts +1 -1
- package/lib/editProfilePane/EditProfileView.d.ts.map +1 -1
- package/lib/editProfilePane/EditProfileView.js +1 -1
- package/lib/editProfilePane/EditSocialCard.d.ts +1 -0
- package/lib/editProfilePane/EditSocialCard.d.ts.map +1 -1
- package/lib/editProfilePane/EditSocialCard.js +2 -1
- package/lib/editProfilePane/editProfilePresenter.d.ts +1 -0
- package/lib/editProfilePane/editProfilePresenter.d.ts.map +1 -1
- package/lib/editProfilePane/editProfilePresenter.js +2 -0
- package/lib/f3772696fb7ee53c23d8.png +0 -0
- package/lib/icons-svg/contactIcons.d.ts +3 -0
- package/lib/icons-svg/contactIcons.d.ts.map +1 -0
- package/lib/icons-svg/contactIcons.js +32 -0
- package/lib/icons-svg/profileIcons.d.ts +22 -0
- package/lib/icons-svg/profileIcons.d.ts.map +1 -0
- package/lib/icons-svg/profileIcons.js +309 -0
- package/lib/index.d.ts +1 -3
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +42 -19
- package/lib/profile-pane.js +15629 -5666
- package/lib/profile-pane.js.map +1 -1
- package/lib/profile-pane.min.js +2171 -230
- package/lib/profile-pane.min.js.map +1 -1
- package/lib/rdfFormsHelper.d.ts +1 -0
- package/lib/rdfFormsHelper.d.ts.map +1 -1
- package/lib/rdfFormsHelper.js +2 -0
- package/lib/sections/bio/BioEditDialog.d.ts +6 -0
- package/lib/sections/bio/BioEditDialog.d.ts.map +1 -0
- package/lib/sections/bio/BioEditDialog.js +119 -0
- package/lib/sections/bio/BioSection.d.ts +7 -0
- package/lib/sections/bio/BioSection.d.ts.map +1 -0
- package/lib/sections/bio/BioSection.js +131 -0
- package/lib/sections/bio/mutations.d.ts +4 -0
- package/lib/sections/bio/mutations.d.ts.map +1 -0
- package/lib/sections/bio/mutations.js +43 -0
- package/lib/sections/bio/selectors.d.ts +4 -0
- package/lib/sections/bio/selectors.d.ts.map +1 -0
- package/lib/sections/bio/selectors.js +15 -0
- package/lib/sections/bio/types.d.ts +15 -0
- package/lib/sections/bio/types.d.ts.map +1 -0
- package/lib/sections/bio/types.js +5 -0
- package/lib/sections/contactInfo/ContactInfoEditDialog.d.ts +7 -0
- package/lib/sections/contactInfo/ContactInfoEditDialog.d.ts.map +1 -0
- package/lib/sections/contactInfo/ContactInfoEditDialog.js +658 -0
- package/lib/sections/contactInfo/ContactInfoSection.d.ts +5 -0
- package/lib/sections/contactInfo/ContactInfoSection.d.ts.map +1 -0
- package/lib/sections/contactInfo/ContactInfoSection.js +229 -0
- package/lib/sections/contactInfo/mutations.d.ts +4 -0
- package/lib/sections/contactInfo/mutations.d.ts.map +1 -0
- package/lib/sections/contactInfo/mutations.js +150 -0
- package/lib/sections/contactInfo/selectors.d.ts +4 -0
- package/lib/sections/contactInfo/selectors.d.ts.map +1 -0
- package/lib/sections/contactInfo/selectors.js +104 -0
- package/lib/sections/contactInfo/types.d.ts +44 -0
- package/lib/sections/contactInfo/types.d.ts.map +1 -0
- package/lib/sections/contactInfo/types.js +5 -0
- package/lib/sections/education/EducationEditDialog.d.ts +7 -0
- package/lib/sections/education/EducationEditDialog.d.ts.map +1 -0
- package/lib/sections/education/EducationEditDialog.js +459 -0
- package/lib/sections/education/EducationSection.d.ts +7 -0
- package/lib/sections/education/EducationSection.d.ts.map +1 -0
- package/lib/sections/education/EducationSection.js +126 -0
- package/lib/sections/education/mutations.d.ts +4 -0
- package/lib/sections/education/mutations.d.ts.map +1 -0
- package/lib/sections/education/mutations.js +60 -0
- package/lib/sections/education/selectors.d.ts +4 -0
- package/lib/sections/education/selectors.d.ts.map +1 -0
- package/lib/sections/education/selectors.js +64 -0
- package/lib/sections/education/types.d.ts +20 -0
- package/lib/sections/education/types.d.ts.map +1 -0
- package/lib/sections/education/types.js +5 -0
- package/lib/sections/heading/HeadingEditDialog.d.ts +6 -0
- package/lib/sections/heading/HeadingEditDialog.d.ts.map +1 -0
- package/lib/sections/heading/HeadingEditDialog.js +742 -0
- package/lib/sections/heading/HeadingSection.d.ts +9 -0
- package/lib/sections/heading/HeadingSection.d.ts.map +1 -0
- package/lib/sections/heading/HeadingSection.js +97 -0
- package/lib/sections/heading/camera.d.ts +19 -0
- package/lib/sections/heading/camera.d.ts.map +1 -0
- package/lib/sections/heading/camera.js +199 -0
- package/lib/sections/heading/dateHelpers.d.ts +4 -0
- package/lib/sections/heading/dateHelpers.d.ts.map +1 -0
- package/lib/sections/heading/dateHelpers.js +48 -0
- package/lib/sections/heading/imageHelpers.d.ts +4 -0
- package/lib/sections/heading/imageHelpers.d.ts.map +1 -0
- package/lib/sections/heading/imageHelpers.js +81 -0
- package/lib/sections/heading/mutations.d.ts +4 -0
- package/lib/sections/heading/mutations.d.ts.map +1 -0
- package/lib/sections/heading/mutations.js +190 -0
- package/lib/sections/heading/selectors.d.ts +5 -0
- package/lib/sections/heading/selectors.d.ts.map +1 -0
- package/lib/sections/heading/selectors.js +157 -0
- package/lib/sections/heading/types.d.ts +36 -0
- package/lib/sections/heading/types.d.ts.map +1 -0
- package/lib/sections/heading/types.js +5 -0
- package/lib/sections/languages/LanguageEditDialog.d.ts +7 -0
- package/lib/sections/languages/LanguageEditDialog.d.ts.map +1 -0
- package/lib/sections/languages/LanguageEditDialog.js +457 -0
- package/lib/sections/languages/LanguageSection.d.ts +5 -0
- package/lib/sections/languages/LanguageSection.d.ts.map +1 -0
- package/lib/sections/languages/LanguageSection.js +137 -0
- package/lib/sections/languages/mutations.d.ts +6 -0
- package/lib/sections/languages/mutations.d.ts.map +1 -0
- package/lib/sections/languages/mutations.js +296 -0
- package/lib/sections/languages/selectors.d.ts +5 -0
- package/lib/sections/languages/selectors.d.ts.map +1 -0
- package/lib/sections/languages/selectors.js +146 -0
- package/lib/sections/languages/types.d.ts +15 -0
- package/lib/sections/languages/types.d.ts.map +1 -0
- package/lib/sections/languages/types.js +5 -0
- package/lib/sections/projects/ProjectEditDialog.d.ts +7 -0
- package/lib/sections/projects/ProjectEditDialog.d.ts.map +1 -0
- package/lib/sections/projects/ProjectEditDialog.js +182 -0
- package/lib/sections/projects/ProjectSection.d.ts +6 -0
- package/lib/sections/projects/ProjectSection.d.ts.map +1 -0
- package/lib/sections/projects/ProjectSection.js +220 -0
- package/lib/sections/projects/mutations.d.ts +4 -0
- package/lib/sections/projects/mutations.d.ts.map +1 -0
- package/lib/sections/projects/mutations.js +188 -0
- package/lib/sections/projects/selectors.d.ts +5 -0
- package/lib/sections/projects/selectors.d.ts.map +1 -0
- package/lib/sections/projects/selectors.js +163 -0
- package/lib/sections/projects/types.d.ts +28 -0
- package/lib/sections/projects/types.d.ts.map +1 -0
- package/lib/sections/projects/types.js +8 -0
- package/lib/sections/resume/ResumeEditDialog.d.ts +7 -0
- package/lib/sections/resume/ResumeEditDialog.d.ts.map +1 -0
- package/lib/sections/resume/ResumeEditDialog.js +629 -0
- package/lib/sections/resume/ResumeSection.d.ts +7 -0
- package/lib/sections/resume/ResumeSection.d.ts.map +1 -0
- package/lib/sections/resume/ResumeSection.js +160 -0
- package/lib/sections/resume/mutations.d.ts +6 -0
- package/lib/sections/resume/mutations.d.ts.map +1 -0
- package/lib/sections/resume/mutations.js +172 -0
- package/lib/sections/resume/selectors.d.ts +4 -0
- package/lib/sections/resume/selectors.d.ts.map +1 -0
- package/lib/sections/resume/selectors.js +142 -0
- package/lib/sections/resume/types.d.ts +33 -0
- package/lib/sections/resume/types.d.ts.map +1 -0
- package/lib/sections/resume/types.js +8 -0
- package/lib/sections/shared/collapsibleSection.d.ts +2 -0
- package/lib/sections/shared/collapsibleSection.d.ts.map +1 -0
- package/lib/sections/shared/collapsibleSection.js +24 -0
- package/lib/sections/shared/contactTypeUtils.d.ts +7 -0
- package/lib/sections/shared/contactTypeUtils.d.ts.map +1 -0
- package/lib/sections/shared/contactTypeUtils.js +48 -0
- package/lib/sections/shared/idNodeFactory.d.ts +3 -0
- package/lib/sections/shared/idNodeFactory.d.ts.map +1 -0
- package/lib/sections/shared/idNodeFactory.js +14 -0
- package/lib/sections/shared/phoneCountries.d.ts +20 -0
- package/lib/sections/shared/phoneCountries.d.ts.map +1 -0
- package/lib/sections/shared/phoneCountries.js +1080 -0
- package/lib/sections/shared/rdfList.d.ts +3 -0
- package/lib/sections/shared/rdfList.d.ts.map +1 -0
- package/lib/sections/shared/rdfList.js +34 -0
- package/lib/sections/shared/rdfMutationHelpers.d.ts +12 -0
- package/lib/sections/shared/rdfMutationHelpers.d.ts.map +1 -0
- package/lib/sections/shared/rdfMutationHelpers.js +82 -0
- package/lib/sections/shared/rowState.d.ts +21 -0
- package/lib/sections/shared/rowState.d.ts.map +1 -0
- package/lib/sections/shared/rowState.js +52 -0
- package/lib/sections/shared/sanitizeUtils.d.ts +5 -0
- package/lib/sections/shared/sanitizeUtils.d.ts.map +1 -0
- package/lib/sections/shared/sanitizeUtils.js +22 -0
- package/lib/sections/shared/sectionCardHelpers.d.ts +11 -0
- package/lib/sections/shared/sectionCardHelpers.d.ts.map +1 -0
- package/lib/sections/shared/sectionCardHelpers.js +105 -0
- package/lib/sections/shared/types.d.ts +7 -0
- package/lib/sections/shared/types.d.ts.map +1 -0
- package/lib/sections/shared/types.js +5 -0
- package/lib/sections/skills/SkillsEditDialog.d.ts +7 -0
- package/lib/sections/skills/SkillsEditDialog.d.ts.map +1 -0
- package/lib/sections/skills/SkillsEditDialog.js +340 -0
- package/lib/sections/skills/SkillsSection.d.ts +5 -0
- package/lib/sections/skills/SkillsSection.d.ts.map +1 -0
- package/lib/sections/skills/SkillsSection.js +169 -0
- package/lib/sections/skills/mutations.d.ts +6 -0
- package/lib/sections/skills/mutations.d.ts.map +1 -0
- package/lib/sections/skills/mutations.js +110 -0
- package/lib/sections/skills/selectors.d.ts +6 -0
- package/lib/sections/skills/selectors.d.ts.map +1 -0
- package/lib/sections/skills/selectors.js +37 -0
- package/lib/sections/skills/types.d.ts +14 -0
- package/lib/sections/skills/types.d.ts.map +1 -0
- package/lib/sections/skills/types.js +5 -0
- package/lib/sections/social/SocialEditDialog.d.ts +7 -0
- package/lib/sections/social/SocialEditDialog.d.ts.map +1 -0
- package/lib/sections/social/SocialEditDialog.js +362 -0
- package/lib/sections/social/SocialSection.d.ts +8 -0
- package/lib/sections/social/SocialSection.d.ts.map +1 -0
- package/lib/sections/social/SocialSection.js +201 -0
- package/lib/sections/social/constants.d.ts +3 -0
- package/lib/sections/social/constants.d.ts.map +1 -0
- package/lib/sections/social/constants.js +16 -0
- package/lib/sections/social/helpers.d.ts +15 -0
- package/lib/sections/social/helpers.d.ts.map +1 -0
- package/lib/sections/social/helpers.js +316 -0
- package/lib/sections/social/mutations.d.ts +4 -0
- package/lib/sections/social/mutations.d.ts.map +1 -0
- package/lib/sections/social/mutations.js +298 -0
- package/lib/sections/social/selectors.d.ts +4 -0
- package/lib/sections/social/selectors.d.ts.map +1 -0
- package/lib/sections/social/selectors.js +43 -0
- package/lib/sections/social/types.d.ts +19 -0
- package/lib/sections/social/types.d.ts.map +1 -0
- package/lib/sections/social/types.js +5 -0
- package/lib/styles/BioSection.css +77 -0
- package/lib/styles/CVCard.css +107 -2
- package/lib/styles/ContactInfoEditDialog.css +153 -0
- package/lib/styles/EditDialogs.css +1028 -0
- package/lib/styles/EducationCard.css +103 -0
- package/lib/styles/HeadingSection.css +309 -0
- package/lib/styles/ProfileCard.css +10 -42
- package/lib/styles/ProfileView.css +53 -8
- package/lib/styles/ProjectsCard.css +206 -0
- package/lib/styles/QRCodeCard.css +29 -10
- package/lib/styles/SocialCard.css +41 -13
- package/lib/styles/dialog.css +209 -0
- package/lib/styles/utilities.css +638 -256
- package/lib/textUtils.d.ts +6 -0
- package/lib/textUtils.d.ts.map +1 -0
- package/lib/textUtils.js +44 -0
- package/lib/texts.d.ts +45 -4
- package/lib/texts.d.ts.map +1 -1
- package/lib/texts.js +46 -5
- package/lib/types.d.ts +2 -0
- package/lib/types.d.ts.map +1 -0
- package/lib/types.js +5 -0
- package/lib/ui/dialog.d.ts +29 -0
- package/lib/ui/dialog.d.ts.map +1 -0
- package/lib/ui/dialog.js +269 -0
- package/lib/ui/errors.d.ts +2 -0
- package/lib/ui/errors.d.ts.map +1 -0
- package/lib/ui/errors.js +10 -0
- package/package.json +8 -6
- package/lib/CVCard.d.ts +0 -4
- package/lib/CVCard.d.ts.map +0 -1
- package/lib/CVCard.js +0 -114
- package/lib/CVPresenter.d.ts +0 -25
- package/lib/CVPresenter.d.ts.map +0 -1
- package/lib/CVPresenter.js +0 -119
- package/lib/FriendList.d.ts +0 -6
- package/lib/FriendList.d.ts.map +0 -1
- package/lib/FriendList.js +0 -27
- package/lib/ProfileCard.d.ts +0 -6
- package/lib/ProfileCard.d.ts.map +0 -1
- package/lib/ProfileCard.js +0 -62
- package/lib/SocialCard.d.ts +0 -5
- package/lib/SocialCard.d.ts.map +0 -1
- package/lib/SocialCard.js +0 -51
- package/lib/SocialPresenter.d.ts +0 -11
- package/lib/SocialPresenter.d.ts.map +0 -1
- package/lib/SocialPresenter.js +0 -117
- package/lib/StuffCard.d.ts +0 -10
- package/lib/StuffCard.d.ts.map +0 -1
- package/lib/StuffCard.js +0 -52
- package/lib/StuffPresenter.d.ts +0 -14
- package/lib/StuffPresenter.d.ts.map +0 -1
- package/lib/StuffPresenter.js +0 -53
- package/lib/presenter.d.ts +0 -14
- package/lib/presenter.d.ts.map +0 -1
- package/lib/presenter.js +0 -68
- package/lib/styles/FriendList.css +0 -12
- package/lib/styles/StuffCard.css +0 -23
- package/lib/styles/editProfile.css +0 -62
- package/lib/styles/profileRDFFormsEnforced.css +0 -427
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.processHeadingMutations = processHeadingMutations;
|
|
7
|
+
var _rdflib = require("rdflib");
|
|
8
|
+
var _solidUi = require("solid-ui");
|
|
9
|
+
var _rdfMutationHelpers = require("../shared/rdfMutationHelpers");
|
|
10
|
+
var _idNodeFactory = require("../shared/idNodeFactory");
|
|
11
|
+
var _texts = require("../../texts");
|
|
12
|
+
function buildPhoneStatements(subject, doc, node, phone) {
|
|
13
|
+
const normalizedValue = phone.value.startsWith('tel:') ? phone.value : `tel:${phone.value}`;
|
|
14
|
+
const valueNode = (0, _rdflib.sym)(normalizedValue);
|
|
15
|
+
const inserts = [(0, _rdflib.st)(subject, _solidUi.ns.vcard('hasTelephone'), node, doc), (0, _rdflib.st)(node, _solidUi.ns.vcard('value'), valueNode, doc)];
|
|
16
|
+
if (phone.type) {
|
|
17
|
+
inserts.push((0, _rdflib.st)(node, _solidUi.ns.rdf('type'), _solidUi.ns.vcard(phone.type), doc));
|
|
18
|
+
}
|
|
19
|
+
return inserts;
|
|
20
|
+
}
|
|
21
|
+
function buildEmailStatements(subject, doc, node, email) {
|
|
22
|
+
const normalizedValue = email.value.startsWith('mailto:') ? email.value : `mailto:${email.value}`;
|
|
23
|
+
const valueNode = (0, _rdflib.sym)(normalizedValue);
|
|
24
|
+
const inserts = [(0, _rdflib.st)(subject, _solidUi.ns.vcard('hasEmail'), node, doc), (0, _rdflib.st)(node, _solidUi.ns.vcard('value'), valueNode, doc)];
|
|
25
|
+
if (email.type) {
|
|
26
|
+
inserts.push((0, _rdflib.st)(node, _solidUi.ns.rdf('type'), _solidUi.ns.vcard(email.type), doc));
|
|
27
|
+
}
|
|
28
|
+
return inserts;
|
|
29
|
+
}
|
|
30
|
+
function buildAddressStatements(subject, doc, node, address) {
|
|
31
|
+
const inserts = [(0, _rdflib.st)(subject, _solidUi.ns.vcard('hasAddress'), node, doc)];
|
|
32
|
+
if (address.type) inserts.push((0, _rdflib.st)(node, _solidUi.ns.rdf('type'), _solidUi.ns.vcard(address.type), doc));
|
|
33
|
+
if (address.streetAddress) inserts.push((0, _rdflib.st)(node, _solidUi.ns.vcard('street-address'), address.streetAddress, doc));
|
|
34
|
+
if (address.locality) inserts.push((0, _rdflib.st)(node, _solidUi.ns.vcard('locality'), address.locality, doc));
|
|
35
|
+
if (address.region) inserts.push((0, _rdflib.st)(node, _solidUi.ns.vcard('region'), address.region, doc));
|
|
36
|
+
if (address.postalCode) inserts.push((0, _rdflib.st)(node, _solidUi.ns.vcard('postal-code'), address.postalCode, doc));
|
|
37
|
+
if (address.countryName) inserts.push((0, _rdflib.st)(node, _solidUi.ns.vcard('country-name'), address.countryName, doc));
|
|
38
|
+
return inserts;
|
|
39
|
+
}
|
|
40
|
+
function findOpWithExistingEntry(ops, existingNodes) {
|
|
41
|
+
return ops.find(op => Boolean(op.entryNode) && Boolean((0, _rdfMutationHelpers.findExistingNode)(existingNodes, op.entryNode)));
|
|
42
|
+
}
|
|
43
|
+
function findCreateOp(ops) {
|
|
44
|
+
return ops.find(op => !op.entryNode);
|
|
45
|
+
}
|
|
46
|
+
async function mutatePhoneEntry(store, subject, phoneOps) {
|
|
47
|
+
const doc = subject.doc();
|
|
48
|
+
const existingPhoneNodes = store.each(subject, _solidUi.ns.vcard('hasTelephone'), null, doc);
|
|
49
|
+
const deletions = [];
|
|
50
|
+
const insertions = [];
|
|
51
|
+
const removePhone = findOpWithExistingEntry(phoneOps.remove, existingPhoneNodes);
|
|
52
|
+
const updatePhone = findOpWithExistingEntry(phoneOps.update, existingPhoneNodes);
|
|
53
|
+
const createPhone = findCreateOp(phoneOps.create) || phoneOps.create[0];
|
|
54
|
+
if (removePhone?.entryNode) {
|
|
55
|
+
const existingNode = (0, _rdfMutationHelpers.findExistingNode)(existingPhoneNodes, removePhone.entryNode);
|
|
56
|
+
if (existingNode) {
|
|
57
|
+
const linkedPhoneStatements = (0, _rdfMutationHelpers.collectLinkedNodeStatements)(store, subject, _solidUi.ns.vcard('hasTelephone'), doc);
|
|
58
|
+
const matchingLinkStatement = linkedPhoneStatements.linkStatements.find(statement => statement.object?.value === existingNode.value);
|
|
59
|
+
if (matchingLinkStatement) {
|
|
60
|
+
deletions.push(matchingLinkStatement);
|
|
61
|
+
}
|
|
62
|
+
deletions.push(...(0, _rdfMutationHelpers.collectNodeStatements)(store, existingNode, doc));
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
if (updatePhone) {
|
|
66
|
+
const existingNode = (0, _rdfMutationHelpers.findExistingNode)(existingPhoneNodes, updatePhone.entryNode);
|
|
67
|
+
if (existingNode) {
|
|
68
|
+
deletions.push(...(0, _rdfMutationHelpers.collectNodeStatements)(store, existingNode, doc));
|
|
69
|
+
insertions.push(...buildPhoneStatements(subject, doc, existingNode, updatePhone));
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
if (createPhone) {
|
|
73
|
+
insertions.push(...buildPhoneStatements(subject, doc, (0, _idNodeFactory.createIdNode)(doc), createPhone));
|
|
74
|
+
}
|
|
75
|
+
await (0, _rdfMutationHelpers.applyUpdaterPatch)(store, deletions, insertions);
|
|
76
|
+
}
|
|
77
|
+
async function mutateEmailEntry(store, subject, emailOps) {
|
|
78
|
+
const doc = subject.doc();
|
|
79
|
+
const existingEmailNodes = store.each(subject, _solidUi.ns.vcard('hasEmail'), null, doc);
|
|
80
|
+
const deletions = [];
|
|
81
|
+
const insertions = [];
|
|
82
|
+
const removeEmail = findOpWithExistingEntry(emailOps.remove, existingEmailNodes);
|
|
83
|
+
const updateEmail = findOpWithExistingEntry(emailOps.update, existingEmailNodes);
|
|
84
|
+
const createEmail = findCreateOp(emailOps.create) || emailOps.create[0];
|
|
85
|
+
if (removeEmail?.entryNode) {
|
|
86
|
+
const existingNode = (0, _rdfMutationHelpers.findExistingNode)(existingEmailNodes, removeEmail.entryNode);
|
|
87
|
+
if (existingNode) {
|
|
88
|
+
const linkedEmailStatements = (0, _rdfMutationHelpers.collectLinkedNodeStatements)(store, subject, _solidUi.ns.vcard('hasEmail'), doc);
|
|
89
|
+
const matchingLinkStatement = linkedEmailStatements.linkStatements.find(statement => statement.object?.value === existingNode.value);
|
|
90
|
+
if (matchingLinkStatement) {
|
|
91
|
+
deletions.push(matchingLinkStatement);
|
|
92
|
+
}
|
|
93
|
+
deletions.push(...(0, _rdfMutationHelpers.collectNodeStatements)(store, existingNode, doc));
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
if (updateEmail) {
|
|
97
|
+
const existingNode = (0, _rdfMutationHelpers.findExistingNode)(existingEmailNodes, updateEmail.entryNode);
|
|
98
|
+
if (existingNode) {
|
|
99
|
+
deletions.push(...(0, _rdfMutationHelpers.collectNodeStatements)(store, existingNode, doc));
|
|
100
|
+
insertions.push(...buildEmailStatements(subject, doc, existingNode, updateEmail));
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
if (createEmail) {
|
|
104
|
+
insertions.push(...buildEmailStatements(subject, doc, (0, _idNodeFactory.createIdNode)(doc), createEmail));
|
|
105
|
+
}
|
|
106
|
+
await (0, _rdfMutationHelpers.applyUpdaterPatch)(store, deletions, insertions);
|
|
107
|
+
}
|
|
108
|
+
async function mutateAddressEntry(store, subject, addressOps) {
|
|
109
|
+
const doc = subject.doc();
|
|
110
|
+
const existingAddressNodes = store.each(subject, _solidUi.ns.vcard('hasAddress'), null, doc);
|
|
111
|
+
const deletions = [];
|
|
112
|
+
const insertions = [];
|
|
113
|
+
const removeAddress = findOpWithExistingEntry(addressOps.remove, existingAddressNodes);
|
|
114
|
+
const updateAddress = findOpWithExistingEntry(addressOps.update, existingAddressNodes);
|
|
115
|
+
const createAddress = findCreateOp(addressOps.create) || addressOps.create[0];
|
|
116
|
+
if (removeAddress?.entryNode) {
|
|
117
|
+
const existingNode = (0, _rdfMutationHelpers.findExistingNode)(existingAddressNodes, removeAddress.entryNode);
|
|
118
|
+
if (existingNode) {
|
|
119
|
+
const linkedAddressStatements = (0, _rdfMutationHelpers.collectLinkedNodeStatements)(store, subject, _solidUi.ns.vcard('hasAddress'), doc);
|
|
120
|
+
const matchingLinkStatement = linkedAddressStatements.linkStatements.find(statement => statement.object?.value === existingNode.value);
|
|
121
|
+
if (matchingLinkStatement) {
|
|
122
|
+
deletions.push(matchingLinkStatement);
|
|
123
|
+
}
|
|
124
|
+
deletions.push(...(0, _rdfMutationHelpers.collectNodeStatements)(store, existingNode, doc));
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
if (updateAddress) {
|
|
128
|
+
const existingNode = (0, _rdfMutationHelpers.findExistingNode)(existingAddressNodes, updateAddress.entryNode);
|
|
129
|
+
if (existingNode) {
|
|
130
|
+
deletions.push(...(0, _rdfMutationHelpers.collectNodeStatements)(store, existingNode, doc));
|
|
131
|
+
insertions.push(...buildAddressStatements(subject, doc, existingNode, updateAddress));
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
if (createAddress) {
|
|
135
|
+
insertions.push(...buildAddressStatements(subject, doc, (0, _idNodeFactory.createIdNode)(doc), createAddress));
|
|
136
|
+
}
|
|
137
|
+
await (0, _rdfMutationHelpers.applyUpdaterPatch)(store, deletions, insertions);
|
|
138
|
+
}
|
|
139
|
+
async function mutateBasicProfileEntry(store, subject, basicOps) {
|
|
140
|
+
const doc = subject.doc();
|
|
141
|
+
const deletions = [];
|
|
142
|
+
const insertions = [];
|
|
143
|
+
const replaceLiteralField = (predicate, value) => {
|
|
144
|
+
const normalized = (value || '').trim();
|
|
145
|
+
const nextObject = normalized ? (0, _rdflib.literal)(normalized) : null;
|
|
146
|
+
(0, _rdfMutationHelpers.replacePredicateStatements)(store, subject, predicate, doc, deletions, insertions, nextObject);
|
|
147
|
+
};
|
|
148
|
+
const replacePhotoField = value => {
|
|
149
|
+
const normalized = (value || '').trim();
|
|
150
|
+
const nextObject = !normalized ? null : normalized.startsWith('http://') || normalized.startsWith('https://') ? (0, _rdflib.sym)(normalized) : (0, _rdflib.literal)(normalized);
|
|
151
|
+
(0, _rdfMutationHelpers.replacePredicateStatements)(store, subject, _solidUi.ns.vcard('hasPhoto'), doc, deletions, insertions, nextObject);
|
|
152
|
+
};
|
|
153
|
+
const applyBasics = (basic, clearAll = false) => {
|
|
154
|
+
const data = clearAll ? {
|
|
155
|
+
name: '',
|
|
156
|
+
nickname: '',
|
|
157
|
+
dateOfBirth: '',
|
|
158
|
+
jobTitle: '',
|
|
159
|
+
orgName: '',
|
|
160
|
+
imageSrc: ''
|
|
161
|
+
} : basic;
|
|
162
|
+
replaceLiteralField(_solidUi.ns.vcard('fn'), data.name);
|
|
163
|
+
// Keep foaf:nick in sync where available in existing data.
|
|
164
|
+
replaceLiteralField(_solidUi.ns.foaf('nick'), data.nickname);
|
|
165
|
+
replaceLiteralField(_solidUi.ns.vcard('nickname'), data.nickname);
|
|
166
|
+
replaceLiteralField(_solidUi.ns.vcard('bday'), data.dateOfBirth);
|
|
167
|
+
replaceLiteralField(_solidUi.ns.vcard('role'), data.jobTitle);
|
|
168
|
+
replaceLiteralField(_solidUi.ns.vcard('organization-name'), data.orgName);
|
|
169
|
+
replacePhotoField(data.imageSrc);
|
|
170
|
+
};
|
|
171
|
+
const removeBasic = basicOps.remove[0];
|
|
172
|
+
const updateBasic = basicOps.update[0];
|
|
173
|
+
const createBasic = basicOps.create[0];
|
|
174
|
+
const selectedBasic = updateBasic || createBasic || removeBasic;
|
|
175
|
+
if (selectedBasic) {
|
|
176
|
+
applyBasics(selectedBasic, Boolean(removeBasic && !updateBasic && !createBasic));
|
|
177
|
+
}
|
|
178
|
+
await (0, _rdfMutationHelpers.applyUpdaterPatch)(store, deletions, insertions);
|
|
179
|
+
}
|
|
180
|
+
async function processHeadingMutations(store, subject, mutationPlan) {
|
|
181
|
+
try {
|
|
182
|
+
await mutateBasicProfileEntry(store, subject, mutationPlan.basicOps);
|
|
183
|
+
await mutatePhoneEntry(store, subject, mutationPlan.phoneOps);
|
|
184
|
+
await mutateEmailEntry(store, subject, mutationPlan.emailOps);
|
|
185
|
+
await mutateAddressEntry(store, subject, mutationPlan.addressOps);
|
|
186
|
+
} catch (error) {
|
|
187
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
188
|
+
throw new Error(`${_texts.saveHeadingUpdatesFailedPrefixText} ${message}`);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { NamedNode, LiveStore } from 'rdflib';
|
|
2
|
+
import type { ProfileDetails } from './types';
|
|
3
|
+
export declare function pronounsAsText(store: LiveStore, subject: NamedNode): string;
|
|
4
|
+
export declare const presentProfile: (subject: NamedNode, store: LiveStore) => ProfileDetails;
|
|
5
|
+
//# sourceMappingURL=selectors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["../../../src/sections/heading/selectors.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAQ,SAAS,EAAE,MAAM,QAAQ,CAAA;AAGnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAuH7C,wBAAgB,cAAc,CAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAC,SAAS,GAAG,MAAM,CAS3E;AAQD,eAAO,MAAM,cAAc,GACzB,SAAS,SAAS,EAClB,OAAO,SAAS,KACf,cA2EF,CAAA"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.presentProfile = void 0;
|
|
7
|
+
exports.pronounsAsText = pronounsAsText;
|
|
8
|
+
var _solidUi = require("solid-ui");
|
|
9
|
+
/* Copied from presenter and modified for new functionallity */
|
|
10
|
+
|
|
11
|
+
function termValue(term) {
|
|
12
|
+
if (!term) return '';
|
|
13
|
+
if (typeof term === 'string') return term;
|
|
14
|
+
if (typeof term === 'object' && 'value' in term) {
|
|
15
|
+
const value = term.value;
|
|
16
|
+
return typeof value === 'string' ? value : '';
|
|
17
|
+
}
|
|
18
|
+
return '';
|
|
19
|
+
}
|
|
20
|
+
function isEmailValue(value) {
|
|
21
|
+
const normalized = (value || '').trim();
|
|
22
|
+
if (!normalized) return false;
|
|
23
|
+
if (/^mailto:/i.test(normalized)) return true;
|
|
24
|
+
return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(normalized);
|
|
25
|
+
}
|
|
26
|
+
function isPhoneValue(value) {
|
|
27
|
+
const normalized = (value || '').trim();
|
|
28
|
+
if (!normalized) return false;
|
|
29
|
+
if (/^tel:/i.test(normalized)) return true;
|
|
30
|
+
return /^[+()\-\s\d]{5,}$/.test(normalized);
|
|
31
|
+
}
|
|
32
|
+
function resolvePointValueNode(store, entryNode, doc, kind) {
|
|
33
|
+
if (!entryNode) return undefined;
|
|
34
|
+
const expected = kind === 'email' ? isEmailValue : isPhoneValue;
|
|
35
|
+
const entryValue = termValue(entryNode);
|
|
36
|
+
if (expected(entryValue)) return entryNode;
|
|
37
|
+
if (entryNode.termType !== 'NamedNode') return undefined;
|
|
38
|
+
const inDocStatements = store.statementsMatching(entryNode, _solidUi.ns.vcard('value'), null, doc);
|
|
39
|
+
const anyGraphStatements = store.statementsMatching(entryNode, _solidUi.ns.vcard('value'));
|
|
40
|
+
for (const statement of [...inDocStatements, ...anyGraphStatements]) {
|
|
41
|
+
if (expected(termValue(statement.object))) {
|
|
42
|
+
return statement.object;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return undefined;
|
|
46
|
+
}
|
|
47
|
+
function resolvePointType(store, entryNode, doc) {
|
|
48
|
+
if (entryNode.termType !== 'NamedNode') return undefined;
|
|
49
|
+
const inDocStatements = store.statementsMatching(entryNode, _solidUi.ns.rdf('type'), null, doc);
|
|
50
|
+
if (inDocStatements.length > 0) return inDocStatements[0].object;
|
|
51
|
+
const anyGraphStatements = store.statementsMatching(entryNode, _solidUi.ns.rdf('type'));
|
|
52
|
+
if (anyGraphStatements.length > 0) return anyGraphStatements[0].object;
|
|
53
|
+
return undefined;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/* The following helpers were generated by AI Model: GPT-5.3-Codex. */
|
|
57
|
+
/* Prompt: In header selectors select phone and email work type if it exists
|
|
58
|
+
otherwise pick any. */
|
|
59
|
+
function isWorkTypeTerm(term) {
|
|
60
|
+
const value = termValue(term).trim().toLowerCase();
|
|
61
|
+
if (!value) return false;
|
|
62
|
+
return value === 'work' || value.endsWith('#work') || value.endsWith('/work');
|
|
63
|
+
}
|
|
64
|
+
function hasWorkType(store, entryNode, doc) {
|
|
65
|
+
if (entryNode.termType !== 'NamedNode') return false;
|
|
66
|
+
const inDocStatements = store.statementsMatching(entryNode, _solidUi.ns.rdf('type'), null, doc);
|
|
67
|
+
const anyGraphStatements = store.statementsMatching(entryNode, _solidUi.ns.rdf('type'));
|
|
68
|
+
return [...inDocStatements, ...anyGraphStatements].some(statement => isWorkTypeTerm(statement.object));
|
|
69
|
+
}
|
|
70
|
+
function selectPrimaryPoint(store, subject, predicate, doc, kind, fallbackType) {
|
|
71
|
+
const inDocStatements = store.statementsMatching(subject, predicate, null, doc);
|
|
72
|
+
const anyGraphStatements = store.statementsMatching(subject, predicate);
|
|
73
|
+
const nodes = [...inDocStatements, ...anyGraphStatements].map(statement => statement.object);
|
|
74
|
+
const candidates = [];
|
|
75
|
+
const seen = new Set();
|
|
76
|
+
for (const entryNode of nodes) {
|
|
77
|
+
const key = termValue(entryNode);
|
|
78
|
+
if (key && seen.has(key)) continue;
|
|
79
|
+
if (key) seen.add(key);
|
|
80
|
+
const valueNode = resolvePointValueNode(store, entryNode, doc, kind);
|
|
81
|
+
if (!valueNode) continue;
|
|
82
|
+
const type = resolvePointType(store, entryNode, doc) || fallbackType;
|
|
83
|
+
candidates.push({
|
|
84
|
+
entryNode,
|
|
85
|
+
type,
|
|
86
|
+
valueNode
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
const workCandidate = candidates.find(candidate => hasWorkType(store, candidate.entryNode, doc) || isWorkTypeTerm(candidate.type));
|
|
90
|
+
if (workCandidate) return workCandidate;
|
|
91
|
+
if (candidates.length > 0) return candidates[0];
|
|
92
|
+
return undefined;
|
|
93
|
+
}
|
|
94
|
+
function pronounsAsText(store, subject) {
|
|
95
|
+
let pronouns = store.anyJS(subject, _solidUi.ns.solid('preferredSubjectPronoun')) || '';
|
|
96
|
+
if (pronouns) {
|
|
97
|
+
const them = store.anyJS(subject, _solidUi.ns.solid('preferredObjectPronoun'));
|
|
98
|
+
if (them) {
|
|
99
|
+
pronouns += '/' + them;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return pronouns || '';
|
|
103
|
+
}
|
|
104
|
+
function formatLocation(countryName, locality) {
|
|
105
|
+
return countryName && locality ? `${locality}, ${countryName}` : countryName || locality || null;
|
|
106
|
+
}
|
|
107
|
+
const presentProfile = (subject, store) => {
|
|
108
|
+
const name = _solidUi.utils.label(subject);
|
|
109
|
+
// on contact-pane form it is foaf, but maybe another app saves with vcard.
|
|
110
|
+
const nickname = store.anyValue(subject, _solidUi.ns.vcard('nickname')) || store.anyValue(subject, _solidUi.ns.foaf('nick')) || undefined;
|
|
111
|
+
const dateOfBirth = store.anyValue(subject, _solidUi.ns.vcard('bday')) || undefined;
|
|
112
|
+
const imageSrc = _solidUi.widgets.findImage(subject);
|
|
113
|
+
const jobTitle = store.anyValue(subject, _solidUi.ns.vcard('role')) || undefined;
|
|
114
|
+
const orgName = store.anyValue(subject, _solidUi.ns.vcard('organization-name')) || undefined; // @@ Search whole store
|
|
115
|
+
const doc = subject.doc();
|
|
116
|
+
|
|
117
|
+
// Contact info - we will only show one of each type here
|
|
118
|
+
// Just doing for now, but we should change to either store a primary
|
|
119
|
+
// indicator or store it a bit differently in the store.
|
|
120
|
+
const primaryPhone = selectPrimaryPoint(store, subject, _solidUi.ns.vcard('hasTelephone'), doc, 'phone', _solidUi.ns.vcard('Voice'));
|
|
121
|
+
const primaryEmail = selectPrimaryPoint(store, subject, _solidUi.ns.vcard('hasEmail'), doc, 'email', _solidUi.ns.vcard('Internet'));
|
|
122
|
+
const primaryAddressEntryNode = store.any(subject, _solidUi.ns.vcard('hasAddress')) || undefined;
|
|
123
|
+
const primaryAddressType = primaryAddressEntryNode ? store.any(primaryAddressEntryNode, _solidUi.ns.rdf('type')) || undefined : undefined;
|
|
124
|
+
const primaryStreetAddress = primaryAddressEntryNode ? store.anyValue(primaryAddressEntryNode, _solidUi.ns.vcard('street-address')) || undefined : undefined;
|
|
125
|
+
const primaryLocality = primaryAddressEntryNode ? store.anyValue(primaryAddressEntryNode, _solidUi.ns.vcard('locality')) || undefined : undefined;
|
|
126
|
+
const primaryRegion = primaryAddressEntryNode ? store.anyValue(primaryAddressEntryNode, _solidUi.ns.vcard('region')) || undefined : undefined;
|
|
127
|
+
const primaryPostalCode = primaryAddressEntryNode ? store.anyValue(primaryAddressEntryNode, _solidUi.ns.vcard('postal-code')) || undefined : undefined;
|
|
128
|
+
const primaryCountryName = primaryAddressEntryNode ? store.anyValue(primaryAddressEntryNode, _solidUi.ns.vcard('country-name')) || undefined : undefined;
|
|
129
|
+
const primaryAddress = primaryAddressEntryNode ? {
|
|
130
|
+
entryNode: primaryAddressEntryNode,
|
|
131
|
+
type: primaryAddressType,
|
|
132
|
+
streetAddress: primaryStreetAddress,
|
|
133
|
+
locality: primaryLocality,
|
|
134
|
+
region: primaryRegion,
|
|
135
|
+
postalCode: primaryPostalCode,
|
|
136
|
+
countryName: primaryCountryName
|
|
137
|
+
} : undefined;
|
|
138
|
+
const address = primaryAddressEntryNode || null;
|
|
139
|
+
const countryName = address != null ? store.anyValue(address, _solidUi.ns.vcard('country-name')) : null;
|
|
140
|
+
const locality = address != null ? store.anyValue(address, _solidUi.ns.vcard('locality')) : null;
|
|
141
|
+
const pronouns = pronounsAsText(store, subject);
|
|
142
|
+
return {
|
|
143
|
+
name,
|
|
144
|
+
nickname,
|
|
145
|
+
imageSrc,
|
|
146
|
+
dateOfBirth,
|
|
147
|
+
jobTitle,
|
|
148
|
+
orgName,
|
|
149
|
+
primaryPhone,
|
|
150
|
+
primaryEmail,
|
|
151
|
+
primaryAddress,
|
|
152
|
+
location: formatLocation(countryName, locality),
|
|
153
|
+
pronouns,
|
|
154
|
+
entryNode: subject
|
|
155
|
+
};
|
|
156
|
+
};
|
|
157
|
+
exports.presentProfile = presentProfile;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Node } from 'rdflib';
|
|
2
|
+
import { RowStatus } from '../shared/types';
|
|
3
|
+
import { MutationOps } from '../shared/types';
|
|
4
|
+
import type { AddressDetails, ContactAddressRow, ContactPointRow, PointDetails } from '../contactInfo/types';
|
|
5
|
+
export interface ProfilePresentation {
|
|
6
|
+
name: string;
|
|
7
|
+
nickname?: string;
|
|
8
|
+
imageSrc?: string;
|
|
9
|
+
location?: string;
|
|
10
|
+
pronouns?: string;
|
|
11
|
+
dateOfBirth?: string;
|
|
12
|
+
jobTitle?: string;
|
|
13
|
+
orgName?: string;
|
|
14
|
+
primaryPhone?: PointDetails;
|
|
15
|
+
primaryEmail?: PointDetails;
|
|
16
|
+
primaryAddress?: AddressDetails;
|
|
17
|
+
}
|
|
18
|
+
export interface ProfileDetails extends ProfilePresentation {
|
|
19
|
+
entryNode: Node;
|
|
20
|
+
}
|
|
21
|
+
export interface ProfileRow extends ProfilePresentation {
|
|
22
|
+
entryNode: string;
|
|
23
|
+
status: RowStatus;
|
|
24
|
+
}
|
|
25
|
+
export type ProfileBasicFields = Omit<ProfilePresentation, 'primaryPhone' | 'primaryEmail' | 'primaryAddress'>;
|
|
26
|
+
export type ProfileBasicRow = ProfileBasicFields & {
|
|
27
|
+
entryNode: string;
|
|
28
|
+
status: RowStatus;
|
|
29
|
+
};
|
|
30
|
+
export type HeadingMutationPlan = {
|
|
31
|
+
basicOps: MutationOps<ProfileBasicRow>;
|
|
32
|
+
phoneOps: MutationOps<ContactPointRow>;
|
|
33
|
+
emailOps: MutationOps<ContactPointRow>;
|
|
34
|
+
addressOps: MutationOps<ContactAddressRow>;
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/sections/heading/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAE5G,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,MAAM,WAAW,cAAe,SAAQ,mBAAmB;IACzD,SAAS,EAAE,IAAI,CAAA;CAChB;AAED,MAAM,WAAW,UAAW,SAAQ,mBAAmB;IACrD,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,SAAS,CAAA;CAClB;AAED,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,mBAAmB,EACnB,cAAc,GAAG,cAAc,GAAG,gBAAgB,CACnD,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,kBAAkB,GAAG;IACjD,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,SAAS,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,WAAW,CAAC,eAAe,CAAC,CAAA;IACtC,QAAQ,EAAE,WAAW,CAAC,eAAe,CAAC,CAAA;IACtC,QAAQ,EAAE,WAAW,CAAC,eAAe,CAAC,CAAA;IACtC,UAAU,EAAE,WAAW,CAAC,iBAAiB,CAAC,CAAA;CAC3C,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { LanguageDetails } from './types';
|
|
2
|
+
import '../../styles/EditDialogs.css';
|
|
3
|
+
import '../../styles/ContactInfoEditDialog.css';
|
|
4
|
+
import { LiveStore, NamedNode } from 'rdflib';
|
|
5
|
+
import { ViewerMode } from '../../types';
|
|
6
|
+
export declare function createLanguageEditDialog(event: Event, store: LiveStore, subject: NamedNode, languages: LanguageDetails[], viewerMode: ViewerMode, onSaved?: () => Promise<void> | void): Promise<void>;
|
|
7
|
+
//# sourceMappingURL=LanguageEditDialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LanguageEditDialog.d.ts","sourceRoot":"","sources":["../../../src/sections/languages/LanguageEditDialog.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAe,MAAM,SAAS,CAAA;AACtD,OAAO,8BAA8B,CAAA;AACrC,OAAO,wCAAwC,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAwgBxC,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,SAAS,EAClB,SAAS,EAAE,eAAe,EAAE,EAC5B,UAAU,EAAE,UAAU,EACtB,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,iBA2CrC"}
|