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
@@ -0,0 +1,233 @@
1
+ @import './dialog.responsive.css';
2
+
3
+ /* CSS for the accessible modal dialogs created by dialog.ts */
4
+ /* dialog host */
5
+ #profile-modal {
6
+ --profile-modal-backdrop: var(--overlay-bg-muted, rgba(0, 0, 0, 0.5));
7
+ --profile-modal-panel-inline-padding: var(--spacing-lg, 1.5625rem);
8
+ --profile-modal-panel-block-padding: var(--spacing-md, 1.25rem);
9
+ --profile-modal-compact-padding: var(--spacing-sm, 0.9375rem);
10
+ --profile-modal-button-gap: var(--spacing-sm, 0.938rem);
11
+ --profile-modal-error-padding: var(--spacing-xs, 0.75rem);
12
+ --profile-modal-panel-width: min(37.5rem, calc(100vw - 2rem));
13
+ --profile-modal-panel-max-width: 37.5rem;
14
+ --profile-modal-panel-max-height: calc(100dvh - 2rem);
15
+ margin: 0;
16
+ padding: 0;
17
+ border: none;
18
+ background: var(--profile-modal-backdrop);
19
+ max-width: none;
20
+ max-height: none;
21
+ width: 100%;
22
+ height: 100%;
23
+ overflow: hidden;
24
+ position: fixed;
25
+ inset: 0;
26
+ z-index: 9999;
27
+ display: grid;
28
+ place-items: center;
29
+ overscroll-behavior: contain;
30
+ padding-top: env(safe-area-inset-top);
31
+ padding-right: 0;
32
+ padding-bottom: max(var(--spacing-lg, 1.5625rem), env(safe-area-inset-bottom));
33
+ padding-left: 0;
34
+ }
35
+
36
+ #profile-modal:not([open]) {
37
+ display: none;
38
+ }
39
+
40
+ #profile-modal::backdrop {
41
+ background: var(--profile-modal-backdrop);
42
+ }
43
+
44
+ #profile-modal .modal {
45
+ box-sizing: border-box;
46
+ position: relative;
47
+ display: grid;
48
+ grid-template-rows: auto minmax(0, 1fr) auto auto;
49
+ margin: 0;
50
+ background: var(--color-background);
51
+ border-radius: var(--border-radius-base);
52
+ max-width: var(--profile-modal-panel-max-width);
53
+ width: var(--profile-modal-panel-width);
54
+ max-height: var(--profile-modal-panel-max-height);
55
+ overflow: hidden;
56
+ box-shadow: var(--box-shadow-modal, 0 2px 10px rgba(0, 0, 0, 0.3));
57
+ align-self: center;
58
+ }
59
+
60
+ #profile-modal .modal .modal-header {
61
+ gap: var(--spacing-lg);
62
+ width: 100%;
63
+ min-width: 0;
64
+ padding: var(--profile-modal-panel-block-padding) var(--profile-modal-panel-inline-padding);
65
+ box-sizing: border-box;
66
+ border-radius: var(--border-radius-base, 0.3125rem) var(--border-radius-base, 0.3125rem) 0 0;
67
+ border-bottom: var(--border-width-sm, 0.1rem) solid var(--color-border-lighter, var(--slate-200, #E2E8F0));
68
+ background: var(--color-surface-overlay-header, var(--slate-50, #F8FAFC));
69
+ }
70
+
71
+ #profile-modal .modal #modal-desc {
72
+ min-height: 0;
73
+ overflow: auto;
74
+ overscroll-behavior: contain;
75
+ width: 100%;
76
+ min-width: 0;
77
+ padding: var(--profile-modal-panel-inline-padding);
78
+ box-sizing: border-box;
79
+ }
80
+
81
+ #profile-modal .modal #modal-desc:has(> .profile__edit-form--projects) {
82
+ padding: var(--spacing-2xs, 0.625rem) var(--profile-modal-panel-inline-padding);
83
+ }
84
+
85
+ #profile-modal .modal #modal-desc:has(> #contacts-addressbook-picker-dialog) {
86
+ padding-top: 0;
87
+ }
88
+
89
+ #profile-modal #modal-desc > .profile__edit-form--projects {
90
+ display: flex;
91
+ flex-direction: column;
92
+ gap: var(--spacing-2xs, 0.625rem);
93
+ }
94
+
95
+ #profile-modal .modal #modal-title {
96
+ margin: 0;
97
+ color: var(--color-text-subheading, var(--gray-900, #101828));
98
+ }
99
+
100
+ #profile-modal .modal #modal-header-action > solid-ui-button[aria-label="Close dialog"] {
101
+ --button-height-sm: var(--icon-base, 2rem);
102
+ --button-width-sm: var(--icon-base, 2rem);
103
+ --button-padding-sm: 0;
104
+ --button-background: transparent;
105
+ --button-border-width: 0;
106
+ --button-border: transparent;
107
+ --button-text: var(--color-text);
108
+ --button-border-radius: 999px;
109
+ --button-box-shadow: none;
110
+ --button-hover-background: rgba(0, 0, 0, 0.04);
111
+ --button-hover-border: transparent;
112
+ --button-hover-text: var(--color-primary);
113
+ --button-hover-box-shadow: none;
114
+ --button-active-box-shadow: none;
115
+ --button-active-transform: none;
116
+ --button-icon-size-sm: var(--icon-xxs, 1rem);
117
+ }
118
+
119
+ #profile-modal .modal #modal-header-action > solid-ui-button[aria-label="Close dialog"]:hover {
120
+ --button-hover-background: rgba(0, 0, 0, 0.04);
121
+ --button-hover-border: transparent;
122
+ --button-hover-text: var(--color-primary);
123
+ }
124
+
125
+ #profile-modal .modal #modal-header-action > solid-ui-button[aria-label="Close dialog"]:focus-visible::part(button) {
126
+ outline: var(--focus-indicator-width) solid var(--color-primary);
127
+ outline-offset: var(--outline-offset-sm);
128
+ box-shadow: var(--box-shadow-focus-accessible, 0 0 0 var(--focus-ring-width) var(--color-background), 0 0 0 calc(var(--focus-ring-width) + var(--focus-indicator-width)) var(--color-primary-alpha));
129
+ }
130
+
131
+ #profile-modal .modal:has(#modal-desc > .profile__edit-form--projects) #modal-header-action,
132
+ #profile-modal .modal:has(#modal-desc > .profile__edit-form--contact-info) #modal-header-action {
133
+ display: none;
134
+ }
135
+
136
+ #profile-modal .modal solid-ui-button.modal__header-action-button {
137
+ --button-height-sm: 0;
138
+ --button-padding-sm: var(--spacing-xxs);
139
+ --button-background: transparent;
140
+ --button-border-width: 0;
141
+ --button-border: transparent;
142
+ --button-font-weight: var(--font-weight-md, 500);
143
+ --button-text: var(--color-primary);
144
+ --button-hover-background: transparent;
145
+ --button-hover-border: transparent;
146
+ --button-hover-text: var(--color-primary);
147
+ }
148
+
149
+ #profile-modal .modal solid-ui-button.modal__header-action-button:hover::part(button) {
150
+ text-decoration: underline;
151
+ }
152
+
153
+ /* button container: center buttons horizontally (uses id in markup) */
154
+ #profile-modal #modal-buttons {
155
+ width: 100%;
156
+ min-width: 0;
157
+ padding: var(--profile-modal-panel-block-padding) calc(var(--profile-modal-panel-inline-padding) + var(--spacing-xxs, 0.3125rem)) var(--profile-modal-compact-padding);
158
+ gap: var(--profile-modal-button-gap);
159
+ align-self: stretch;
160
+ box-sizing: border-box;
161
+ border-top: var(--border-width-sm, 0.1rem) solid var(--color-border-lighter, var(--slate-200, #E2E8F0));
162
+ background: var(--color-surface-tertiary, var(--gray-50, #F9FAFB));
163
+ }
164
+
165
+ #profile-modal #modal-buttons[hidden] {
166
+ display: none !important;
167
+ }
168
+
169
+ #profile-modal #modal-buttons > solid-ui-button {
170
+ width: 10.8rem;
171
+ }
172
+
173
+ #profile-modal #modal-buttons solid-ui-button[data-dialog-primary='true'] {
174
+ --button-font-size-md: var(--font-size-md, 1rem);
175
+ }
176
+
177
+ #profile-modal #modal-buttons solid-ui-button[data-cancel='true'] {
178
+ --button-font-weight: var(--font-weight-normal, normal);
179
+ --button-text: var(--dialog-cancel-button-text, var(--gray-800, #1E2939));
180
+ --button-border: var(--dialog-cancel-button-border, var(--gray-300, #D1D5DC));
181
+ --button-background: var(--dialog-cancel-button-background, transparent);
182
+ --button-hover-background: var(--dialog-cancel-button-hover-background, var(--blue-900, #083575));
183
+ --button-hover-border: var(--dialog-cancel-button-hover-border, var(--blue-900, #083575));
184
+ --button-hover-text: var(--dialog-cancel-button-hover-text, var(--color-text-on-action, var(--white, #FFF)));
185
+ --button-font-size-md: var(--font-size-md, 1rem);
186
+ }
187
+
188
+ #profile-modal #modal-buttons solid-ui-button[data-cancel='true']:hover::part(button),
189
+ #profile-modal #modal-buttons solid-ui-button[data-cancel='true']:focus-visible::part(button),
190
+ #profile-modal #modal-buttons solid-ui-button[data-cancel='true']:focus-within::part(button) {
191
+ background: var(--dialog-cancel-button-hover-background, var(--blue-900, #083575));
192
+ border-color: var(--dialog-cancel-button-hover-border, var(--blue-900, #083575));
193
+ color: var(--dialog-cancel-button-hover-text, var(--color-text-on-action, var(--white, #FFF)));
194
+ }
195
+
196
+ #profile-modal .modal__error-section {
197
+ margin-top: var(--spacing-sm);
198
+ margin-bottom: 0;
199
+ padding: var(--profile-modal-error-padding);
200
+ border: 1px solid var(--dialog-error-border, var(--pink-700, #ff98b3));
201
+ border-radius: var(--border-radius-base);
202
+ background: var(--dialog-error-background, var(--pink-500, #ffdde6));
203
+ color: var(--dialog-error-text, var(--red-600, #B00020));
204
+ text-align: center;
205
+ white-space: pre-wrap;
206
+ overflow-wrap: anywhere;
207
+ }
208
+
209
+ #profile-modal .modal__error-section[hidden] {
210
+ display: none !important;
211
+ }
212
+
213
+ #profile-modal #modal-saving-overlay {
214
+ position: absolute;
215
+ inset: 0;
216
+ display: grid;
217
+ place-items: center;
218
+ background: rgba(255, 255, 255, 0.78);
219
+ z-index: 10;
220
+ }
221
+
222
+ #profile-modal #modal-saving-overlay[hidden] {
223
+ display: none;
224
+ }
225
+
226
+ #profile-modal.modal--saving #modal-desc {
227
+ opacity: 0.45;
228
+ pointer-events: none;
229
+ }
230
+
231
+ #profile-modal .modal__saving-indicator {
232
+ gap: 0;
233
+ }
@@ -1,4 +1,5 @@
1
- import '../styles/dialog.css';
1
+ import './dialog.css';
2
+ import 'solid-ui/components/actions/button';
2
3
  type DialogButtonValue = boolean | 'save' | null;
3
4
  type DialogHeaderAction = {
4
5
  type: 'close';
@@ -11,7 +12,17 @@ type DialogHeaderAction = {
11
12
  className?: string;
12
13
  onClick?: () => Promise<void> | void;
13
14
  };
15
+ type DialogActionControl = HTMLElement & {
16
+ disabled?: boolean;
17
+ label?: string;
18
+ click: () => void;
19
+ shadowRoot?: ShadowRoot | null;
20
+ };
21
+ export declare function getSharedDialogSaveButton(root: ParentNode): DialogActionControl | null;
22
+ export declare function getSharedDialogCancelButton(root: ParentNode): DialogActionControl | null;
23
+ export declare function closeSharedDialog(): void;
14
24
  export declare function alertDialog(message: string, title: string, dom: Document): Promise<DialogButtonValue>;
25
+ export declare function setSharedDialogSavingState(dom: Document, isSaving: boolean, submitLabel?: string): void;
15
26
  type OpenInputDialogCustom = {
16
27
  title: string;
17
28
  dom: Document;
@@ -19,6 +30,9 @@ type OpenInputDialogCustom = {
19
30
  submitLabel?: string;
20
31
  cancelLabel?: string;
21
32
  headerAction?: DialogHeaderAction;
33
+ hideFooterButtons?: boolean;
34
+ onOpen?: () => void;
35
+ shouldCloseWithoutSave?: () => Promise<boolean> | boolean;
22
36
  validate?: () => Promise<string | null> | string | null;
23
37
  onSave?: () => Promise<void> | void;
24
38
  formatSaveError?: (error: unknown) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../src/ui/dialog.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAA;AAS7B,KAAK,iBAAiB,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,CAAA;AAShD,KAAK,kBAAkB,GACnB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CACrC,CAAA;AAmOL,wBAAgB,WAAW,CAAE,OAAO,EAAE,MAAM,EAAE,KAAK,QAAgB,EAAE,GAAG,EAAE,QAAQ,8BAOjF;AAED,KAAK,qBAAqB,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,QAAQ,CAAC;IACd,IAAI,EAAE,eAAe,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;IACxD,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACpC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAA;CAC7C,CAAA;AAED,KAAK,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAK/C,wBAAgB,eAAe,CAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAgElG"}
1
+ {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../src/ui/dialog.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAA;AACrB,OAAO,oCAAoC,CAAA;AA+F3C,KAAK,iBAAiB,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,CAAA;AAShD,KAAK,kBAAkB,GACnB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CACrC,CAAA;AAYL,KAAK,mBAAmB,GAAG,WAAW,GAAG;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;CAC/B,CAAA;AAyBD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,UAAU,GAAG,mBAAmB,GAAG,IAAI,CAEtF;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,UAAU,GAAG,mBAAmB,GAAG,IAAI,CAExF;AAuRD,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAED,wBAAgB,WAAW,CAAE,OAAO,EAAE,MAAM,EAAE,KAAK,QAAgB,EAAE,GAAG,EAAE,QAAQ,8BAOjF;AAwCD,wBAAgB,0BAA0B,CAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,SAAmB,GAAG,IAAI,CAGlH;AAED,KAAK,qBAAqB,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,QAAQ,CAAC;IACd,IAAI,EAAE,eAAe,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,sBAAsB,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IAC1D,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;IACxD,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACpC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAA;CAC7C,CAAA;AAED,KAAK,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAK/C,wBAAgB,eAAe,CAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAoFlG"}