profile-pane 3.2.1 → 3.2.2-test.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.
Files changed (241) hide show
  1. package/README.md +50 -0
  2. package/lib/303.profile-pane.js +1362 -0
  3. package/lib/303.profile-pane.js.map +1 -0
  4. package/lib/303.profile-pane.min.js +2 -0
  5. package/lib/303.profile-pane.min.js.map +1 -0
  6. package/lib/ProfileView.css +1090 -0
  7. package/lib/ProfileView.d.ts +2 -1
  8. package/lib/ProfileView.d.ts.map +1 -1
  9. package/lib/ProfileView.js +64 -36
  10. package/lib/buttonsHelper.d.ts +1 -1
  11. package/lib/buttonsHelper.d.ts.map +1 -1
  12. package/lib/buttonsHelper.js +2 -1
  13. package/lib/editProfilePane/EditCVCard.js +1 -1
  14. package/lib/editProfilePane/EditCommunitiesCard.js +1 -1
  15. package/lib/editProfilePane/EditFriendsCard.js +1 -1
  16. package/lib/editProfilePane/EditProfileView.d.ts +1 -1
  17. package/lib/editProfilePane/EditProfileView.d.ts.map +1 -1
  18. package/lib/editProfilePane/EditProfileView.js +4 -5
  19. package/lib/editProfilePane/editProfilePresenter.d.ts.map +1 -1
  20. package/lib/editProfilePane/editProfilePresenter.js +5 -4
  21. package/lib/icons-svg/profileIcons.d.ts +1 -1
  22. package/lib/icons-svg/profileIcons.d.ts.map +1 -1
  23. package/lib/icons-svg/profileIcons.js +9 -17
  24. package/lib/index.d.ts +1 -8
  25. package/lib/index.d.ts.map +1 -1
  26. package/lib/index.js +74 -40
  27. package/lib/ontology/otherPreferencesForm.ttl +32 -0
  28. package/lib/ontology/resumeForm.ttl +349 -0
  29. package/lib/ontology/socialMedia.ttl +433 -0
  30. package/lib/profile-pane.js +32266 -13247
  31. package/lib/profile-pane.js.map +1 -1
  32. package/lib/profile-pane.min.js +2315 -935
  33. package/lib/profile-pane.min.js.map +1 -1
  34. package/lib/rdfFormsHelper.d.ts +13 -1
  35. package/lib/rdfFormsHelper.d.ts.map +1 -1
  36. package/lib/rdfFormsHelper.js +13 -1
  37. package/lib/sections/bio/BioEditDialog.d.ts.map +1 -1
  38. package/lib/sections/bio/BioEditDialog.js +7 -7
  39. package/lib/sections/bio/BioSection.css +300 -0
  40. package/lib/sections/bio/BioSection.d.ts +3 -2
  41. package/lib/sections/bio/BioSection.d.ts.map +1 -1
  42. package/lib/sections/bio/BioSection.js +26 -19
  43. package/lib/sections/bio/mutations.d.ts.map +1 -1
  44. package/lib/sections/bio/mutations.js +14 -3
  45. package/lib/sections/contactInfo/ContactInfoEditDialog.css +354 -0
  46. package/lib/sections/contactInfo/ContactInfoEditDialog.d.ts +3 -1
  47. package/lib/sections/contactInfo/ContactInfoEditDialog.d.ts.map +1 -1
  48. package/lib/sections/contactInfo/ContactInfoEditDialog.js +183 -98
  49. package/lib/sections/contactInfo/ContactInfoSection.css +125 -0
  50. package/lib/sections/contactInfo/ContactInfoSection.d.ts +2 -0
  51. package/lib/sections/contactInfo/ContactInfoSection.d.ts.map +1 -1
  52. package/lib/sections/contactInfo/ContactInfoSection.js +64 -41
  53. package/lib/sections/contactInfo/mutations.d.ts.map +1 -1
  54. package/lib/sections/contactInfo/mutations.js +51 -16
  55. package/lib/sections/education/EducationEditDialog.d.ts +3 -1
  56. package/lib/sections/education/EducationEditDialog.d.ts.map +1 -1
  57. package/lib/sections/education/EducationEditDialog.js +170 -92
  58. package/lib/sections/education/EducationSection.css +133 -0
  59. package/lib/sections/education/EducationSection.d.ts +3 -2
  60. package/lib/sections/education/EducationSection.d.ts.map +1 -1
  61. package/lib/sections/education/EducationSection.js +32 -25
  62. package/lib/sections/education/mutations.d.ts.map +1 -1
  63. package/lib/sections/education/mutations.js +14 -3
  64. package/lib/sections/heading/HeadingEditDialog.d.ts +4 -1
  65. package/lib/sections/heading/HeadingEditDialog.d.ts.map +1 -1
  66. package/lib/sections/heading/HeadingEditDialog.js +287 -162
  67. package/lib/sections/heading/HeadingSection.css +862 -0
  68. package/lib/sections/heading/HeadingSection.d.ts +3 -2
  69. package/lib/sections/heading/HeadingSection.d.ts.map +1 -1
  70. package/lib/sections/heading/HeadingSection.js +63 -32
  71. package/lib/sections/heading/imageHelpers.d.ts +1 -0
  72. package/lib/sections/heading/imageHelpers.d.ts.map +1 -1
  73. package/lib/sections/heading/imageHelpers.js +40 -1
  74. package/lib/sections/heading/mutations.d.ts.map +1 -1
  75. package/lib/sections/heading/mutations.js +86 -23
  76. package/lib/sections/heading/selectors.d.ts.map +1 -1
  77. package/lib/sections/heading/selectors.js +14 -3
  78. package/lib/sections/heading/types.d.ts +1 -2
  79. package/lib/sections/heading/types.d.ts.map +1 -1
  80. package/lib/sections/languages/LanguageEditDialog.d.ts +3 -1
  81. package/lib/sections/languages/LanguageEditDialog.d.ts.map +1 -1
  82. package/lib/sections/languages/LanguageEditDialog.js +202 -119
  83. package/lib/sections/languages/LanguageSection.css +53 -0
  84. package/lib/sections/languages/LanguageSection.d.ts +2 -0
  85. package/lib/sections/languages/LanguageSection.d.ts.map +1 -1
  86. package/lib/sections/languages/LanguageSection.js +42 -31
  87. package/lib/sections/languages/mutations.d.ts.map +1 -1
  88. package/lib/sections/languages/mutations.js +60 -161
  89. package/lib/sections/languages/selectors.d.ts.map +1 -1
  90. package/lib/sections/languages/selectors.js +1 -2
  91. package/lib/sections/projects/ProjectEditDialog.d.ts +2 -1
  92. package/lib/sections/projects/ProjectEditDialog.d.ts.map +1 -1
  93. package/lib/sections/projects/ProjectEditDialog.js +13 -24
  94. package/lib/sections/projects/ProjectSection.css +368 -0
  95. package/lib/sections/projects/ProjectSection.d.ts +2 -1
  96. package/lib/sections/projects/ProjectSection.d.ts.map +1 -1
  97. package/lib/sections/projects/ProjectSection.js +116 -34
  98. package/lib/sections/projects/mutations.d.ts.map +1 -1
  99. package/lib/sections/projects/mutations.js +109 -132
  100. package/lib/sections/projects/selectors.d.ts.map +1 -1
  101. package/lib/sections/projects/selectors.js +4 -45
  102. package/lib/{QRCodeCard.d.ts → sections/qrcode/QRCodeCard.d.ts} +2 -1
  103. package/lib/sections/qrcode/QRCodeCard.d.ts.map +1 -0
  104. package/lib/{QRCodeCard.js → sections/qrcode/QRCodeCard.js} +59 -11
  105. package/lib/sections/qrcode/QRCodeSection.css +108 -0
  106. package/lib/sections/qrcode/QRCodeSection.d.ts +4 -0
  107. package/lib/sections/qrcode/QRCodeSection.d.ts.map +1 -0
  108. package/lib/sections/qrcode/QRCodeSection.js +17 -0
  109. package/lib/sections/resume/ResumeEditDialog.d.ts +10 -1
  110. package/lib/sections/resume/ResumeEditDialog.d.ts.map +1 -1
  111. package/lib/sections/resume/ResumeEditDialog.js +531 -149
  112. package/lib/sections/resume/ResumeSection.css +350 -0
  113. package/lib/sections/resume/ResumeSection.d.ts +3 -2
  114. package/lib/sections/resume/ResumeSection.d.ts.map +1 -1
  115. package/lib/sections/resume/ResumeSection.js +78 -49
  116. package/lib/sections/resume/mutations.d.ts.map +1 -1
  117. package/lib/sections/resume/mutations.js +17 -3
  118. package/lib/sections/resume/selectors.d.ts.map +1 -1
  119. package/lib/sections/resume/selectors.js +1 -0
  120. package/lib/sections/resume/types.d.ts +1 -0
  121. package/lib/sections/resume/types.d.ts.map +1 -1
  122. package/lib/sections/shared/collapsibleSection.d.ts.map +1 -1
  123. package/lib/sections/shared/collapsibleSection.js +1 -0
  124. package/lib/sections/shared/phoneCountries.d.ts +1 -1
  125. package/lib/sections/shared/phoneCountries.d.ts.map +1 -1
  126. package/lib/sections/shared/phoneCountries.js +2 -2
  127. package/lib/sections/shared/projectCommunityNodes.d.ts +6 -0
  128. package/lib/sections/shared/projectCommunityNodes.d.ts.map +1 -0
  129. package/lib/sections/shared/projectCommunityNodes.js +56 -0
  130. package/lib/sections/shared/rdfMutationHelpers.d.ts +35 -2
  131. package/lib/sections/shared/rdfMutationHelpers.d.ts.map +1 -1
  132. package/lib/sections/shared/rdfMutationHelpers.js +290 -14
  133. package/lib/sections/shared/sectionCardHelpers.d.ts.map +1 -1
  134. package/lib/sections/shared/sectionCardHelpers.js +80 -11
  135. package/lib/sections/shared/types.d.ts +24 -0
  136. package/lib/sections/shared/types.d.ts.map +1 -1
  137. package/lib/sections/skills/SkillsEditDialog.d.ts +3 -1
  138. package/lib/sections/skills/SkillsEditDialog.d.ts.map +1 -1
  139. package/lib/sections/skills/SkillsEditDialog.js +136 -115
  140. package/lib/sections/skills/SkillsSection.css +173 -0
  141. package/lib/sections/skills/SkillsSection.d.ts +2 -0
  142. package/lib/sections/skills/SkillsSection.d.ts.map +1 -1
  143. package/lib/sections/skills/SkillsSection.js +107 -47
  144. package/lib/sections/skills/mutations.d.ts.map +1 -1
  145. package/lib/sections/skills/mutations.js +25 -21
  146. package/lib/sections/skills/selectors.d.ts.map +1 -1
  147. package/lib/sections/skills/selectors.js +5 -3
  148. package/lib/sections/social/SocialEditDialog.d.ts +3 -1
  149. package/lib/sections/social/SocialEditDialog.d.ts.map +1 -1
  150. package/lib/sections/social/SocialEditDialog.js +170 -62
  151. package/lib/sections/social/SocialSection.css +194 -0
  152. package/lib/sections/social/SocialSection.d.ts +4 -3
  153. package/lib/sections/social/SocialSection.d.ts.map +1 -1
  154. package/lib/sections/social/SocialSection.js +59 -43
  155. package/lib/sections/social/mutations.d.ts.map +1 -1
  156. package/lib/sections/social/mutations.js +23 -132
  157. package/lib/specialButtons/AddMeToYourFriends.css +54 -0
  158. package/lib/specialButtons/addContact/AddMeToYourContacts.css +1118 -0
  159. package/lib/specialButtons/addContact/ContactCreationDialog.d.ts +10 -0
  160. package/lib/specialButtons/addContact/ContactCreationDialog.d.ts.map +1 -0
  161. package/lib/specialButtons/addContact/ContactCreationDialog.js +1123 -0
  162. package/lib/specialButtons/addContact/addMeToYourContacts.d.ts +16 -0
  163. package/lib/specialButtons/addContact/addMeToYourContacts.d.ts.map +1 -0
  164. package/lib/specialButtons/addContact/addMeToYourContacts.js +136 -0
  165. package/lib/specialButtons/addContact/contactsErrors.d.ts +8 -0
  166. package/lib/specialButtons/addContact/contactsErrors.d.ts.map +1 -0
  167. package/lib/specialButtons/addContact/contactsErrors.js +106 -0
  168. package/lib/specialButtons/addContact/contactsTypes.d.ts +43 -0
  169. package/lib/specialButtons/addContact/contactsTypes.d.ts.map +1 -0
  170. package/lib/specialButtons/addContact/contactsTypes.js +5 -0
  171. package/lib/specialButtons/addContact/helpers.d.ts +7 -0
  172. package/lib/specialButtons/addContact/helpers.d.ts.map +1 -0
  173. package/lib/specialButtons/addContact/helpers.js +103 -0
  174. package/lib/specialButtons/addContact/mutations.d.ts +16 -0
  175. package/lib/specialButtons/addContact/mutations.d.ts.map +1 -0
  176. package/lib/specialButtons/addContact/mutations.js +300 -0
  177. package/lib/specialButtons/addContact/selectors.d.ts +10 -0
  178. package/lib/specialButtons/addContact/selectors.d.ts.map +1 -0
  179. package/lib/specialButtons/addContact/selectors.js +163 -0
  180. package/lib/{addMeToYourFriends.d.ts → specialButtons/addMeToYourFriends.d.ts} +6 -4
  181. package/lib/specialButtons/addMeToYourFriends.d.ts.map +1 -0
  182. package/lib/{addMeToYourFriends.js → specialButtons/addMeToYourFriends.js} +46 -11
  183. package/lib/styles/CollapsibleSection.css +519 -0
  184. package/lib/styles/EditDialogs.css +506 -686
  185. package/lib/styles/EditDialogs.responsive.css +989 -0
  186. package/lib/texts/buttonTexts.d.ts +9 -0
  187. package/lib/texts/buttonTexts.d.ts.map +1 -0
  188. package/lib/texts/buttonTexts.js +14 -0
  189. package/lib/texts/dialogTexts.d.ts +14 -0
  190. package/lib/texts/dialogTexts.d.ts.map +1 -0
  191. package/lib/texts/dialogTexts.js +19 -0
  192. package/lib/texts/messageTexts.d.ts +42 -0
  193. package/lib/texts/messageTexts.d.ts.map +1 -0
  194. package/lib/texts/messageTexts.js +47 -0
  195. package/lib/texts/profileTexts.d.ts +14 -0
  196. package/lib/texts/profileTexts.d.ts.map +1 -0
  197. package/lib/texts/profileTexts.js +19 -0
  198. package/lib/texts/qrCodeTexts.d.ts +2 -0
  199. package/lib/texts/qrCodeTexts.d.ts.map +1 -0
  200. package/lib/texts/qrCodeTexts.js +7 -0
  201. package/lib/texts.d.ts +5 -60
  202. package/lib/texts.d.ts.map +1 -1
  203. package/lib/texts.js +55 -70
  204. package/lib/ui/dialog.css +233 -0
  205. package/lib/ui/dialog.d.ts +15 -1
  206. package/lib/ui/dialog.d.ts.map +1 -1
  207. package/lib/ui/dialog.js +245 -45
  208. package/lib/ui/dialog.responsive.css +195 -0
  209. package/lib/ui/errors.d.ts.map +1 -1
  210. package/lib/ui/errors.js +2 -1
  211. package/lib/ui/spinner.d.ts +3 -0
  212. package/lib/ui/spinner.d.ts.map +1 -0
  213. package/lib/ui/spinner.js +13 -0
  214. package/lib/utils/debug.d.ts +5 -0
  215. package/lib/utils/debug.d.ts.map +1 -0
  216. package/lib/utils/debug.js +23 -0
  217. package/lib/utils/errorDisplay.d.ts +2 -0
  218. package/lib/utils/errorDisplay.d.ts.map +1 -0
  219. package/lib/utils/errorDisplay.js +19 -0
  220. package/package.json +32 -25
  221. package/lib/ChatWithMe.d.ts +0 -7
  222. package/lib/ChatWithMe.d.ts.map +0 -1
  223. package/lib/ChatWithMe.js +0 -90
  224. package/lib/QRCodeCard.d.ts.map +0 -1
  225. package/lib/addMeToYourFriends.d.ts.map +0 -1
  226. package/lib/sections/heading/camera.d.ts +0 -19
  227. package/lib/sections/heading/camera.d.ts.map +0 -1
  228. package/lib/sections/heading/camera.js +0 -199
  229. package/lib/styles/BioSection.css +0 -77
  230. package/lib/styles/CVCard.css +0 -142
  231. package/lib/styles/ChatWithMe.css +0 -6
  232. package/lib/styles/ContactInfoEditDialog.css +0 -153
  233. package/lib/styles/EducationCard.css +0 -103
  234. package/lib/styles/HeadingSection.css +0 -309
  235. package/lib/styles/ProfileCard.css +0 -66
  236. package/lib/styles/ProfileView.css +0 -65
  237. package/lib/styles/ProjectsCard.css +0 -206
  238. package/lib/styles/QRCodeCard.css +0 -43
  239. package/lib/styles/SocialCard.css +0 -89
  240. package/lib/styles/dialog.css +0 -209
  241. package/lib/styles/utilities.css +0 -740
