openproject-primer_view_components 0.60.0 → 0.61.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 (47) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/app/assets/javascripts/components/primer/open_project/border_box/collapsible_header.d.ts +3 -9
  4. data/app/assets/javascripts/components/primer/open_project/collapsible.d.ts +11 -0
  5. data/app/assets/javascripts/components/primer/open_project/collapsible_section.d.ts +10 -0
  6. data/app/assets/javascripts/components/primer/primer.d.ts +2 -0
  7. data/app/assets/javascripts/primer_view_components.js +1 -1
  8. data/app/assets/javascripts/primer_view_components.js.map +1 -1
  9. data/app/assets/styles/primer_view_components.css +1 -1
  10. data/app/assets/styles/primer_view_components.css.map +1 -1
  11. data/app/components/primer/open_project/border_box/collapsible_header.d.ts +3 -9
  12. data/app/components/primer/open_project/border_box/collapsible_header.html.erb +6 -6
  13. data/app/components/primer/open_project/border_box/collapsible_header.js +5 -46
  14. data/app/components/primer/open_project/border_box/collapsible_header.rb +41 -9
  15. data/app/components/primer/open_project/border_box/collapsible_header.ts +5 -47
  16. data/app/components/primer/open_project/collapsible.d.ts +11 -0
  17. data/app/components/primer/open_project/collapsible.js +56 -0
  18. data/app/components/primer/open_project/collapsible.ts +49 -0
  19. data/app/components/primer/open_project/collapsible_section.css +1 -0
  20. data/app/components/primer/open_project/collapsible_section.css.json +6 -0
  21. data/app/components/primer/open_project/collapsible_section.css.map +1 -0
  22. data/app/components/primer/open_project/collapsible_section.d.ts +10 -0
  23. data/app/components/primer/open_project/collapsible_section.html.erb +26 -0
  24. data/app/components/primer/open_project/collapsible_section.js +16 -0
  25. data/app/components/primer/open_project/collapsible_section.pcss +5 -0
  26. data/app/components/primer/open_project/collapsible_section.rb +77 -0
  27. data/app/components/primer/open_project/collapsible_section.ts +15 -0
  28. data/app/components/primer/primer.d.ts +2 -0
  29. data/app/components/primer/primer.js +2 -0
  30. data/app/components/primer/primer.pcss +1 -0
  31. data/app/components/primer/primer.ts +2 -0
  32. data/lib/primer/view_components/version.rb +1 -1
  33. data/previews/primer/open_project/border_box/collapsible_header_preview/playground.html.erb +5 -4
  34. data/previews/primer/open_project/collapsible_section_preview/collapsed.html.erb +9 -0
  35. data/previews/primer/open_project/collapsible_section_preview/default.html.erb +10 -0
  36. data/previews/primer/open_project/collapsible_section_preview/playground.html.erb +22 -0
  37. data/previews/primer/open_project/collapsible_section_preview/with_additional_information.html.erb +16 -0
  38. data/previews/primer/open_project/collapsible_section_preview/with_caption.html.erb +14 -0
  39. data/previews/primer/open_project/collapsible_section_preview.rb +57 -0
  40. data/static/arguments.json +28 -0
  41. data/static/audited_at.json +1 -0
  42. data/static/classes.json +3 -0
  43. data/static/constants.json +13 -0
  44. data/static/info_arch.json +199 -1
  45. data/static/previews.json +73 -0
  46. data/static/statuses.json +1 -0
  47. metadata +22 -2
