profile-pane 3.2.3-0 → 3.2.3-2

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 (107) hide show
  1. package/lib/ProfileView.css +73 -236
  2. package/lib/ProfileView.d.ts +2 -1
  3. package/lib/ProfileView.d.ts.map +1 -1
  4. package/lib/ProfileView.js +19 -18
  5. package/lib/index.d.ts.map +1 -1
  6. package/lib/index.js +35 -35
  7. package/lib/profile-pane.js +17229 -25377
  8. package/lib/profile-pane.js.map +1 -1
  9. package/lib/profile-pane.min.js +809 -1579
  10. package/lib/profile-pane.min.js.map +1 -1
  11. package/lib/sections/bio/BioSection.css +16 -123
  12. package/lib/sections/bio/BioSection.d.ts +2 -2
  13. package/lib/sections/bio/BioSection.d.ts.map +1 -1
  14. package/lib/sections/bio/BioSection.js +23 -32
  15. package/lib/sections/contactInfo/ContactInfoEditDialog.css +33 -66
  16. package/lib/sections/contactInfo/ContactInfoEditDialog.d.ts.map +1 -1
  17. package/lib/sections/contactInfo/ContactInfoEditDialog.js +15 -39
  18. package/lib/sections/contactInfo/ContactInfoSection.css +7 -7
  19. package/lib/sections/contactInfo/ContactInfoSection.d.ts +2 -2
  20. package/lib/sections/contactInfo/ContactInfoSection.d.ts.map +1 -1
  21. package/lib/sections/contactInfo/ContactInfoSection.js +34 -49
  22. package/lib/sections/education/EducationSection.d.ts +1 -1
  23. package/lib/sections/education/EducationSection.d.ts.map +1 -1
  24. package/lib/sections/education/EducationSection.js +2 -3
  25. package/lib/sections/heading/HeadingEditDialog.d.ts.map +1 -1
  26. package/lib/sections/heading/HeadingEditDialog.js +1 -9
  27. package/lib/sections/heading/HeadingSection.css +122 -346
  28. package/lib/sections/heading/HeadingSection.d.ts +2 -3
  29. package/lib/sections/heading/HeadingSection.d.ts.map +1 -1
  30. package/lib/sections/heading/HeadingSection.js +13 -19
  31. package/lib/sections/languages/LanguageEditDialog.d.ts.map +1 -1
  32. package/lib/sections/languages/LanguageEditDialog.js +7 -8
  33. package/lib/sections/languages/LanguageSection.css +6 -6
  34. package/lib/sections/languages/LanguageSection.d.ts +2 -2
  35. package/lib/sections/languages/LanguageSection.d.ts.map +1 -1
  36. package/lib/sections/languages/LanguageSection.js +33 -49
  37. package/lib/sections/projects/ProjectEditDialog.d.ts +0 -1
  38. package/lib/sections/projects/ProjectEditDialog.d.ts.map +1 -1
  39. package/lib/sections/projects/ProjectEditDialog.js +2 -6
  40. package/lib/sections/projects/ProjectSection.css +36 -94
  41. package/lib/sections/projects/ProjectSection.d.ts +2 -2
  42. package/lib/sections/projects/ProjectSection.d.ts.map +1 -1
  43. package/lib/sections/projects/ProjectSection.js +28 -49
  44. package/lib/sections/resume/ResumeEditDialog.d.ts +0 -1
  45. package/lib/sections/resume/ResumeEditDialog.d.ts.map +1 -1
  46. package/lib/sections/resume/ResumeEditDialog.js +20 -40
  47. package/lib/sections/resume/ResumeSection.css +51 -133
  48. package/lib/sections/resume/ResumeSection.d.ts +3 -3
  49. package/lib/sections/resume/ResumeSection.d.ts.map +1 -1
  50. package/lib/sections/resume/ResumeSection.js +28 -42
  51. package/lib/sections/shared/sectionCardHelpers.js +15 -15
  52. package/lib/sections/skills/SkillsEditDialog.d.ts.map +1 -1
  53. package/lib/sections/skills/SkillsEditDialog.js +1 -3
  54. package/lib/sections/skills/SkillsSection.css +20 -67
  55. package/lib/sections/skills/SkillsSection.d.ts +2 -2
  56. package/lib/sections/skills/SkillsSection.d.ts.map +1 -1
  57. package/lib/sections/skills/SkillsSection.js +36 -55
  58. package/lib/sections/social/SocialEditDialog.d.ts.map +1 -1
  59. package/lib/sections/social/SocialEditDialog.js +4 -9
  60. package/lib/sections/social/SocialSection.css +19 -70
  61. package/lib/sections/social/SocialSection.d.ts +2 -2
  62. package/lib/sections/social/SocialSection.d.ts.map +1 -1
  63. package/lib/sections/social/SocialSection.js +37 -61
  64. package/lib/specialButtons/addMeToYourFriends.d.ts.map +1 -1
  65. package/lib/specialButtons/addMeToYourFriends.js +0 -2
  66. package/lib/styles/CollapsibleSection.css +39 -223
  67. package/lib/styles/EditDialogs.css +90 -284
  68. package/lib/styles/EditDialogs.responsive.css +72 -147
  69. package/lib/types.d.ts +1 -0
  70. package/lib/types.d.ts.map +1 -1
  71. package/lib/ui/dialog.css +18 -89
  72. package/lib/ui/dialog.d.ts.map +1 -1
  73. package/lib/ui/dialog.js +5 -9
  74. package/lib/ui/dialog.responsive.css +31 -34
  75. package/lib/ui/responsiveActionButton.d.ts +19 -0
  76. package/lib/ui/responsiveActionButton.d.ts.map +1 -0
  77. package/lib/ui/responsiveActionButton.js +34 -0
  78. package/lib/utils/resize.d.ts +2 -0
  79. package/lib/utils/resize.d.ts.map +1 -0
  80. package/lib/utils/resize.js +40 -0
  81. package/package.json +19 -19
  82. package/lib/303.profile-pane.js +0 -1362
  83. package/lib/303.profile-pane.js.map +0 -1
  84. package/lib/303.profile-pane.min.js +0 -2
  85. package/lib/303.profile-pane.min.js.map +0 -1
  86. package/lib/specialButtons/addContact/AddMeToYourContacts.css +0 -1118
  87. package/lib/specialButtons/addContact/ContactCreationDialog.d.ts +0 -10
  88. package/lib/specialButtons/addContact/ContactCreationDialog.d.ts.map +0 -1
  89. package/lib/specialButtons/addContact/ContactCreationDialog.js +0 -1123
  90. package/lib/specialButtons/addContact/addMeToYourContacts.d.ts +0 -16
  91. package/lib/specialButtons/addContact/addMeToYourContacts.d.ts.map +0 -1
  92. package/lib/specialButtons/addContact/addMeToYourContacts.js +0 -136
  93. package/lib/specialButtons/addContact/contactsErrors.d.ts +0 -8
  94. package/lib/specialButtons/addContact/contactsErrors.d.ts.map +0 -1
  95. package/lib/specialButtons/addContact/contactsErrors.js +0 -106
  96. package/lib/specialButtons/addContact/contactsTypes.d.ts +0 -43
  97. package/lib/specialButtons/addContact/contactsTypes.d.ts.map +0 -1
  98. package/lib/specialButtons/addContact/contactsTypes.js +0 -5
  99. package/lib/specialButtons/addContact/helpers.d.ts +0 -7
  100. package/lib/specialButtons/addContact/helpers.d.ts.map +0 -1
  101. package/lib/specialButtons/addContact/helpers.js +0 -103
  102. package/lib/specialButtons/addContact/mutations.d.ts +0 -16
  103. package/lib/specialButtons/addContact/mutations.d.ts.map +0 -1
  104. package/lib/specialButtons/addContact/mutations.js +0 -300
  105. package/lib/specialButtons/addContact/selectors.d.ts +0 -10
  106. package/lib/specialButtons/addContact/selectors.d.ts.map +0 -1
  107. package/lib/specialButtons/addContact/selectors.js +0 -163