@@ -6,16 +6,99 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.createEducationEditDialog = createEducationEditDialog;
7
7
  var _dialog = require("../../ui/dialog");
8
8
  var _litHtml = require("lit-html");
9
+ require("solid-ui/components/actions/button");
10
+ require("solid-ui/components/forms/select");
9
11
  require("../../styles/EditDialogs.css");
10
- require("../../styles/ContactInfoEditDialog.css");
12
+ require("../contactInfo/ContactInfoEditDialog.css");
11
13
  var _mutations = require("./mutations");
12
14
  var _profileIcons = require("../../icons-svg/profileIcons");
13
15
  var _rowState = require("../shared/rowState");
14
16
  var _textUtils = require("../../textUtils");
15
17
  var _texts = require("../../texts");
18
+ const EDUCATION_MONTH_OPTIONS = [{
19
+ value: '01',
20
+ label: 'January'
21
+ }, {
22
+ value: '02',
23
+ label: 'February'
24
+ }, {
25
+ value: '03',
26
+ label: 'March'
27
+ }, {
28
+ value: '04',
29
+ label: 'April'
30
+ }, {
31
+ value: '05',
32
+ label: 'May'
33
+ }, {
34
+ value: '06',
35
+ label: 'June'
36
+ }, {
37
+ value: '07',
38
+ label: 'July'
39
+ }, {
40
+ value: '08',
41
+ label: 'August'
42
+ }, {
43
+ value: '09',
44
+ label: 'September'
45
+ }, {
46
+ value: '10',
47
+ label: 'October'
48
+ }, {
49
+ value: '11',
50
+ label: 'November'
51
+ }, {
52
+ value: '12',
53
+ label: 'December'
54
+ }];
16
55
  function sanitizeEducationFieldValue(value) {
17
56
  return (0, _textUtils.sanitizeTextValue)(value);
18
57
  }