@@ -0,0 +1,14 @@
1
+ <%= render(Primer::OpenProject::CollapsibleSection.new) do |section| %>
2
+ <% section.with_title { "Wednesday 11" } %>
3
+
4
+ <% section.with_caption { "Today" } %>
5
+
6
+ <% section.with_collapsible_content do %>
7
+ <%= render(Primer::Beta::BorderBox.new) do |component|
8
+ component.with_header { "Header" }
9
+ component.with_body { "Body" }
10
+ component.with_row { "Row one" }
11
+ component.with_row { "Row two" }
12
+ end %>
13
+ <% end %>
14
+ <% end %>
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Setup Playground to use all available component props
4
+ # Setup Features to use individual component props and combinations
5
+
6
+ module Primer
7
+ module OpenProject
8
+ # @label CollapsibleSection
9
+ class CollapsibleSectionPreview < ViewComponent::Preview
10
+ # @label Playground
11
+ # @param caption [String] text
12
+ # @param show_additional_information [Boolean] toggle
13
+ def playground(caption: "(optional)", show_additional_information: false)
14
+ render_with_template(
15
+ template: "primer/open_project/collapsible_section_preview/playground",
16
+ locals: { caption: caption, show_additional_information: show_additional_information}
17
+ )
18
+ end
19
+
20
+ # @label Default
21
+ # @snapshot
22
+ def default
23
+ render_with_template(
24
+ template: "primer/open_project/collapsible_section_preview/default",
25
+ locals: { }
26
+ )
27
+ end
28
+
29
+ # @label With additional information
30
+ # @snapshot
31
+ def with_additional_information
32
+ render_with_template(
33
+ template: "primer/open_project/collapsible_section_preview/with_additional_information",
34
+ locals: { }
35
+ )
36
+ end
37
+
38
+ # @label With caption
39
+ # @snapshot
40
+ def with_caption
41
+ render_with_template(
42
+ template: "primer/open_project/collapsible_section_preview/with_caption",
43
+ locals: { }
44
+ )
45
+ end
46
+
47
+ # @label Collapsed
48
+ # @snapshot
49
+ def collapsed
50
+ render_with_template(
51
+ template: "primer/open_project/collapsible_section_preview/collapsed",
52
+ locals: { }
53
+ )
54
+ end
55
+ end
56
+ end
57
+ end
@@ -5128,6 +5128,12 @@
5128
5128
  "source": "https://github.com/primer/view_components/tree/main/app/components/primer/open_project/border_box/collapsible_header.rb",
5129
5129
  "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/open_project/border_box/collapsible_header/default/",
5130
5130
  "parameters": [
5131
+ {
5132
+ "name": "collapsed",
5133
+ "type": "Boolean",
5134
+ "default": "`false`",
5135
+ "description": "Whether the header is collapsed on initial render."
5136
+ },
5131
5137
  {
5132
5138
  "name": "system_arguments",
5133
5139
  "type": "Hash",
@@ -5174,6 +5180,28 @@
5174
5180
  }
5175
5181
  ]
5176
5182
  },
