openproject-primer_view_components 0.79.1 → 0.80.1

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 (40) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +18 -0
  3. data/app/assets/javascripts/components/primer/open_project/avatar_fallback.d.ts +20 -7
  4. data/app/assets/javascripts/primer_view_components.js +1 -1
  5. data/app/assets/javascripts/primer_view_components.js.map +1 -1
  6. data/app/assets/styles/primer_view_components.css +1 -1
  7. data/app/assets/styles/primer_view_components.css.map +1 -1
  8. data/app/components/primer/open_project/avatar_fallback.d.ts +20 -7
  9. data/app/components/primer/open_project/avatar_fallback.js +47 -44
  10. data/app/components/primer/open_project/avatar_fallback.ts +49 -38
  11. data/app/components/primer/open_project/avatar_with_fallback.rb +11 -12
  12. data/app/components/primer/open_project/fieldset.html.erb +8 -0
  13. data/app/components/primer/open_project/fieldset.rb +66 -0
  14. data/app/components/primer/open_project/inline_message.css +1 -0
  15. data/app/components/primer/open_project/inline_message.css.json +13 -0
  16. data/app/components/primer/open_project/inline_message.css.map +1 -0
  17. data/app/components/primer/open_project/inline_message.html.erb +4 -0
  18. data/app/components/primer/open_project/inline_message.pcss +42 -0
  19. data/app/components/primer/open_project/inline_message.rb +65 -0
  20. data/app/components/primer/open_project/page_header.rb +18 -1
  21. data/app/components/primer/primer.pcss +1 -0
  22. data/app/lib/primer/forms/dsl/fieldset_group_input.rb +35 -0
  23. data/app/lib/primer/forms/dsl/form_object.rb +4 -0
  24. data/app/lib/primer/forms/fieldset_group.html.erb +10 -0
  25. data/app/lib/primer/forms/fieldset_group.rb +54 -0
  26. data/lib/primer/view_components/version.rb +1 -1
  27. data/previews/primer/forms_preview/fieldset_group_form.html.erb +40 -0
  28. data/previews/primer/forms_preview.rb +3 -0
  29. data/previews/primer/open_project/inline_message_preview/default.html.erb +5 -0
  30. data/previews/primer/open_project/inline_message_preview/playground.html.erb +5 -0
  31. data/previews/primer/open_project/inline_message_preview.rb +22 -0
  32. data/static/arguments.json +67 -2
  33. data/static/audited_at.json +3 -0
  34. data/static/classes.json +6 -0
  35. data/static/constants.json +22 -0
  36. data/static/form_previews.json +5 -0
  37. data/static/info_arch.json +145 -3
  38. data/static/previews.json +34 -0
  39. data/static/statuses.json +3 -0
  40. metadata +17 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4c27a2048d855b50b44583e5033d3e775f4b94ff0ad7b21e3e03a32600d39294
4
- data.tar.gz: 3d778e9b1f32e2843856d62ba77b5c198a972c4559d427858635631fafe67260
3
+ metadata.gz: 0722f7ac9de98cc92eda624235882499240a1bb4709c1d2d191e23460e48dacb
4
+ data.tar.gz: 82fb26c58d4fc0dfe4697a4da79eb7052019bcb8dec74d4c086c2028d5aeaa6c
5
5
  SHA512:
6
- metadata.gz: 4a0e997fcc27719b689aa4bcfd58fee8b7795e7d7d2eec629ecec25ee9687fe0862a06c49d0034a48775177573c27c664887d628453ee70500013f5f84d4c0c7
7
- data.tar.gz: a355b00ffd67398847877e40156171903e35c11f5c7d19da2fd5b2d3cccfce8b976dcd81535a5a5b70e1f318e07f0354a0b9ef57bdb9d3e448f03e3c32667774
6
+ metadata.gz: 30cbda9d659cd251a006545e51be073e00e7129bcd6ec92baf379be73003aea38fd19944e97182bf181a4681126ac7619b6f894b482ba30f083059e193bdc847
7
+ data.tar.gz: 8af1e94a287f949f51b0bbe0603235317ada991fd1b1a7e72d636cc5b6c2575d472a36018b93f9798949690967da6aa6327621d239a2af568c644aa3a15d4313
data/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 0.80.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#400](https://github.com/opf/primer_view_components/pull/400) [`9ac633f`](https://github.com/opf/primer_view_components/commit/9ac633f17d66ceb4949eabaa577532a355da8c85) Thanks [@akabiru](https://github.com/akabiru)! - Fix flickering in AvatarWithFallback client-side fallback handling for broken avatar urls
8
+
9
+ ## 0.80.0
10
+
11
+ ### Minor Changes
12
+
13
+ - [#403](https://github.com/opf/primer_view_components/pull/403) [`f6a5bf3`](https://github.com/opf/primer_view_components/commit/f6a5bf38192a37dfe474558a0bc63f1e5e5b91e8) Thanks [@bsatarnejad](https://github.com/bsatarnejad)! - [70200] Create inline message component
14
+
15
+ - [#404](https://github.com/opf/primer_view_components/pull/404) [`a2724da`](https://github.com/opf/primer_view_components/commit/a2724dadd17e1b663d9e195edaf20edf2272a3bc) Thanks [@bsatarnejad](https://github.com/bsatarnejad)! - [70200] Create fieldset component
16
+
17
+ ### Patch Changes
18
+
19
+ - [#401](https://github.com/opf/primer_view_components/pull/401) [`7323388`](https://github.com/opf/primer_view_components/commit/7323388e6c9b15191f22c69b63b3da5f8a1257f4) Thanks [@bsatarnejad](https://github.com/bsatarnejad)! - Allow PageHeader actions to accept an explicitly provided size
20
+
3
21
  ## 0.79.1
4
22
 
5
23
  ### Patch Changes
@@ -1,15 +1,28 @@
1
+ /**
2
+ * AvatarFallbackElement implements "fallback first" loading pattern:
3
+ * 1. Fallback SVG is rendered immediately as <img> src
4
+ * 2. Real avatar URL is test-loaded in background using new Image()
5
+ * 3. On success, swaps to real image; on failure, fallback stays visible
6
+ *
7
+ * This approach prevents flicker by never showing a broken image state.
8
+ * Inspired by OpenProject's Angular PrincipalRendererService.
9
+ *
10
+ * Note: We read attributes directly via getAttribute() instead of using @attr
11
+ * due to a Catalyst bug where @attr accessors aren't properly initialized
12
+ * when elements have pre-existing attribute values.
13
+ */
1
14
  export declare class AvatarFallbackElement extends HTMLElement {
2
- uniqueId: string;
3
- altText: string;
4
- fallbackSrc: string;
5
15
  private img;
6
- private boundErrorHandler?;
16
+ private testImage;
7
17
  connectedCallback(): void;
8
18
  disconnectedCallback(): void;
9
- private isImageBroken;
10
- private handleImageError;
19
+ /**
20
+ * Test-loads the real avatar URL in background.
21
+ * On success, swaps the visible img to the real URL.
22
+ * On failure, does nothing - fallback stays visible.
23
+ */
24
+ private testLoadImage;
11
25
  private applyColor;
12
26
  private valueHash;
13
27
  private updateSvgColor;
14
- private isFallbackImage;
15
28
  }