58
+ function readEducationSelectChange(event) {
59
+ const customEvent = event;
60
+ if (typeof customEvent.detail?.value === 'string') {
61
+ return customEvent.detail.value;
62
+ }
63
+ const target = event.target;
64
+ return typeof target?.value === 'string' ? target.value : '';
65
+ }
66
+ function getEducationYearOptions(selectedYears) {
67
+ const currentYear = new Date().getFullYear();
68
+ const baseYearOptions = Array.from({
69
+ length: 120
70
+ }, (_, i) => String(currentYear - i));
71
+ const yearOptions = Array.from(new Set([...baseYearOptions, ...selectedYears].filter(Boolean))).sort((a, b) => Number(b) - Number(a));
72
+ return yearOptions.map(year => ({
73
+ label: year,
74
+ value: year
75
+ }));
76
+ }
77
+ function getEducationDateSelectOptions(kind, selectedYears) {
78
+ if (kind === 'start-month' || kind === 'end-month') {
79
+ return EDUCATION_MONTH_OPTIONS;
80
+ }
81
+ return getEducationYearOptions(selectedYears);
82
+ }
83
+ function getEducationDateSelectValue(kind, row) {
84
+ const startDateParts = parseYearMonthFromDateText((0, _textUtils.toText)(row?.startDate));
85
+ const endDateParts = parseYearMonthFromDateText((0, _textUtils.toText)(row?.endDate));
86
+ switch (kind) {
87
+ case 'start-month':
88
+ return startDateParts.month;
89
+ case 'start-year':
90
+ return startDateParts.year;
91
+ case 'end-month':
92
+ return endDateParts.month;
93
+ case 'end-year':
94
+ return endDateParts.year;
95
+ default:
96
+ return '';
97
+ }
98
+ }
99
+ function getEducationDateSelectLabel(kind) {
100
+ return kind === 'start-month' || kind === 'end-month' ? 'Select Month' : 'Select Year';
101
+ }
19
102
  function parseYearMonthFromDateText(dateText) {
20
103
  const normalized = (dateText || '').trim();
21
104
  if (!normalized) return {
@@ -72,6 +155,22 @@ function validateEducationBeforeSave(rows) {
72
155
  ok: true
73
156
  };
74
157
  }
158
+ function initializeEducationDateSelects(form, educationData) {
159
+ const selectElements = form.querySelectorAll('solid-ui-select[data-education-date-kind]');
160
+ selectElements.forEach(selectElement => {
161
+ const kind = selectElement.dataset.educationDateKind;
162
+ const rowIndex = Number(selectElement.dataset.educationRowIndex);
163
+ if (!kind || Number.isNaN(rowIndex)) return;
164
+ const educationRow = educationData[rowIndex];
165
+ if (!educationRow) return;
166
+ const startDateParts = parseYearMonthFromDateText((0, _textUtils.toText)(educationRow.startDate));
167
+ const endDateParts = parseYearMonthFromDateText((0, _textUtils.toText)(educationRow.endDate));
168
+ const selectedYears = [startDateParts.year, endDateParts.year];
169
+ selectElement.options = getEducationDateSelectOptions(kind, selectedYears);
170
+ selectElement.value = getEducationDateSelectValue(kind, educationRow);
171
+ selectElement.label = getEducationDateSelectLabel(kind);
172
+ });
173
+ }
75
174
  function renderEducationInputRow({
76
175
  educationData,
77
176
  index,
@@ -109,59 +208,7 @@ function renderEducationInputRow({
109
208
  const endMonthValue = endDateParts.month;
110
209
  const endYearParsedText = endDateParts.year;
111
210
  const currentYear = new Date().getFullYear();
112
- const baseYearOptions = Array.from({
113
- length: 120
114
- }, (_, i) => String(currentYear - i));
115
- const yearOptions = Array.from(new Set([...baseYearOptions, startYearText, endYearParsedText].filter(Boolean))).sort((a, b) => Number(b) - Number(a));
116
- const monthOptions = [{
117
- value: '01',
118
- label: 'January'
119
- }, {
120
- value: '02',
121
- label: 'February'
122
- }, {
123
- value: '03',
124
- label: 'March'
125
- }, {
126
- value: '04',
127
- label: 'April'
128
- }, {
129
- value: '05',
130
- label: 'May'
131
- }, {
132
- value: '06',
133
- label: 'June'
134
- }, {
135
- value: '07',
136
- label: 'July'
137
- }, {
138
- value: '08',
139
- label: 'August'
140
- }, {
141
- value: '09',
142
- label: 'September'
143
- }, {
144
- value: '10',
145
- label: 'October'
146
- }, {
147
- value: '11',
148
- label: 'November'
149
- }, {
150
- value: '12',
151
- label: 'December'
152
- }];
153
- const renderMonthOptions = selectedMonth => (0, _litHtml.html)`
154
- <option value="" ?selected=${!selectedMonth}>Select month</option>
155
- ${monthOptions.map(month => (0, _litHtml.html)`
156
- <option value=${month.value} ?selected=${month.value === selectedMonth}>${month.label}</option>
157
- `)}
158
- `;
159
- const renderYearOptions = selectedYear => (0, _litHtml.html)`
160
- <option value="" ?selected=${!selectedYear}>Select year</option>
161
- ${yearOptions.map(year => (0, _litHtml.html)`
162
- <option value=${year} ?selected=${year === selectedYear}>${year}</option>
163
- `)}
164
- `;
211
+ const selectedYears = [startYearText, endYearParsedText];
165
212
  const handleEducationInput = field => e => {
166
213
  const target = e.target;
167
214
  const nextValue = sanitizeEducationFieldValue(target.value);
@@ -179,8 +226,7 @@ function renderEducationInputRow({
179
226
  return `${year}-${month}-01`;
180
227
  };
181
228
  const handleStartMonthChange = event => {
182
- const target = event.target;
183
- const month = target.value;
229
+ const month = readEducationSelectChange(event);
184
230
  const year = parseYearMonthFromDateText((0, _textUtils.toText)(educationData[index]?.startDate)).year || String(currentYear);
185
231
  const nextStartDate = buildDateLiteral(month, year);
186
232
  if (educationData[index]) {
@@ -189,8 +235,7 @@ function renderEducationInputRow({
189
235
  }
190
236
  };
191
237
  const handleStartYearChange = event => {
192
- const target = event.target;
193
- const year = target.value;
238
+ const year = readEducationSelectChange(event);
194
239
  const month = parseYearMonthFromDateText((0, _textUtils.toText)(educationData[index]?.startDate)).month || '01';
195
240
  const nextStartDate = buildDateLiteral(month, year);
196
241
  if (educationData[index]) {
@@ -199,8 +244,7 @@ function renderEducationInputRow({
199
244
  }
200
245
  };
201
246
  const handleEndMonthChange = event => {
202
- const target = event.target;
203
- const month = target.value;
247
+ const month = readEducationSelectChange(event);
204
248
  const year = parseYearMonthFromDateText((0, _textUtils.toText)(educationData[index]?.endDate)).year || String(currentYear);
205
249
  const nextEndDate = buildDateLiteral(month, year);
206
250
  if (educationData[index]) {
@@ -209,8 +253,7 @@ function renderEducationInputRow({
209
253
  }
210
254
  };
211
255
  const handleEndYearChange = event => {
212
- const target = event.target;
213
- const year = target.value;
256
+ const year = readEducationSelectChange(event);
214
257
  const month = parseYearMonthFromDateText((0, _textUtils.toText)(educationData[index]?.endDate)).month || '01';
215
258
  const nextEndDate = buildDateLiteral(month, year);
216
259
  if (educationData[index]) {
@@ -230,15 +273,17 @@ function renderEducationInputRow({
230
273
  <div class="profile-edit-dialog__row" role="group" aria-labelledby=${educationHeadingId}>
231
274
  <h4 id=${educationHeadingId} class="profile-edit-dialog__entry-heading">${label}</h4>
232
275
  <div class="profile-edit-dialog__actions profile-edit-dialog__actions--edge">
233
- <button
276
+ <solid-ui-button
234
277
  type="button"
278
+ variant="icon"
279
+ size="md"
235
280
  class="profile-edit-dialog__delete-button"
236
281
  aria-label=${`Delete education ${displayIndex + 1}`}
237
282
  title=${_texts.deleteEntryButtonTitleText}
238
283
  @click=${handleDelete}
239
284
  >
240
- <span class="profile-edit-dialog__delete-icon" aria-hidden="true">${_profileIcons.trashIcon}</span>
241
- </button>
285
+ <span slot="icon" class="profile-edit-dialog__delete-icon" aria-hidden="true">${_profileIcons.trashIcon}</span>
286
+ </solid-ui-button>
242
287
  </div>
243
288
  </div>
244
289
  <label aria-label=${`${label} School/College`} class="label profile-edit-dialog__field">
@@ -279,27 +324,59 @@ function renderEducationInputRow({
279
324
  <div class="profile-edit-dialog__row">
280
325
  <label aria-label=${startMonthLabel} class="label profile-edit-dialog__field-type">
281
326
  Start Month
282
- <select name=${startMonthInputName} id=${startMonthSelectId} @change=${handleStartMonthChange}>
283
- ${renderMonthOptions(startMonthValue)}
284
- </select>
327
+ <solid-ui-select
328
+ class="profile-edit-dialog__education-date-select"
329
+ name=${startMonthInputName}
330
+ id=${startMonthSelectId}
331
+ data-education-date-kind="start-month"
332
+ data-education-row-index=${String(index)}
333
+ .options=${getEducationDateSelectOptions('start-month', selectedYears)}
334
+ .value=${startMonthValue}
335
+ .label=${getEducationDateSelectLabel('start-month')}
336
+ @change=${handleStartMonthChange}
337
+ ></solid-ui-select>
285
338
  </label>
286
339
  <label aria-label=${startYearLabel} class="label profile-edit-dialog__field-type">
287
340
  Start Year
288
- <select name=${startYearInputName} id=${startYearSelectId} @change=${handleStartYearChange}>
289
- ${renderYearOptions(startYearText)}
290
- </select>
341
+ <solid-ui-select
342
+ class="profile-edit-dialog__education-date-select"
343
+ name=${startYearInputName}
344
+ id=${startYearSelectId}
345
+ data-education-date-kind="start-year"
346
+ data-education-row-index=${String(index)}
347
+ .options=${getEducationDateSelectOptions('start-year', selectedYears)}
348
+ .value=${startYearText}
349
+ .label=${getEducationDateSelectLabel('start-year')}
350
+ @change=${handleStartYearChange}
351
+ ></solid-ui-select>
291
352
  </label>
292
353
  <label aria-label=${endMonthLabel} class="label profile-edit-dialog__field-type">
293
354
  End Month
294
- <select name=${endMonthInputName} id=${endMonthSelectId} @change=${handleEndMonthChange}>
295
- ${renderMonthOptions(endMonthValue)}
296
- </select>
355
+ <solid-ui-select
356
+ class="profile-edit-dialog__education-date-select"
357
+ name=${endMonthInputName}
358
+ id=${endMonthSelectId}
359
+ data-education-date-kind="end-month"
360
+ data-education-row-index=${String(index)}
361
+ .options=${getEducationDateSelectOptions('end-month', selectedYears)}
362
+ .value=${endMonthValue}
363
+ .label=${getEducationDateSelectLabel('end-month')}
364
+ @change=${handleEndMonthChange}
365
+ ></solid-ui-select>
297
366
  </label>
298
367
  <label aria-label=${endYearLabel} class="label profile-edit-dialog__field-type">
299
368
  End Year
300
- <select name=${endYearInputName} id=${endYearSelectId} @change=${handleEndYearChange}>
301
- ${renderYearOptions(endYearParsedText)}
302
- </select>
369
+ <solid-ui-select
370
+ class="profile-edit-dialog__education-date-select"
371
+ name=${endYearInputName}
372
+ id=${endYearSelectId}
373
+ data-education-date-kind="end-year"
374
+ data-education-row-index=${String(index)}
375
+ .options=${getEducationDateSelectOptions('end-year', selectedYears)}
376
+ .value=${endYearParsedText}
377
+ .label=${getEducationDateSelectLabel('end-year')}
378
+ @change=${handleEndYearChange}
379
+ ></solid-ui-select>
303
380
  </label>
304
381
  </div>
305
382
  <label aria-label=${`${label} Description`} class="label profile-edit-dialog__field profile-edit-dialog__field--full profile-edit-dialog__field--stack">
@@ -347,24 +424,26 @@ function renderEducationSection(educationData, onAddRow) {
347
424
  return (0, _litHtml.html)`
348
425
  <section
349
426
  aria-labelledby="education-heading"
350
- class="educationEditSection section-bg">
427
+ class="profile-edit-dialog__section--education section-bg">
351
428
  <header class="profile__section-header">
352
429
  <h3 id="education-heading" class="profile-edit-dialog__section-heading">
353
- <span class="sectionTitleIcon" aria-hidden="true">&#9993;</span>
430
+ <span class="profile-edit-dialog__section-title-icon" aria-hidden="true">&#9993;</span>
354
431
  Education
355
432
  </h3>
356
- <button
433
+ <solid-ui-button
357
434
  type="button"
358
- class="profile__action-button profile-action-text flex-center"
435
+ variant="secondary"
436
+ size="sm"
437
+ class="profile__action-button profile-action-text profile-edit-dialog__add-button"
359
438
  data-dialog-add-more="true"
360
439
  aria-label="Add another education entry"
361
440
  @click=${createNewRow}
362
441
  >
363
- <span class="profile__add-more-content inline-flex-row">
364
- <span class="profile__add-more-icon inline-flex-row" aria-hidden="true">${_profileIcons.addIcon}</span>
365
- Add More
442
+ <span class="profile__add-more-content">
443
+ <span class="profile__add-more-icon" aria-hidden="true">${_profileIcons.addIcon}</span>
444
+ <span>Add More</span>
366
445
  </span>
367
- </button>
446
+ </solid-ui-button>
368
447
  </header>
369
448
  <fieldset>
370
449
  <legend class="sr-only">Education entries</legend>
@@ -389,6 +468,7 @@ function renderEducationEditTemplate(form, formState, rerender, viewerMode) {
389
468
  ${renderEducationSection(formState.educationData, rerender)}
390
469
  ${viewerMode !== 'owner' ? (0, _litHtml.html)`<p class="profile-edit-dialog__login-message">${_texts.ownerLoginRequiredDialogMessageText}</p>` : null}
391
470
  `, form);
471
+ initializeEducationDateSelects(form, formState.educationData);
392
472
  }
393
473
  function createEducationEditForm(educationData, viewerMode) {
394
474
  const form = document.createElement('form');
@@ -417,6 +497,10 @@ async function createEducationEditDialog(event, store, subject, educationData, v
417
497
  title: _texts.editEducationDialogTitleText,
418
498
  dom,
419
499
  form,
500
+ shouldCloseWithoutSave: () => {
501
+ const plan = (0, _rowState.summarizeRowOps)(formState.educationData, rowHasContent);
502
+ return plan.create.length === 0 && plan.update.length === 0 && plan.remove.length === 0;
503
+ },
420
504
  headerAction: {
421
505
  type: 'button',
422
506
  label: 'Add More',
@@ -429,11 +513,6 @@ async function createEducationEditDialog(event, store, subject, educationData, v
429
513
  if (viewerMode !== 'owner') {
430
514
  return _texts.ownerLoginRequiredDialogMessageText;
431
515
  }
432
- const plan = (0, _rowState.summarizeRowOps)(formState.educationData, rowHasContent);
433
- const hasChanges = plan.create.length > 0 || plan.update.length > 0 || plan.remove.length > 0;
434
- if (!hasChanges) {
435
- return 'No education changes detected.';
436
- }
437
516
  const validation = validateEducationBeforeSave(formState.educationData);
438
517
  if (!validation.ok) {
439
518
  return validation.message || 'Please complete the required education fields.';
@@ -446,8 +525,7 @@ async function createEducationEditDialog(event, store, subject, educationData, v
446
525
  rerender();
447
526
  },
448
527
  formatSaveError: error => {
449
- const message = error instanceof Error ? error.message : String(error);
450
- return `${_texts.saveEducationUpdatesFailedPrefixText} ${message}`;
528
+ return error instanceof Error ? error.message : _texts.saveEducationUpdatesFailedMessageText;
451
529
  }
452
530
  });
453
531
  if (!result) return;
@@ -0,0 +1,133 @@
1
+ /* Education section styles. */
2
+
3
+ .education-card {
4
+ width: 100%;
5
+ }
6
+
7
+ .education-card__item {
8
+ margin: var(--spacing-xs) 0;
9
+ font-size: var(--font-size-base);
10
+ line-height: var(--line-height-base);
11
+ display: flex;
12
+ flex-direction: column;
13
+ gap: 0;
14
+ }
15
+
16
+ .education-card__item + .education-card__item {
17
+ margin-top: var(--spacing-sm);
18
+ }
19
+
20
+ .education-card__header {
21
+ display: flex;
22
+ flex-direction: row;
23
+ justify-content: space-between;
24
+ align-items: baseline;
25
+ gap: var(--spacing-sm);
26
+ }
27
+
28
+ .education-card__header h4,
29
+ .education-card__header time,
30
+ .education-card__header p {
31
+ margin: 0;
32
+ }
33
+
34
+ .education-card__period {
35
+ margin: 0;
36
+ font-size: var(--font-size-sm);
37
+ line-height: var(--line-height-tight);
38
+ }
39
+
40
+ .education-card__organization {
41
+ font-weight: 600;
42
+ color: var(--color-primary);
43
+ margin: 0;
44
+ }
45
+
46
+ .education-card__description-wrap {
47
+ margin: 0;
48
+ position: relative;
49
+ }
50
+
51
+ .education-card__description-text {
52
+ margin: 0;
53
+ display: -webkit-box;
54
+ -webkit-box-orient: vertical;
55
+ -webkit-line-clamp: 2;
56
+ line-clamp: 2;
57
+ line-height: var(--line-height-base);
58
+ overflow: hidden;
59
+ }
60
+
61
+ .education-card__description-text--overflowing {
62
+ padding-right: 4.5em;
63
+ }
64
+
65
+ .education-card__description-text--expanded {
66
+ display: block;
67
+ -webkit-line-clamp: unset;
68
+ line-clamp: unset;
69
+ padding-right: 0;
70
+ overflow: visible;
71
+ }
72
+
73
+ .education-card__description-toggle {
74
+ margin: 0;
75
+ padding: 0;
76
+ border: 0;
77
+ background: none;
78
+ color: var(--color-primary);
79
+ cursor: var(--profile-interactive-cursor, pointer);
80
+ font: inherit;
81
+ font-size: var(--font-size-sm);
82
+ line-height: var(--line-height-tight);
83
+ position: absolute;
84
+ right: 0;
85
+ bottom: 0;
86
+ background-color: var(--color-card-bg);
87
+ padding-left: 0.25em;
88
+ }
89
+
90
+ solid-ui-button.education-card__description-toggle {
91
+ --button-height-sm: 0;
92
+ --button-padding-sm: 0 0 0 0.25em;
93
+ --button-font-size-sm: var(--font-size-sm);
94
+ --button-line-height: var(--line-height-tight);
95
+ --button-background: none;
96
+ --button-border-width: 0;
97
+ --button-border: transparent;
98
+ --button-text: var(--color-primary);
99
+ --button-hover-background: none;
100
+ --button-hover-border: transparent;
101
+ --button-hover-text: var(--color-primary);
102
+ }
103
+
104
+ solid-ui-button.education-card__description-toggle::part(button) {
105
+ position: absolute;
106
+ right: 0;
107
+ bottom: 0;
108
+ background-color: var(--color-card-bg);
109
+ }
110
+
111
+ .education-card__description-text--expanded + .education-card__description-toggle {
112
+ position: static;
113
+ display: inline;
114
+ padding-left: 0;
115
+ }
116
+
117
+ .education-card__description-text--expanded + solid-ui-button.education-card__description-toggle::part(button) {
118
+ position: static;
119
+ display: inline;
120
+ padding-left: 0;
121
+ }
122
+
123
+ :is(.profile-pane-host, .profile-pane-root)[data-layout='mobile'] .education-card__header {
124
+ flex-direction: column;
125
+ align-items: flex-start;
126
+ }
127
+
128
+ @media (max-width: 576px) {
129
+ .education-card__header {
130
+ flex-direction: column;
131
+ align-items: flex-start;
132
+ }
133
+ }
@@ -1,7 +1,8 @@
1
+ import 'solid-ui/components/actions/button';
1
2
  import { EducationDetails } from './types';
2
3
  import { ViewerMode } from '../../types';
3
- import '../../styles/EducationCard.css';
4
+ import './EducationSection.css';
4
5
  import { LiveStore, NamedNode } from 'rdflib';
5
- export declare const EducationCard: (educationData: EducationDetails[], viewerMode: ViewerMode) => import("lit-html").TemplateResult<1>;
6
+ export declare const EducationCard: (educationData: EducationDetails[]) => import("lit-html").TemplateResult<1>;
6
7
  export declare function renderEducationSection(store: LiveStore, subject: NamedNode, educationData: EducationDetails[], viewerMode: ViewerMode, onSaved?: () => Promise<void> | void): import("lit-html").TemplateResult<1> | "";
7
8
  //# sourceMappingURL=EducationSection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EducationSection.d.ts","sourceRoot":"","sources":["../../../src/sections/education/EducationSection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,gCAAgC,CAAA;AAEvC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAyE7C,eAAO,MAAM,aAAa,GACxB,eAAe,gBAAgB,EAAE,EACjC,YAAY,UAAU,yCAevB,CAAA;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,SAAS,EAClB,aAAa,EAAE,gBAAgB,EAAE,EACjC,UAAU,EAAE,UAAU,EACtB,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,6CAiDrC"}
1
+ {"version":3,"file":"EducationSection.d.ts","sourceRoot":"","sources":["../../../src/sections/education/EducationSection.ts"],"names":[],"mappings":"AACA,OAAO,oCAAoC,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,wBAAwB,CAAA;AAE/B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AA4E7C,eAAO,MAAM,aAAa,GACxB,eAAe,gBAAgB,EAAE,yCAclC,CAAA;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,SAAS,EAClB,aAAa,EAAE,gBAAgB,EAAE,EACjC,UAAU,EAAE,UAAU,EACtB,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,6CAqDrC"}
@@ -6,7 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.EducationCard = void 0;
7
7
  exports.renderEducationSection = renderEducationSection;
8
8
  var _litHtml = require("lit-html");
9
- require("../../styles/EducationCard.css");
9
+ require("solid-ui/components/actions/button");
10
+ require("./EducationSection.css");
10
11
  var _texts = require("../../texts");
11
12
  var _EducationEditDialog = require("./EducationEditDialog");
12
13
  var _sectionCardHelpers = require("../shared/sectionCardHelpers");
@@ -30,29 +31,32 @@ function renderEducationEntry(educationEntry, index) {
30
31
  const educationDescriptionId = `education-description-${index}`;
31
32
  const ariaDescribedBy = educationEntry.description ? `${educationPeriodId} ${educationOrgId} ${educationDescriptionId}` : `${educationPeriodId} ${educationOrgId}`;
32
33
  return (0, _litHtml.html)`
33
- <li class="education" role="listitem" aria-labelledby=${schoolId} aria-describedby=${ariaDescribedBy}>
34
- <div class="educationHeader">
34
+ <li class="education-card__item" role="listitem" aria-labelledby=${schoolId} aria-describedby=${ariaDescribedBy}>
35
+ <div class="education-card__header">
35
36
  <h4 id=${schoolId}>${educationEntry.school}</h4>
36
- <p id=${educationPeriodId} class="educationPeriod">
37
+ <p id=${educationPeriodId} class="education-card__period">
37
38
  ${educationEntry.endDate ? (0, _litHtml.html)`<time datetime=${(0, _sectionCardHelpers.toMonthDateTime)(educationEntry.endDate)}>${formatEducationMonthYearFull(educationEntry.endDate)}</time>` : (0, _litHtml.html)`<span>End date unknown</span>`}
38
39
  </p>
39
40
  </div>
40
- <p class="educationOrg" id=${educationOrgId}>
41
+ <p class="education-card__organization" id=${educationOrgId}>
41
42
  <strong>${educationEntry.degree}</strong>${educationEntry.location ? (0, _litHtml.html)` | ${educationEntry.location}` : ''}
42
43
  </p>
43
44
  ${educationEntry.description ? (0, _litHtml.html)`
44
- <div class="cvDescriptionWrap">
45
- <p class="cvDescriptionText" id=${educationDescriptionId}>${educationEntry.description}</p>
46
- <button
45
+ <div class="education-card__description-wrap">
46
+ <p class="education-card__description-text" id=${educationDescriptionId}>${educationEntry.description}</p>
47
+ <solid-ui-button
47
48
  type="button"
48
- class="cvDescriptionToggle"
49
+ variant="secondary"
50
+ size="sm"
51
+ label="...more"
52
+ class="education-card__description-toggle"
49
53
  aria-controls=${educationDescriptionId}
50
54
  aria-expanded="false"
51
55
  hidden
52
56
  @click=${_sectionCardHelpers.toggleDescription}
53
57
  >
54
58
  ...more
55
- </button>
59
+ </solid-ui-button>
56
60
  </div>
57
61
  ` : ''}
58
62
  </li>
@@ -62,13 +66,12 @@ function renderEducation(educationData) {
62
66
  if (!educationData || !educationData.length) return (0, _litHtml.html)``;
63
67
  return (0, _litHtml.html)`${educationData.map((educationEntry, index) => renderEducationEntry(educationEntry, index))}`;
64
68
  }
65
- const EducationCard = (educationData, viewerMode) => {
66
- void viewerMode;
69
+ const EducationCard = educationData => {
67
70
  const hasEducation = Array.isArray(educationData) && educationData.length > 0;
68
71
  if (!hasEducation) return (0, _litHtml.html)``;
69
72
  return (0, _litHtml.html)`
70
- <article class="educationCard" aria-label="Education" data-testid="education">
71
- <section class="educationSection">
73
+ <article class="education-card" aria-label="Education" data-testid="education">
74
+ <section class="education-card__section">
72
75
  <ul role="list" aria-label="Education in chronological order">
73
76
  ${renderEducation(educationData)}
74
77
  </ul>
@@ -79,7 +82,7 @@ const EducationCard = (educationData, viewerMode) => {
79
82
  exports.EducationCard = EducationCard;
80
83
  function renderEducationSection(store, subject, educationData, viewerMode, onSaved) {
81
84
  (0, _sectionCardHelpers.scheduleDescriptionOverflowCheck)();
82
- const educationCard = EducationCard(educationData, viewerMode);
85
+ const educationCard = EducationCard(educationData);
83
86
  const educationDetails = educationData || [];
84
87
  const hasEducation = educationDetails && educationDetails.length > 0;
85
88
  const showSection = true;
@@ -87,38 +90,42 @@ function renderEducationSection(store, subject, educationData, viewerMode, onSav
87
90
  return showSection ? (0, _litHtml.html)`
88
91
  <section
89
92
  aria-labelledby="education-heading"
90
- class="profile-section-collapsible section-bg"
93
+ class="profile__section profile-section-collapsible profile-section-collapsible--inline-mobile-actions"
91
94
  role="region"
92
95
  tabindex="-1"
93
96
  data-expanded="false"
94
97
  >
95
98
  <header class="profile__section-header profile-section-collapsible__header">
96
99
  <h2 id="education-heading" tabindex="-1">${_texts.educationHeadingText}</h2>
97
- <div class="profile-section-collapsible__actions flex-column">
100
+ <div class="profile-section-collapsible__actions">
98
101
  ${isOwner ? (0, _litHtml.html)`
99
- <button
102
+ <solid-ui-button
100
103
  type="button"
101
- class="profile__action-button profile-action-text flex-center profile-section-collapsible__edit-button"
104
+ variant="secondary"
105
+ size="sm"
106
+ class="profile__action-button profile-action-text profile-section-collapsible__edit-button"
102
107
  aria-label="Edit education details"
103
108
  @click=${event => (0, _EducationEditDialog.createEducationEditDialog)(event, store, subject, educationDetails, viewerMode, onSaved)}
104
109
  >
105
110
  <span class="profile-section-collapsible__edit-label">${_profileIcons.editIcon} Edit</span>
106
111
  <span class="profile-section-collapsible__edit-icon" aria-hidden="true">${_profileIcons.editIcon}</span>
107
- </button>
112
+ </solid-ui-button>
108
113
  ` : (0, _litHtml.html)``}
109
- <button
114
+ <solid-ui-button
110
115
  type="button"
111
- class="inline-flex-row"
116
+ variant="icon"
117
+ size="sm"
118
+ class="profile-section-collapsible__toggle-button"
112
119
  aria-label="Toggle education section"
113
120
  aria-controls="education-panel"
114
121
  aria-expanded="false"
115
122
  @click=${_collapsibleSection.toggleCollapsibleSection}
116
123
  >
117
- <span class="profile-section-collapsible__chevron" aria-hidden="true">⌄</span>
118
- </button>
124
+ <span slot="icon" class="profile-section-collapsible__chevron" aria-hidden="true">${_profileIcons.chevronDownIcon}</span>
125
+ </solid-ui-button>
119
126
  </div>
120
127
  </header>
121
- <div id="education-panel" class="profile-section-collapsible__content" aria-hidden="true">
128
+ <div id="education-panel" class="profile-section-collapsible__content">
122
129
  ${hasEducation ? educationCard : (0, _litHtml.html)`<p>No education details added yet.</p>`}
123
130
  </div>
124
131
  </section>
@@ -1 +1 @@
1
- {"version":3,"file":"mutations.d.ts","sourceRoot":"","sources":["../../../src/sections/education/mutations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAqB,MAAM,QAAQ,CAAA;AAEhE,OAAO,EAAE,qBAAqB,EAAgB,MAAM,SAAS,CAAA;AAgE7D,wBAAsB,yBAAyB,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,qBAAqB,iBAOxH"}
1
+ {"version":3,"file":"mutations.d.ts","sourceRoot":"","sources":["../../../src/sections/education/mutations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAqB,MAAM,QAAQ,CAAA;AAEhE,OAAO,EAAE,qBAAqB,EAAgB,MAAM,SAAS,CAAA;AAyE7D,wBAAsB,yBAAyB,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,qBAAqB,iBAQxH"}