5183
+ {
5184
+ "component": "OpenProject::CollapsibleSection",
5185
+ "status": "open_project",
5186
+ "a11y_reviewed": false,
5187
+ "short_name": "OpenProjectCollapsibleSection",
5188
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/open_project/collapsible_section.rb",
5189
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/open_project/collapsible_section/default/",
5190
+ "parameters": [
5191
+ {
5192
+ "name": "collapsed",
5193
+ "type": "Boolean",
5194
+ "default": "`false`",
5195
+ "description": "Whether the section is collapsed on initial render."
5196
+ },
5197
+ {
5198
+ "name": "system_arguments",
5199
+ "type": "Hash",
5200
+ "default": "N/A",
5201
+ "description": "[System arguments](/system-arguments)"
5202
+ }
5203
+ ]
5204
+ },
5177
5205
  {
5178
5206
  "component": "OpenProject::DangerDialog",
5179
5207
  "status": "open_project",
@@ -120,6 +120,7 @@
120
120
  "Primer::OpenProject::BorderBox::CollapsibleHeader": "",
121
121
  "Primer::OpenProject::BorderGrid": "",
122
122
  "Primer::OpenProject::BorderGrid::Cell": "",
123
+ "Primer::OpenProject::CollapsibleSection": "",
123
124
  "Primer::OpenProject::DangerDialog": "",
124
125
  "Primer::OpenProject::DangerDialog::ConfirmationCheckBox": "",
125
126
  "Primer::OpenProject::DangerDialog::FormWrapper": "",
data/static/classes.json CHANGED
@@ -243,6 +243,9 @@
243
243
  "CollapsibleHeader": [
244
244
  "Primer::OpenProject::BorderBox::CollapsibleHeader"
245
245
  ],
246
+ "CollapsibleSection--triggerArea": [
247
+ "Primer::OpenProject::CollapsibleSection"
248
+ ],
246
249
  "Counter": [
247
250
  "Primer::Beta::Counter"
248
251
  ],
@@ -1574,6 +1574,19 @@
1574
1574
  "Primer::OpenProject::BorderGrid::Cell": {
1575
1575
  "GeneratedSlotMethods": "Primer::OpenProject::BorderGrid::Cell::GeneratedSlotMethods"
1576
1576
  },
1577
+ "Primer::OpenProject::CollapsibleSection": {
1578
+ "GeneratedSlotMethods": "Primer::OpenProject::CollapsibleSection::GeneratedSlotMethods",
1579
+ "TITLE_TAG_FALLBACK": "h2",
1580
+ "TITLE_TAG_OPTIONS": [
1581
+ "h1",
1582
+ "h2",
1583
+ "h3",
1584
+ "h4",
1585
+ "h5",
1586
+ "h6",
1587
+ "span"
1588
+ ]
1589
+ },
1577
1590
  "Primer::OpenProject::DangerDialog": {
1578
1591
  "ConfirmationCheckBox": "Primer::OpenProject::DangerDialog::ConfirmationCheckBox",
1579
1592
  "FormWrapper": "Primer::OpenProject::DangerDialog::FormWrapper",
@@ -17575,6 +17575,12 @@
17575
17575
  "source": "https://github.com/primer/view_components/tree/main/app/components/primer/open_project/border_box/collapsible_header.rb",
17576
17576
  "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/open_project/border_box/collapsible_header/default/",
17577
17577
  "parameters": [
17578
+ {
17579
+ "name": "collapsed",
17580
+ "type": "Boolean",
17581
+ "default": "`false`",
17582
+ "description": "Whether the header is collapsed on initial render."
17583
+ },
17578
17584
  {
17579
17585
  "name": "system_arguments",
17580
17586
  "type": "Hash",
@@ -17583,7 +17589,42 @@
17583
17589
  }
17584
17590
  ],
17585
17591
  "slots": [
17586
-
17592
+ {
17593
+ "name": "title",
17594
+ "description": "Required title",
17595
+ "parameters": [
17596
+ {
17597
+ "name": "system_arguments",
17598
+ "type": "Hash",
17599
+ "default": "N/A",
17600
+ "description": "{{link_to_system_arguments_docs}}"
17601
+ }
17602
+ ]
17603
+ },
17604
+ {
17605
+ "name": "count",
17606
+ "description": "Optional count",
17607
+ "parameters": [
17608
+ {
17609
+ "name": "system_arguments",
17610
+ "type": "Hash",
17611
+ "default": "N/A",
17612
+ "description": "{{link_to_system_arguments_docs}}"
17613
+ }
17614
+ ]
17615
+ },
17616
+ {
17617
+ "name": "description",
17618
+ "description": "Optional description",
17619
+ "parameters": [
17620
+ {
17621
+ "name": "system_arguments",
17622
+ "type": "Hash",
17623
+ "default": "N/A",
17624
+ "description": "{{link_to_system_arguments_docs}}"
17625
+ }
17626
+ ]
17627
+ }
17587
17628
  ],
17588
17629
  "methods": [
17589
17630
 
@@ -17782,6 +17823,163 @@
17782
17823
 
17783
17824
  ]
17784
17825
  },
17826
+ {
17827
+ "fully_qualified_name": "Primer::OpenProject::CollapsibleSection",
17828
+ "description": "A component consisting of a title and collapsible content.\nClicking the title will hide the collapsible content",
17829
+ "accessibility_docs": null,
17830
+ "is_form_component": false,
17831
+ "is_published": true,
17832
+ "requires_js": false,
17833
+ "component": "OpenProject::CollapsibleSection",
17834
+ "status": "open_project",
17835
+ "a11y_reviewed": false,
17836
+ "short_name": "OpenProjectCollapsibleSection",
17837
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/open_project/collapsible_section.rb",
17838
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/open_project/collapsible_section/default/",
17839
+ "parameters": [
17840
+ {
17841
+ "name": "collapsed",
17842
+ "type": "Boolean",
17843
+ "default": "`false`",
17844
+ "description": "Whether the section is collapsed on initial render."
17845
+ },
17846
+ {
17847
+ "name": "system_arguments",
17848
+ "type": "Hash",
17849
+ "default": "N/A",
17850
+ "description": "{{link_to_system_arguments_docs}}"
17851
+ }
17852
+ ],
17853
+ "slots": [
17854
+ {
17855
+ "name": "title",
17856
+ "description": "Required Title",
17857
+ "parameters": [
17858
+ {
17859
+ "name": "tag",
17860
+ "type": "Symbol",
17861
+ "default": "N/A",
17862
+ "description": "Customize the element type of the rendered title container."
17863
+ },
17864
+ {
17865
+ "name": "system_arguments",
17866
+ "type": "Hash",
17867
+ "default": "N/A",
17868
+ "description": "{{link_to_system_arguments_docs}}"
17869
+ }
17870
+ ]
17871
+ },
17872
+ {
17873
+ "name": "caption",
17874
+ "description": "Optional caption",
17875
+ "parameters": [
17876
+ {
17877
+ "name": "system_arguments",
17878
+ "type": "Hash",
17879
+ "default": "N/A",
17880
+ "description": "{{link_to_system_arguments_docs}}"
17881
+ }
17882
+ ]
17883
+ },
17884
+ {
17885
+ "name": "additional_information",
17886
+ "description": "Optional right-side content",
17887
+ "parameters": [
17888
+ {
17889
+ "name": "system_arguments",
17890
+ "type": "Hash",
17891
+ "default": "N/A",
17892
+ "description": "{{link_to_system_arguments_docs}}"
17893
+ }
17894
+ ]
17895
+ },
17896
+ {
17897
+ "name": "collapsible_content",
17898
+ "description": "Required collapsible content",
17899
+ "parameters": [
17900
+ {
17901
+ "name": "system_arguments",
17902
+ "type": "Hash",
17903
+ "default": "N/A",
17904
+ "description": "{{link_to_system_arguments_docs}}"
17905
+ }
17906
+ ]
17907
+ }
17908
+ ],
17909
+ "methods": [
17910
+
17911
+ ],
17912
+ "previews": [
17913
+ {
17914
+ "preview_path": "primer/open_project/collapsible_section/playground",
17915
+ "name": "playground",
17916
+ "snapshot": "false",
17917
+ "skip_rules": {
17918
+ "wont_fix": [
17919
+ "region"
17920
+ ],
17921
+ "will_fix": [
17922
+ "color-contrast"
17923
+ ]
17924
+ }
17925
+ },
17926
+ {
17927
+ "preview_path": "primer/open_project/collapsible_section/default",
17928
+ "name": "default",
17929
+ "snapshot": "true",
17930
+ "skip_rules": {
17931
+ "wont_fix": [
17932
+ "region"
17933
+ ],
17934
+ "will_fix": [
17935
+ "color-contrast"
17936
+ ]
17937
+ }
17938
+ },
17939
+ {
17940
+ "preview_path": "primer/open_project/collapsible_section/with_additional_information",
17941
+ "name": "with_additional_information",
17942
+ "snapshot": "true",
17943
+ "skip_rules": {
17944
+ "wont_fix": [
17945
+ "region"
17946
+ ],
17947
+ "will_fix": [
17948
+ "color-contrast"
17949
+ ]
17950
+ }
17951
+ },
17952
+ {
17953
+ "preview_path": "primer/open_project/collapsible_section/with_caption",
17954
+ "name": "with_caption",
17955
+ "snapshot": "true",
17956
+ "skip_rules": {
17957
+ "wont_fix": [
17958
+ "region"
17959
+ ],
17960
+ "will_fix": [
17961
+ "color-contrast"
17962
+ ]
17963
+ }
17964
+ },
17965
+ {
17966
+ "preview_path": "primer/open_project/collapsible_section/collapsed",
17967
+ "name": "collapsed",
17968
+ "snapshot": "true",
17969
+ "skip_rules": {
17970
+ "wont_fix": [
17971
+ "region"
17972
+ ],
17973
+ "will_fix": [
17974
+ "color-contrast"
17975
+ ]
17976
+ }
17977
+ }
17978
+ ],
17979
+ "subcomponents": [
17980
+
17981
+ ]
17982
+ },
17785
17983
  {
17786
17984
  "fully_qualified_name": "Primer::OpenProject::DangerDialog",
17787
17985
  "description": "A pre-configured dialog for destructive/\"potentially dangerous\" actions",
data/static/previews.json CHANGED
@@ -3043,6 +3043,79 @@
3043
3043
  }
3044
3044
  ]