package/lib/ui/dialog.css CHANGED
@@ -4,14 +4,14 @@
4
4
  /* dialog host */
5
5
  #profile-modal {
6
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);
7
+ --profile-modal-panel-inline-padding: 25px;
8
+ --profile-modal-panel-block-padding: 20px;
9
+ --profile-modal-compact-padding: 15px;
10
+ --profile-modal-button-gap: 15px;
11
+ --profile-modal-error-padding: 12px;
12
+ --profile-modal-panel-width: min(600px, calc(100vw - 32px));
13
+ --profile-modal-panel-max-width: 600px;
14
+ --profile-modal-panel-max-height: calc(100dvh - 32px);
15
15
  margin: 0;
16
16
  padding: 0;
17
17
  border: none;
@@ -29,7 +29,7 @@
29
29
  overscroll-behavior: contain;
30
30
  padding-top: env(safe-area-inset-top);
31
31
  padding-right: 0;
32
- padding-bottom: max(var(--spacing-lg, 1.5625rem), env(safe-area-inset-bottom));
32
+ padding-bottom: max(25px, env(safe-area-inset-bottom));
33
33
  padding-left: 0;
34
34
  }
35
35
 
@@ -48,7 +48,7 @@
48
48
  grid-template-rows: auto minmax(0, 1fr) auto auto;
49
49
  margin: 0;
50
50
  background: var(--color-background);
51
- border-radius: var(--border-radius-base);
51
+ border-radius: 5px;
52
52
  max-width: var(--profile-modal-panel-max-width);
53
53
  width: var(--profile-modal-panel-width);
54
54
  max-height: var(--profile-modal-panel-max-height);
@@ -63,9 +63,9 @@
63
63
  min-width: 0;
64
64
  padding: var(--profile-modal-panel-block-padding) var(--profile-modal-panel-inline-padding);
65
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));
66
+ border-radius: 5px 5px 0 0;
67
+ border-bottom: 1px solid var(--solid-ui-color-slate-200, #E2E8F0);
68
+ background: var(--solid-ui-color-slate-50, #F8FAFC);
69
69
  }
70
70
 
71
71
  #profile-modal .modal #modal-desc {
@@ -79,7 +79,7 @@
79
79
  }
80
80
 
81
81
  #profile-modal .modal #modal-desc:has(> .profile__edit-form--projects) {
82
- padding: var(--spacing-2xs, 0.625rem) var(--profile-modal-panel-inline-padding);
82
+ padding: 10px var(--profile-modal-panel-inline-padding);
83
83
  }
84
84
 
85
85
  #profile-modal .modal #modal-desc:has(> #contacts-addressbook-picker-dialog) {
@@ -89,7 +89,7 @@
89
89
  #profile-modal #modal-desc > .profile__edit-form--projects {
90
90
  display: flex;
91
91
  flex-direction: column;
92
- gap: var(--spacing-2xs, 0.625rem);
92
+ gap: 10px;
93
93
  }
94
94
 
95
95
  #profile-modal .modal #modal-title {
@@ -97,59 +97,11 @@
97
97
  color: var(--color-text-subheading, var(--gray-900, #101828));
98
98
  }
99
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
100
  #profile-modal .modal:has(#modal-desc > .profile__edit-form--projects) #modal-header-action,
132
101
  #profile-modal .modal:has(#modal-desc > .profile__edit-form--contact-info) #modal-header-action {
133
102
  display: none;
134
103
  }
135
104
 
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
105
  /* button container: center buttons horizontally (uses id in markup) */
154
106
  #profile-modal #modal-buttons {
155
107
  width: 100%;
@@ -158,7 +110,7 @@
158
110
  gap: var(--profile-modal-button-gap);
159
111
  align-self: stretch;
160
112
  box-sizing: border-box;