3045
3045
  },
3046
+ {
3047
+ "name": "collapsible_section",
3048
+ "component": "OpenProject::CollapsibleSection",
3049
+ "status": "open_project",
3050
+ "lookup_path": "primer/open_project/collapsible_section",
3051
+ "examples": [
3052
+ {
3053
+ "preview_path": "primer/open_project/collapsible_section/playground",
3054
+ "name": "playground",
3055
+ "snapshot": "false",
3056
+ "skip_rules": {
3057
+ "wont_fix": [
3058
+ "region"
3059
+ ],
3060
+ "will_fix": [
3061
+ "color-contrast"
3062
+ ]
3063
+ }
3064
+ },
3065
+ {
3066
+ "preview_path": "primer/open_project/collapsible_section/default",
3067
+ "name": "default",
3068
+ "snapshot": "true",
3069
+ "skip_rules": {
3070
+ "wont_fix": [
3071
+ "region"
3072
+ ],
3073
+ "will_fix": [
3074
+ "color-contrast"
3075
+ ]
3076
+ }
3077
+ },
3078
+ {
3079
+ "preview_path": "primer/open_project/collapsible_section/with_additional_information",
3080
+ "name": "with_additional_information",
3081
+ "snapshot": "true",
3082
+ "skip_rules": {
3083
+ "wont_fix": [
3084
+ "region"
3085
+ ],
3086
+ "will_fix": [
3087
+ "color-contrast"
3088
+ ]
3089
+ }
3090
+ },
3091
+ {
3092
+ "preview_path": "primer/open_project/collapsible_section/with_caption",
3093
+ "name": "with_caption",
3094
+ "snapshot": "true",
3095
+ "skip_rules": {
3096
+ "wont_fix": [
3097
+ "region"
3098
+ ],
3099
+ "will_fix": [
3100
+ "color-contrast"
3101
+ ]
3102
+ }
3103
+ },
3104
+ {
3105
+ "preview_path": "primer/open_project/collapsible_section/collapsed",
3106
+ "name": "collapsed",
3107
+ "snapshot": "true",
3108
+ "skip_rules": {
3109
+ "wont_fix": [
3110
+ "region"
3111
+ ],
3112
+ "will_fix": [
3113
+ "color-contrast"
3114
+ ]
3115
+ }
3116
+ }
3117
+ ]
3118
+ },
3046
3119
  {
3047
3120
  "name": "counter",
3048
3121
  "component": "Counter",
data/static/statuses.json CHANGED
@@ -120,6 +120,7 @@
120
120
  "Primer::OpenProject::BorderBox::CollapsibleHeader": "open_project",
121
121
  "Primer::OpenProject::BorderGrid": "open_project",
122
122
  "Primer::OpenProject::BorderGrid::Cell": "open_project",
123
+ "Primer::OpenProject::CollapsibleSection": "open_project",
123
124
  "Primer::OpenProject::DangerDialog": "open_project",
124
125
  "Primer::OpenProject::DangerDialog::ConfirmationCheckBox": "open_project",
125
126
  "Primer::OpenProject::DangerDialog::FormWrapper": "open_project",
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openproject-primer_view_components
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.60.0
4
+ version: 0.61.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GitHub Open Source
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2025-04-07 00:00:00.000000000 Z
12
+ date: 2025-04-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: actionview
@@ -105,6 +105,8 @@ files:
105
105
  - app/assets/javascripts/components/primer/dialog_helper.d.ts
106
106
  - app/assets/javascripts/components/primer/focus_group.d.ts
107
107
  - app/assets/javascripts/components/primer/open_project/border_box/collapsible_header.d.ts
108
+ - app/assets/javascripts/components/primer/open_project/collapsible.d.ts
109
+ - app/assets/javascripts/components/primer/open_project/collapsible_section.d.ts
108
110
  - app/assets/javascripts/components/primer/open_project/danger_dialog_form_helper.d.ts
109
111
  - app/assets/javascripts/components/primer/open_project/page_header_element.d.ts
110
112
  - app/assets/javascripts/components/primer/open_project/sub_header_element.d.ts
@@ -508,6 +510,18 @@ files:
508
510
  - app/components/primer/open_project/border_grid.rb
509
511
  - app/components/primer/open_project/border_grid/cell.html.erb
510
512
  - app/components/primer/open_project/border_grid/cell.rb
513
+ - app/components/primer/open_project/collapsible.d.ts
514
+ - app/components/primer/open_project/collapsible.js
515
+ - app/components/primer/open_project/collapsible.ts
516
+ - app/components/primer/open_project/collapsible_section.css
517
+ - app/components/primer/open_project/collapsible_section.css.json
518
+ - app/components/primer/open_project/collapsible_section.css.map
519
+ - app/components/primer/open_project/collapsible_section.d.ts
520
+ - app/components/primer/open_project/collapsible_section.html.erb
521
+ - app/components/primer/open_project/collapsible_section.js
522
+ - app/components/primer/open_project/collapsible_section.pcss
523
+ - app/components/primer/open_project/collapsible_section.rb
524
+ - app/components/primer/open_project/collapsible_section.ts
511
525
  - app/components/primer/open_project/danger_dialog.html.erb
512
526
  - app/components/primer/open_project/danger_dialog.rb
513
527
  - app/components/primer/open_project/danger_dialog/confirmation_check_box.rb
@@ -1045,6 +1059,12 @@ files:
1045
1059
  - previews/primer/open_project/border_box/collapsible_header_preview.rb
1046
1060
  - previews/primer/open_project/border_box/collapsible_header_preview/playground.html.erb
1047
1061
  - previews/primer/open_project/border_grid_preview.rb
1062
+ - previews/primer/open_project/collapsible_section_preview.rb
1063
+ - previews/primer/open_project/collapsible_section_preview/collapsed.html.erb
1064
+ - previews/primer/open_project/collapsible_section_preview/default.html.erb
1065
+ - previews/primer/open_project/collapsible_section_preview/playground.html.erb
1066
+ - previews/primer/open_project/collapsible_section_preview/with_additional_information.html.erb
1067
+ - previews/primer/open_project/collapsible_section_preview/with_caption.html.erb
1048
1068
  - previews/primer/open_project/danger_dialog_preview.rb
1049
1069
  - previews/primer/open_project/danger_dialog_preview/deletion_form.rb
1050
1070
  - previews/primer/open_project/danger_dialog_preview/playground.html.erb