161
- border-top: var(--border-width-sm, 0.1rem) solid var(--color-border-lighter, var(--slate-200, #E2E8F0));
113
+ border-top: 1px solid var(--solid-ui-color-slate-200, #E2E8F0);
162
114
  background: var(--color-surface-tertiary, var(--gray-50, #F9FAFB));
163
115
  }
164
116
 
@@ -170,37 +122,14 @@
170
122
  width: 10.8rem;
171
123
  }
172
124
 
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
125
  #profile-modal .modal__error-section {
197
126
  margin-top: var(--spacing-sm);
198
127
  margin-bottom: 0;
199
128
  padding: var(--profile-modal-error-padding);
200
129
  border: 1px solid var(--dialog-error-border, var(--pink-700, #ff98b3));
201
- border-radius: var(--border-radius-base);
130
+ border-radius: 5px;
202
131
  background: var(--dialog-error-background, var(--pink-500, #ffdde6));
203
- color: var(--dialog-error-text, var(--red-600, #B00020));
132
+ color: var(--solid-ui-color-error, #B00020);
204
133
  text-align: center;
205
134
  white-space: pre-wrap;
206
135
  overflow-wrap: anywhere;
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../src/ui/dialog.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAA;AACrB,OAAO,4BAA4B,CAAA;AA+FnC,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"}
1
+ {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../src/ui/dialog.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAA;AACrB,OAAO,4BAA4B,CAAA;AA+FnC,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;AAiRD,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,CAsFlG"}
package/lib/ui/dialog.js CHANGED
@@ -280,9 +280,7 @@ function openModal({
280
280
  };
281
281
  if (resolvedHeaderAction.type === 'close') {
282
282
  const closeButton = dom.createElement('solid-ui-button');
283
- closeButton.setAttribute('type', 'button');
284
- closeButton.setAttribute('variant', 'icon');
285
- closeButton.setAttribute('size', 'sm');
283
+ closeButton.setAttribute('variant', 'ghost');
286
284
  closeButton.setAttribute('aria-label', 'Close dialog');
287
285
  const iconSlot = dom.createElement('span');
288
286
  iconSlot.setAttribute('slot', 'icon');
@@ -292,10 +290,8 @@ function openModal({
292
290
  elements.headerAction.appendChild(closeButton);
293
291
  } else if (resolvedHeaderAction.type === 'button') {
294
292
  const actionButton = dom.createElement('solid-ui-button');
295
- actionButton.setAttribute('type', 'button');
296
- actionButton.setAttribute('variant', 'secondary');
297
- actionButton.setAttribute('size', 'sm');
298
- actionButton.className = resolvedHeaderAction.className || 'modal__header-action-button profile__action-button profile-action-text flex-center';
293
+ actionButton.setAttribute('variant', 'tertiary');
294
+ actionButton.className = resolvedHeaderAction.className || '';
299
295
  actionButton.textContent = resolvedHeaderAction.label;
300
296
  actionButton.setAttribute('label', resolvedHeaderAction.label);
301
297
  actionButton.setAttribute('aria-label', resolvedHeaderAction.ariaLabel || resolvedHeaderAction.label);
@@ -308,9 +304,7 @@ function openModal({
308
304
  }
309
305
  buttons.forEach(btn => {
310
306
  const b = dom.createElement('solid-ui-button');
311
- b.setAttribute('type', 'button');
312
307
  b.setAttribute('label', btn.label);
313
- b.setAttribute('size', 'md');
314
308
  b.setAttribute('variant', btn.primary ? 'primary' : 'secondary');
315
309
  b.textContent = btn.label;
316
310
  if (btn.primary) {
@@ -405,6 +399,8 @@ function openInputDialog(options) {
405
399
  const submitProxy = options.dom.createElement('button');
406
400
  submitProxy.type = 'submit';
407
401
  submitProxy.hidden = true;
402
+ submitProxy.style.display = 'none';
403
+ submitProxy.setAttribute('aria-hidden', 'true');
408
404
  submitProxy.tabIndex = -1;
409
405
  options.form.appendChild(submitProxy);
410
406
  const handleSubmit = event => {
@@ -2,15 +2,15 @@
2
2
 
3
3
  #profile-modal .modal:has(.profile-edit-dialog__social-account-select[popup-open]) #modal-desc,
4
4
  #profile-modal .modal:has(#modal-desc > .profile__edit-form solid-ui-combobox:focus-within) #modal-desc {
5
- padding-bottom: calc(var(--profile-modal-panel-inline-padding) + 1.875rem);
5
+ padding-bottom: calc(var(--profile-modal-panel-inline-padding) + 30px);
6
6
  }
7
7
 
8
8
  @media (max-width: 576px) {
9
9
  #profile-modal {
10
- --profile-modal-panel-max-height: calc(100dvh - 4 * var(--spacing-sm));
10
+ --profile-modal-panel-max-height: calc(100dvh - 4 * 15px);
11
11
  padding-top: env(safe-area-inset-top);
12
12
  padding-right: 0;
13
- padding-bottom: max(var(--spacing-sm), env(safe-area-inset-bottom));
13
+ padding-bottom: max(15px, env(safe-area-inset-bottom));
14
14
  padding-left: 0;
15
15
  place-items: center;
16
16
  }
@@ -20,7 +20,7 @@
20
20
  max-width: var(--profile-modal-panel-max-width);
21
21
  min-width: 0;
22
22
  padding: 0;
23
- border-radius: var(--border-radius-base);
23
+ border-radius: 5px;
24
24
  overscroll-behavior: contain;
25
25
  justify-self: center;
26
26
  align-self: center;
@@ -28,27 +28,27 @@
28
28
  }
29
29
 
30
30
  #profile-modal .modal .modal-header {
31
- gap: var(--spacing-lg, 1.5625rem);
32
- padding: var(--spacing-sm, 0.938rem);
31
+ gap: 25px;
32
+ padding: 15px;
33
33
  }
34
34
 
35
35
  #profile-modal .modal #modal-title {
36
- font-size: var(--font-size-lg, 1.125rem);
37
- line-height: var(--line-height-tight, 1.4);
36
+ font-size: var(--solid-ui-font-size-lg, 1.125rem);
37
+ line-height: 1.4;
38
38
  }
39
39
 
40
40
  #profile-modal .modal #modal-desc {
41
- padding: var(--spacing-sm, 0.938rem) var(--spacing-sm, 0.938rem) var(--spacing-lg, 1.5625rem);
41
+ padding: 15px 15px 25px;
42
42
  }
43
43
 
44
44
  #profile-modal .modal #modal-desc:has(> .profile__edit-form--projects) {
45
- padding: var(--spacing-sm, 0.938rem) var(--spacing-sm, 0.938rem) var(--spacing-lg, 1.5625rem);
45
+ padding: 15px 15px 25px;
46
46
  }
47
47
 
48
48
  #profile-modal #modal-desc > .profile__edit-form--bio {
49
49
  display: flex;
50
50
  flex-direction: column;
51
- gap: var(--spacing-md, 1.25rem);
51
+ gap: 20px;
52
52
  }
53
53
 
54
54
  #profile-modal #modal-buttons {
@@ -64,15 +64,14 @@
64
64
  flex: 1 0 0;
65
65
  width: auto;
66
66
  min-width: 0;
67
- --button-font-size-md: var(--font-size-md, 1rem);
68
67
  }
69
68
  }
70
69
 
71
70
  html[data-layout='mobile'] #profile-modal {
72
- --profile-modal-panel-max-height: calc(100dvh - 4 * var(--spacing-sm));
71
+ --profile-modal-panel-max-height: calc(100dvh - 4 * 15px);
73
72
  padding-top: env(safe-area-inset-top);
74
73
  padding-right: 0;
75
- padding-bottom: max(var(--spacing-sm), env(safe-area-inset-bottom));
74
+ padding-bottom: max(15px, env(safe-area-inset-bottom));
76
75
  padding-left: 0;
77
76
  place-items: center;
78
77
  }
@@ -84,7 +83,7 @@ html[data-layout='mobile'] #profile-modal .modal {
84
83
  max-width: var(--profile-modal-panel-max-width);
85
84
  min-width: 0;
86
85
  padding: 0;
87
- border-radius: var(--border-radius-base);
86
+ border-radius: 5px;
88
87
  overscroll-behavior: contain;
89
88
  justify-self: center;
90
89
  align-self: center;
@@ -92,27 +91,27 @@ html[data-layout='mobile'] #profile-modal .modal {
92
91
  }
93
92
 
94
93
  html[data-layout='mobile'] #profile-modal .modal .modal-header {
95
- gap: var(--spacing-lg, 1.5625rem);
96
- padding: var(--spacing-sm, 0.938rem);
94
+ gap: 25px;
95
+ padding: 15px;
97
96
  }
98
97
 
99
98
  html[data-layout='mobile'] #profile-modal .modal #modal-title {
100
- font-size: var(--font-size-lg, 1.125rem);
101
- line-height: var(--line-height-tight, 1.4);
99
+ font-size: var(--solid-ui-font-size-lg, 1.125rem);
100
+ line-height: 1.4;
102
101
  }
103
102
 
104
103
  html[data-layout='mobile'] #profile-modal .modal #modal-desc {
105
- padding: var(--spacing-sm, 0.938rem) var(--spacing-sm, 0.938rem) var(--spacing-lg, 1.5625rem);
104
+ padding: 15px 15px 25px;
106
105
  }
107
106
 
108
107
  html[data-layout='mobile'] #profile-modal .modal #modal-desc:has(> .profile__edit-form--projects) {
109
- padding: var(--spacing-sm, 0.938rem) var(--spacing-sm, 0.938rem) var(--spacing-lg, 1.5625rem);
108
+ padding: 10px 15px 25px;
110
109
  }
111
110
 
112
111
  html[data-layout='mobile'] #profile-modal #modal-desc > .profile__edit-form--bio {
113
112
  display: flex;
114
113
  flex-direction: column;
115
- gap: var(--spacing-md, 1.25rem);
114
+ gap: 20px;
116
115
  }
117
116
 
118
117
  html[data-layout='mobile'] #profile-modal #modal-buttons {
@@ -128,15 +127,14 @@ html[data-layout='mobile'] #profile-modal #modal-buttons > solid-ui-button {
128
127
  flex: 1 0 0;
129
128
  width: auto;
130
129
  min-width: 0;
131
- --button-font-size-md: var(--font-size-md, 1rem);
132
130
  }
133
131
 
134
132
  @container profile-pane (max-width: 576px) {
135
133
  #profile-modal {
136
- --profile-modal-panel-max-height: calc(100dvh - 4 * var(--spacing-sm));
134
+ --profile-modal-panel-max-height: calc(100dvh - 4 * 15px);
137
135
  padding-top: env(safe-area-inset-top);
138
136
  padding-right: 0;
139
- padding-bottom: max(var(--spacing-sm), env(safe-area-inset-bottom));
137
+ padding-bottom: max(15px, env(safe-area-inset-bottom));
140
138
  padding-left: 0;
141
139
  place-items: center;
142
140
  }
@@ -146,7 +144,7 @@ html[data-layout='mobile'] #profile-modal #modal-buttons > solid-ui-button {
146
144
  max-width: var(--profile-modal-panel-max-width);
147
145
  min-width: 0;
148
146
  padding: 0;
149
- border-radius: var(--border-radius-base);
147
+ border-radius: 5px;
150
148
  overscroll-behavior: contain;
151
149
  justify-self: center;
152
150
  align-self: center;
@@ -154,27 +152,27 @@ html[data-layout='mobile'] #profile-modal #modal-buttons > solid-ui-button {
154
152
  }
155
153
 
156
154
  #profile-modal .modal .modal-header {
157
- gap: var(--spacing-lg, 1.5625rem);
158
- padding: var(--spacing-sm, 0.938rem);
155
+ gap: 25px;
156
+ padding: 15px;
159
157
  }
160
158
 
161
159
  #profile-modal .modal #modal-title {
162
- font-size: var(--font-size-lg, 1.125rem);
163
- line-height: var(--line-height-tight, 1.4);
160
+ font-size: var(--solid-ui-font-size-lg, 1.125rem);
161
+ line-height: 1.4;
164
162
  }
165
163
 
166
164
  #profile-modal .modal #modal-desc {
167
- padding: var(--spacing-sm, 0.938rem) var(--spacing-sm, 0.938rem) var(--spacing-lg, 1.5625rem);
165
+ padding: 15px 15px 25px;
168
166
  }
169
167
 
170
168
  #profile-modal .modal #modal-desc:has(> .profile__edit-form--projects) {
171
- padding: var(--spacing-sm, 0.938rem) var(--spacing-sm, 0.938rem) var(--spacing-lg, 1.5625rem);
169
+ padding: 10px 15px 25px;
172
170
  }
173
171
 
174
172
  #profile-modal #modal-desc > .profile__edit-form--bio {
175
173
  display: flex;
176
174
  flex-direction: column;
177
- gap: var(--spacing-md, 1.25rem);
175
+ gap: 20px;
178
176
  }
179
177
 
180
178
  #profile-modal #modal-buttons {
@@ -190,6 +188,5 @@ html[data-layout='mobile'] #profile-modal #modal-buttons > solid-ui-button {
190
188
  flex: 1 0 0;
191
189
  width: auto;
192
190
  min-width: 0;
193
- --button-font-size-md: var(--font-size-md, 1rem);
194
191
  }
195
192
  }
@@ -0,0 +1,19 @@
1
+ import { nothing, TemplateResult } from 'lit-html';
2
+ import 'solid-ui/components/button';
3
+ import { Layout } from '../types';
4
+ type ResponsiveActionButtonOptions = {
5
+ layout?: Layout;
6
+ className: string;
7
+ ariaLabel: string;
8
+ variant?: {
9
+ desktop: string;
10
+ mobile: string;
11
+ };
12
+ onClick: (event: Event) => void;
13
+ desktopIcon?: TemplateResult | typeof nothing;
14
+ desktopLabel?: string;
15
+ mobileIcon?: TemplateResult | typeof nothing;
16
+ };
17
+ export declare function renderResponsiveActionButton({ layout, className, ariaLabel, variant, onClick, desktopIcon, desktopLabel, mobileIcon }: ResponsiveActionButtonOptions): TemplateResult;
18
+ export {};
19
+ //# sourceMappingURL=responsiveActionButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responsiveActionButton.d.ts","sourceRoot":"","sources":["../../src/ui/responsiveActionButton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACxD,OAAO,4BAA4B,CAAA;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,KAAK,6BAA6B,GAAG;IACnC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE;QACR,OAAO,EAAE,MAAM,CAAA;QACf,MAAM,EAAE,MAAM,CAAA;KACf,CAAA;IACD,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAC/B,WAAW,CAAC,EAAE,cAAc,GAAG,OAAO,OAAO,CAAA;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,cAAc,GAAG,OAAO,OAAO,CAAA;CAC7C,CAAA;AAED,wBAAgB,4BAA4B,CAAC,EAC3C,MAAkB,EAClB,SAAS,EACT,SAAS,EACT,OAGC,EACD,OAAO,EACP,WAAqB,EACrB,YAAY,EACZ,UAAoB,EACrB,EAAE,6BAA6B,GAAG,cAAc,CAahD"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.renderResponsiveActionButton = renderResponsiveActionButton;
7
+ var _litHtml = require("lit-html");
8
+ require("solid-ui/components/button");
9
+ function renderResponsiveActionButton({
10
+ layout = 'desktop',
11
+ className,
12
+ ariaLabel,
13
+ variant = {
14
+ desktop: 'tertiary',
15
+ mobile: 'ghost'
16
+ },
17
+ onClick,
18
+ desktopIcon = _litHtml.nothing,
19
+ desktopLabel,
20
+ mobileIcon = _litHtml.nothing
21
+ }) {
22
+ return (0, _litHtml.html)`
23
+ <solid-ui-button
24
+ variant=${layout === 'desktop' ? variant.desktop : variant.mobile}
25
+ class=${className}
26
+ aria-label=${ariaLabel}
27
+ @click=${onClick}
28
+ >
29
+ ${layout === 'desktop' ? desktopIcon : _litHtml.nothing}
30
+ ${layout === 'desktop' && desktopLabel ? (0, _litHtml.html)`<span class="profile-section-collapsible__action-label">${desktopLabel}</span>` : _litHtml.nothing}
31
+ ${layout === 'mobile' ? mobileIcon : _litHtml.nothing}
32
+ </solid-ui-button>
33
+ `;
34
+ }
@@ -0,0 +1,2 @@
1
+ export declare function createResizeDrivenSync(update: () => void, observedElements: Array<HTMLElement | null | undefined>): () => void;
2
+ //# sourceMappingURL=resize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resize.d.ts","sourceRoot":"","sources":["../../src/utils/resize.ts"],"names":[],"mappings":"AAAA,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,IAAI,EAClB,gBAAgB,EAAE,KAAK,CAAC,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC,GACtD,MAAM,IAAI,CA0CZ"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createResizeDrivenSync = createResizeDrivenSync;
7
+ function createResizeDrivenSync(update, observedElements) {
8
+ let animationFrameId = 0;
9
+ const scheduleUpdate = () => {
10
+ if (animationFrameId !== 0) {
11
+ return;
12
+ }
13
+ animationFrameId = window.requestAnimationFrame(() => {
14
+ animationFrameId = 0;
15
+ update();
16
+ });
17
+ };
18
+ update();
19
+ if (typeof ResizeObserver === 'undefined') {
20
+ window.addEventListener('resize', scheduleUpdate);
21
+ return () => {
22
+ if (animationFrameId !== 0) {
23
+ window.cancelAnimationFrame(animationFrameId);
24
+ }
25
+ window.removeEventListener('resize', scheduleUpdate);
26
+ };
27
+ }
28
+ const resizeObserver = new ResizeObserver(scheduleUpdate);
29
+ for (const observedElement of observedElements) {
30
+ if (observedElement) {
31
+ resizeObserver.observe(observedElement);
32
+ }
33
+ }
34
+ return () => {
35
+ if (animationFrameId !== 0) {
36
+ window.cancelAnimationFrame(animationFrameId);
37
+ }
38
+ resizeObserver.disconnect();
39
+ };
40
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "profile-pane",
3
- "version": "3.2.3-0",
3
+ "version": "3.2.3-2",
4
4
  "description": "A SolidOS compatible pane to display a personal profile page",
5
5
  "sideEffects": [
6
6
  "*.css"
@@ -19,15 +19,13 @@
19
19
  ],
20
20
  "scripts": {
21
21
  "clean": "rm -rf lib",
22
- "build": "npm run clean && npm run typecheck && npm run build-dist && npm run build-js",
22
+ "build": "npm run clean && npm run typecheck && npm run build-js && npm run build-dist",
23
23
  "build-js": "babel src --out-dir lib --extensions '.ts' --copy-files && tsc --emitDeclarationOnly",
24
24
  "build-dist": "webpack --progress",
25
25
  "dev": "sh -c 'npm run watch & npm run start'",
26
- "watch": "sh -c 'npm run watch:solid-ui & npm run watch-js & npm run watch-styles & npm run watch-dist & wait'",
27
- "watch:workspace": "sh -c 'npm run watch-js & npm run watch-styles & npm run watch-dist & wait'",
28
- "watch:solid-ui": "sh -c 'cd ../solid-ui && npm run watch'",
26
+ "watch": "sh -c 'npm run watch-js & npm run watch-dist & wait'",
27
+ "watch:workspace": "sh -c 'npm run watch-js & npm run watch-dist & wait'",
29
28
  "watch-js": "babel src --out-dir lib --extensions '.ts' --copy-files --watch",
30
- "watch-styles": "node scripts/watch-styles.mjs",
31
29
  "watch-dist": "webpack --watch",
32
30
  "lint": "eslint",
33
31
  "lint-fix": "eslint --fix",
@@ -38,7 +36,6 @@
38
36
  "prepush": "npm test && npm run lint-fix && npm run typecheck && npm run typecheck-test",
39
37
  "ignore:prepublishOnly": "npm run test && npm run build",
40
38
  "preversion": "npm run lint && npm run typecheck && npm test",
41
- "ignore:postpublish": "git push origin main --follow-tags",
42
39
  "start": "webpack serve --config webpack.dev.config.mjs --open"
43
40
  },
44
41
  "keywords": [
@@ -57,16 +54,11 @@
57
54
  "dependencies": {
58
55
  "@solid-data-modules/contacts-rdflib": "^0.7.1",
59
56
  "lit-html": "^3.3.3",
60
- "pane-registry": "^3.1.2-test.0",
57
+ "pane-registry": "3.1.2-1",
61
58
  "patch-package": "^8.0.1",
62
59
  "qrcode": "^1.5.4",
63
60
  "validate-color": "^2.2.4"
64
61
  },
65
- "peerDependencies": {
66
- "rdflib": "^2.3.9",
67
- "solid-logic": "^4.0.8-test.0",
68
- "solid-ui": "^3.1.3-0"
69
- },
70
62
  "overrides": {
71
63
  "rdflib": "$rdflib",
72
64
  "solid-logic": "$solid-logic",
@@ -80,6 +72,7 @@
80
72
  "@testing-library/dom": "^10.4.1",
81
73
  "@testing-library/jest-dom": "^6.9.1",
82
74
  "@types/jest": "^30.0.0",
75
+ "@types/node": "^24.13.2",
83
76
  "@typescript-eslint/eslint-plugin": "^8.59.3",
84
77
  "@typescript-eslint/parser": "^8.59.3",
85
78
  "axe-core": "^4.11.4",
@@ -87,8 +80,7 @@
87
80
  "babel-loader": "^10.1.1",
88
81
  "babel-plugin-inline-import": "^3.0.0",
89
82
  "babel-plugin-transform-import-meta": "^2.3.3",
90
- "chat-pane": "^3.0.4-0",
91
- "contacts-pane": "^3.2.1-1",
83
+ "chat-pane": "3.0.4-1",
92
84
  "copy-webpack-plugin": "^14.0.0",
93
85
  "css-loader": "^7.1.4",
94
86
  "eslint": "^9.39.4",
@@ -98,15 +90,23 @@
98
90
  "jest-fetch-mock": "^3.0.3",
99
91
  "jsdom": "^29.1.1",
100
92
  "node-polyfill-webpack-plugin": "^4.1.0",
101
- "rdflib": "^2.3.9",
102
- "solid-logic": "^4.0.8-test.0",
103
- "solid-ui": "^3.1.3-0",
93
+ "rdflib": "2.4.0",
94
+ "solid-logic": "4.0.8-1",
95
+ "solid-ui": "3.1.3-9",
104
96
  "style-loader": "^4.0.0",
105
97
  "terser-webpack-plugin": "^5.6.0",
106
98
  "ts-loader": "^9.5.7",
107
99
  "typescript": "^6.0.3",
100
+ "undici-types": "^7.18.2",
108
101
  "webpack": "^5.106.2",
109
102
  "webpack-cli": "^7.0.2",
110
103
  "webpack-dev-server": "^5.2.4"
111
- }
104
+ },
105
+ "solidosDependencies": [
106
+ "rdflib",
107
+ "solid-logic",
108
+ "solid-ui",
109
+ "pane-registry",
110
+ "chat-pane"
111
+ ]
112
112
  }