primer_view_components 0.43.5 → 0.44.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 (117) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +20 -0
  3. data/app/assets/javascripts/components/primer/alpha/tree_view/tree_view.d.ts +39 -0
  4. data/app/assets/javascripts/components/primer/alpha/tree_view/tree_view_icon_pair_element.d.ts +15 -0
  5. data/app/assets/javascripts/components/primer/alpha/tree_view/tree_view_include_fragment_element.d.ts +9 -0
  6. data/app/assets/javascripts/components/primer/alpha/tree_view/tree_view_roving_tab_index.d.ts +3 -0
  7. data/app/assets/javascripts/components/primer/alpha/tree_view/tree_view_sub_tree_node_element.d.ts +42 -0
  8. data/app/assets/javascripts/components/primer/primer.d.ts +4 -0
  9. data/app/assets/javascripts/components/primer/shared_events.d.ts +15 -0
  10. data/app/assets/javascripts/primer_view_components.js +1 -1
  11. data/app/assets/javascripts/primer_view_components.js.map +1 -1
  12. data/app/assets/styles/primer_view_components.css +1 -1
  13. data/app/assets/styles/primer_view_components.css.map +1 -1
  14. data/app/components/primer/alpha/file_tree_view/directory_node.html.erb +5 -0
  15. data/app/components/primer/alpha/file_tree_view/directory_node.rb +24 -0
  16. data/app/components/primer/alpha/file_tree_view/file_node.html.erb +2 -0
  17. data/app/components/primer/alpha/file_tree_view/file_node.rb +14 -0
  18. data/app/components/primer/alpha/file_tree_view.rb +15 -0
  19. data/app/components/primer/alpha/skeleton_box.css +1 -0
  20. data/app/components/primer/alpha/skeleton_box.css.json +6 -0
  21. data/app/components/primer/alpha/skeleton_box.css.map +1 -0
  22. data/app/components/primer/alpha/skeleton_box.html.erb +1 -0
  23. data/app/components/primer/alpha/skeleton_box.pcss +30 -0
  24. data/app/components/primer/alpha/skeleton_box.rb +29 -0
  25. data/app/components/primer/alpha/tree_view/icon.html.erb +1 -0
  26. data/app/components/primer/alpha/tree_view/icon.rb +22 -0
  27. data/app/components/primer/alpha/tree_view/icon_pair.html.erb +13 -0
  28. data/app/components/primer/alpha/tree_view/icon_pair.rb +42 -0
  29. data/app/components/primer/alpha/tree_view/leading_action.html.erb +3 -0
  30. data/app/components/primer/alpha/tree_view/leading_action.rb +18 -0
  31. data/app/components/primer/alpha/tree_view/leaf_node.html.erb +18 -0
  32. data/app/components/primer/alpha/tree_view/leaf_node.rb +96 -0
  33. data/app/components/primer/alpha/tree_view/loading_failure_message.html.erb +13 -0
  34. data/app/components/primer/alpha/tree_view/loading_failure_message.rb +31 -0
  35. data/app/components/primer/alpha/tree_view/node.html.erb +32 -0
  36. data/app/components/primer/alpha/tree_view/node.rb +194 -0
  37. data/app/components/primer/alpha/tree_view/skeleton_loader.html.erb +23 -0
  38. data/app/components/primer/alpha/tree_view/skeleton_loader.rb +36 -0
  39. data/app/components/primer/alpha/tree_view/spinner_loader.html.erb +20 -0
  40. data/app/components/primer/alpha/tree_view/spinner_loader.rb +33 -0
  41. data/app/components/primer/alpha/tree_view/sub_tree.html.erb +21 -0
  42. data/app/components/primer/alpha/tree_view/sub_tree.rb +113 -0
  43. data/app/components/primer/alpha/tree_view/sub_tree_container.html.erb +3 -0
  44. data/app/components/primer/alpha/tree_view/sub_tree_container.rb +39 -0
  45. data/app/components/primer/alpha/tree_view/sub_tree_node.html.erb +49 -0
  46. data/app/components/primer/alpha/tree_view/sub_tree_node.rb +188 -0
  47. data/app/components/primer/alpha/tree_view/tree_view.d.ts +39 -0
  48. data/app/components/primer/alpha/tree_view/tree_view.js +363 -0
  49. data/app/components/primer/alpha/tree_view/tree_view.ts +396 -0
  50. data/app/components/primer/alpha/tree_view/tree_view_icon_pair_element.d.ts +15 -0
  51. data/app/components/primer/alpha/tree_view/tree_view_icon_pair_element.js +62 -0
  52. data/app/components/primer/alpha/tree_view/tree_view_icon_pair_element.ts +56 -0
  53. data/app/components/primer/alpha/tree_view/tree_view_include_fragment_element.d.ts +9 -0
  54. data/app/components/primer/alpha/tree_view/tree_view_include_fragment_element.js +28 -0
  55. data/app/components/primer/alpha/tree_view/tree_view_include_fragment_element.ts +28 -0
  56. data/app/components/primer/alpha/tree_view/tree_view_roving_tab_index.d.ts +3 -0
  57. data/app/components/primer/alpha/tree_view/tree_view_roving_tab_index.js +130 -0
  58. data/app/components/primer/alpha/tree_view/tree_view_roving_tab_index.ts +161 -0
  59. data/app/components/primer/alpha/tree_view/tree_view_sub_tree_node_element.d.ts +42 -0
  60. data/app/components/primer/alpha/tree_view/tree_view_sub_tree_node_element.js +418 -0
  61. data/app/components/primer/alpha/tree_view/tree_view_sub_tree_node_element.ts +470 -0
  62. data/app/components/primer/alpha/tree_view/visual.html.erb +14 -0
  63. data/app/components/primer/alpha/tree_view/visual.rb +27 -0
  64. data/app/components/primer/alpha/tree_view.css +1 -0
  65. data/app/components/primer/alpha/tree_view.css.json +52 -0
  66. data/app/components/primer/alpha/tree_view.css.map +1 -0
  67. data/app/components/primer/alpha/tree_view.html.erb +12 -0
  68. data/app/components/primer/alpha/tree_view.pcss +373 -0
  69. data/app/components/primer/alpha/tree_view.rb +439 -0
  70. data/app/components/primer/beta/breadcrumbs.css +1 -1
  71. data/app/components/primer/beta/breadcrumbs.css.json +0 -1
  72. data/app/components/primer/beta/breadcrumbs.css.map +1 -1
  73. data/app/components/primer/beta/breadcrumbs.pcss +2 -8
  74. data/app/components/primer/beta/progress_bar.css +1 -1
  75. data/app/components/primer/beta/progress_bar.css.map +1 -1
  76. data/app/components/primer/beta/progress_bar.pcss +3 -2
  77. data/app/components/primer/beta/relative_time.rb +3 -0
  78. data/app/components/primer/beta/spinner.html.erb +1 -1
  79. data/app/components/primer/beta/spinner.rb +2 -0
  80. data/app/components/primer/primer.d.ts +4 -0
  81. data/app/components/primer/primer.js +4 -0
  82. data/app/components/primer/primer.pcss +2 -0
  83. data/app/components/primer/primer.ts +4 -0
  84. data/app/components/primer/shared_events.d.ts +15 -0
  85. data/app/components/primer/shared_events.ts +19 -0
  86. data/app/controllers/primer/view_components/tree_view_items.json +293 -0
  87. data/app/controllers/primer/view_components/tree_view_items_controller.rb +55 -0
  88. data/app/forms/check_box_with_nested_form.rb +10 -10
  89. data/app/forms/radio_button_with_nested_form.rb +16 -16
  90. data/app/views/primer/view_components/tree_view_items/async_alpha.html_fragment.erb +23 -0
  91. data/app/views/primer/view_components/tree_view_items/index.html_fragment.erb +24 -0
  92. data/config/routes.rb +2 -0
  93. data/lib/primer/view_components/version.rb +2 -2
  94. data/previews/primer/alpha/file_tree_view_preview/default.html.erb +16 -0
  95. data/previews/primer/alpha/file_tree_view_preview/playground.html.erb +4 -0
  96. data/previews/primer/alpha/file_tree_view_preview.rb +69 -0
  97. data/previews/primer/alpha/skeleton_box_preview.rb +20 -0
  98. data/previews/primer/alpha/tree_view_preview/async_alpha.html.erb +12 -0
  99. data/previews/primer/alpha/tree_view_preview/buttons.html.erb +10 -0
  100. data/previews/primer/alpha/tree_view_preview/default.html.erb +24 -0
  101. data/previews/primer/alpha/tree_view_preview/empty.html.erb +10 -0
  102. data/previews/primer/alpha/tree_view_preview/form_input.html.erb +14 -0
  103. data/previews/primer/alpha/tree_view_preview/leaf_node_playground.html.erb +15 -0
  104. data/previews/primer/alpha/tree_view_preview/links.html.erb +17 -0
  105. data/previews/primer/alpha/tree_view_preview/loading_failure.html.erb +36 -0
  106. data/previews/primer/alpha/tree_view_preview/loading_skeleton.html.erb +12 -0
  107. data/previews/primer/alpha/tree_view_preview/loading_spinner.html.erb +12 -0
  108. data/previews/primer/alpha/tree_view_preview/playground.html.erb +4 -0
  109. data/previews/primer/alpha/tree_view_preview.rb +208 -0
  110. data/static/arguments.json +456 -0
  111. data/static/audited_at.json +17 -0
  112. data/static/classes.json +15 -0
  113. data/static/constants.json +101 -0
  114. data/static/info_arch.json +1410 -56
  115. data/static/previews.json +232 -0
  116. data/static/statuses.json +17 -0
  117. metadata +89 -8
@@ -1149,6 +1149,52 @@
1149
1149
  "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/dropdown/menu/item/default/",
1150
1150
  "parameters": []
1151
1151
  },
1152
+ {
1153
+ "component": "FileTreeView",
1154
+ "status": "alpha",
1155
+ "a11y_reviewed": false,
1156
+ "short_name": "FileTreeView",
1157
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/file_tree_view.rb",
1158
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/file_tree_view/default/",
1159
+ "parameters": [
1160
+ {
1161
+ "name": "node_variant",
1162
+ "type": "Symbol",
1163
+ "default": "`:div`",
1164
+ "description": "The variant to use for this node. One of `:anchor`, `:button`, or `:div`."
1165
+ },
1166
+ {
1167
+ "name": "form_arguments",
1168
+ "type": "Hash",
1169
+ "default": "`{}`",
1170
+ "description": "These arguments allow the selections made within a `TreeView` to be submitted to the server as part of a Rails form. Pass the `builder:` and `name:` options to this hash. `builder:` should be an instance of `ActionView::Helpers::FormBuilder`, which are created by the standard Rails `#form_with` and `#form_for` helpers. The `name:` option is the desired name of the field that will be included in the params sent to the server on form submission."
1171
+ },
1172
+ {
1173
+ "name": "system_arguments",
1174
+ "type": "Hash",
1175
+ "default": "N/A",
1176
+ "description": "[System arguments](/system-arguments)."
1177
+ }
1178
+ ]
1179
+ },
1180
+ {
1181
+ "component": "FileTreeView::DirectoryNode",
1182
+ "status": "alpha",
1183
+ "a11y_reviewed": false,
1184
+ "short_name": "FileTreeViewDirectoryNode",
1185
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/file_tree_view/directory_node.rb",
1186
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/file_tree_view/directory_node/default/",
1187
+ "parameters": []
1188
+ },
1189
+ {
1190
+ "component": "FileTreeView::FileNode",
1191
+ "status": "alpha",
1192
+ "a11y_reviewed": false,
1193
+ "short_name": "FileTreeViewFileNode",
1194
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/file_tree_view/file_node.rb",
1195
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/file_tree_view/file_node/default/",
1196
+ "parameters": []
1197
+ },
1152
1198
  {
1153
1199
  "component": "FormButton",
1154
1200
  "status": "alpha",
@@ -2530,6 +2576,34 @@
2530
2576
  }
2531
2577
  ]
2532
2578
  },
2579
+ {
2580
+ "component": "SkeletonBox",
2581
+ "status": "alpha",
2582
+ "a11y_reviewed": false,
2583
+ "short_name": "SkeletonBox",
2584
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/skeleton_box.rb",
2585
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/skeleton_box/default/",
2586
+ "parameters": [
2587
+ {
2588
+ "name": "height",
2589
+ "type": "String",
2590
+ "default": "`nil`",
2591
+ "description": "Any valid CSS height."
2592
+ },
2593
+ {
2594
+ "name": "width",
2595
+ "type": "String",
2596
+ "default": "`nil`",
2597
+ "description": "Any valid CSS width."
2598
+ },
2599
+ {
2600
+ "name": "system_arguments",
2601
+ "type": "Hash",
2602
+ "default": "N/A",
2603
+ "description": "[System arguments](/system-arguments)"
2604
+ }
2605
+ ]
2606
+ },
2533
2607
  {
2534
2608
  "component": "Stack",
2535
2609
  "status": "alpha",
@@ -3170,6 +3244,382 @@
3170
3244
  }
3171
3245
  ]
3172
3246
  },
3247
+ {
3248
+ "component": "TreeView",
3249
+ "status": "alpha",
3250
+ "a11y_reviewed": false,
3251
+ "short_name": "TreeView",
3252
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/tree_view.rb",
3253
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/tree_view/default/",
3254
+ "parameters": [
3255
+ {
3256
+ "name": "node_variant",
3257
+ "type": "Symbol",
3258
+ "default": "`:div`",
3259
+ "description": "The variant to use for this node. One of `:anchor`, `:button`, or `:div`."
3260
+ },
3261
+ {
3262
+ "name": "form_arguments",
3263
+ "type": "Hash",
3264
+ "default": "`{}`",
3265
+ "description": "These arguments allow the selections made within a `TreeView` to be submitted to the server as part of a Rails form. Pass the `builder:` and `name:` options to this hash. `builder:` should be an instance of `ActionView::Helpers::FormBuilder`, which are created by the standard Rails `#form_with` and `#form_for` helpers. The `name:` option is the desired name of the field that will be included in the params sent to the server on form submission."
3266
+ },
3267
+ {
3268
+ "name": "system_arguments",
3269
+ "type": "Hash",
3270
+ "default": "N/A",
3271
+ "description": "[System arguments](/system-arguments)."
3272
+ }
3273
+ ]
3274
+ },
3275
+ {
3276
+ "component": "TreeView::Icon",
3277
+ "status": "alpha",
3278
+ "a11y_reviewed": false,
3279
+ "short_name": "TreeViewIcon",
3280
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/tree_view/icon.rb",
3281
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/tree_view/icon/default/",
3282
+ "parameters": [
3283
+ {
3284
+ "name": "system_arguments",
3285
+ "type": "Hash",
3286
+ "default": "N/A",
3287
+ "description": "The arguments accepted by [Octicon](/components/beta/octicon)."
3288
+ }
3289
+ ]
3290
+ },
3291
+ {
3292
+ "component": "TreeView::IconPair",
3293
+ "status": "alpha",
3294
+ "a11y_reviewed": false,
3295
+ "short_name": "TreeViewIconPair",
3296
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/tree_view/icon_pair.rb",
3297
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/tree_view/icon_pair/default/",
3298
+ "parameters": [
3299
+ {
3300
+ "name": "expanded",
3301
+ "type": "Boolean",
3302
+ "default": "`false`",
3303
+ "description": "If true, the expanded icon is shown and the collapsed icon is hidden, etc."
3304
+ },
3305
+ {
3306
+ "name": "system_arguments",
3307
+ "type": "Hash",
3308
+ "default": "N/A",
3309
+ "description": "[System arguments](/system-arguments)"
3310
+ }
3311
+ ]
3312
+ },
3313
+ {
3314
+ "component": "TreeView::LeadingAction",
3315
+ "status": "alpha",
3316
+ "a11y_reviewed": false,
3317
+ "short_name": "TreeViewLeadingAction",
3318
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/tree_view/leading_action.rb",
3319
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/tree_view/leading_action/default/",
3320
+ "parameters": [
3321
+ {
3322
+ "name": "action",
3323
+ "type": "ViewComponent::Base",
3324
+ "default": "N/A",
3325
+ "description": "A component or other renderable to use as the action button etc."
3326
+ }
3327
+ ]
3328
+ },
3329
+ {
3330
+ "component": "TreeView::LeafNode",
3331
+ "status": "alpha",
3332
+ "a11y_reviewed": false,
3333
+ "short_name": "TreeViewLeafNode",
3334
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/tree_view/leaf_node.rb",
3335
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/tree_view/leaf_node/default/",
3336
+ "parameters": [
3337
+ {
3338
+ "name": "label",
3339
+ "type": "String",
3340
+ "default": "N/A",
3341
+ "description": "The node's label, i.e. it's textual content."
3342
+ },
3343
+ {
3344
+ "name": "system_arguments",
3345
+ "type": "Hash",
3346
+ "default": "N/A",
3347
+ "description": "The arguments accepted by [TreeView::Node](/components/alpha/treeviewnode)."
3348
+ }
3349
+ ]
3350
+ },
3351
+ {
3352
+ "component": "TreeView::LoadingFailureMessage",
3353
+ "status": "alpha",
3354
+ "a11y_reviewed": false,
3355
+ "short_name": "TreeViewLoadingFailureMessage",
3356
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/tree_view/loading_failure_message.rb",
3357
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/tree_view/loading_failure_message/default/",
3358
+ "parameters": [
3359
+ {
3360
+ "name": "text",
3361
+ "type": "String",
3362
+ "default": "`Something went wrong`",
3363
+ "description": "The failure message to display."
3364
+ },
3365
+ {
3366
+ "name": "retry_button_label",
3367
+ "type": "String",
3368
+ "default": "`Retry`",
3369
+ "description": "The text shown on the retry button."
3370
+ },
3371
+ {
3372
+ "name": "system_arguments",
3373
+ "type": "Hash",
3374
+ "default": "N/A",
3375
+ "description": "[System arguments](/system-arguments)"
3376
+ }
3377
+ ]
3378
+ },
3379
+ {
3380
+ "component": "TreeView::Node",
3381
+ "status": "alpha",
3382
+ "a11y_reviewed": false,
3383
+ "short_name": "TreeViewNode",
3384
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/tree_view/node.rb",
3385
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/tree_view/node/default/",
3386
+ "parameters": [
3387
+ {
3388
+ "name": "path",
3389
+ "type": "Array<String>",
3390
+ "default": "N/A",
3391
+ "description": "The node's \"path,\" i.e. this node's label and the labels of all its ancestors. This node should be reachable by traversing the tree following this path."
3392
+ },
3393
+ {
3394
+ "name": "node_variant",
3395
+ "type": "Symbol",
3396
+ "default": "N/A",
3397
+ "description": "The node variant to use for the node's content, i.e. the `:button` or `:div`. One of `:anchor`, `:button`, or `:div`."
3398
+ },
3399
+ {
3400
+ "name": "href",
3401
+ "type": "String",
3402
+ "default": "`nil`",
3403
+ "description": "The URL to use as the `href` attribute for this node. If set to a truthy value, the `tag:` parameter is ignored and assumed to be `:a`."
3404
+ },
3405
+ {
3406
+ "name": "current",
3407
+ "type": "Boolean",
3408
+ "default": "`false`",
3409
+ "description": "Whether or not this node is the current node. The current node is styled differently than regular nodes and is the first element that receives focus when tabbing to the `TreeView` component."
3410
+ },
3411
+ {
3412
+ "name": "select_variant",
3413
+ "type": "Symbol",
3414
+ "default": "`:none`",
3415
+ "description": "Controls the type of checkbox that appears. One of `:multiple` or `:none`."
3416
+ },
3417
+ {
3418
+ "name": "checked",
3419
+ "type": "Boolean | String",
3420
+ "default": "`false`",
3421
+ "description": "The checked state of the node's checkbox. One of `false`, `mixed`, or `true`."
3422
+ },
3423
+ {
3424
+ "name": "disabled",
3425
+ "type": "Boolean",
3426
+ "default": "`false`",
3427
+ "description": "Whether or not the node can be activated. Passing `false` here will cause the node to appear visually disabled but it is still keyboard-focusable."
3428
+ },
3429
+ {
3430
+ "name": "value",
3431
+ "type": "String",
3432
+ "default": "`nil`",
3433
+ "description": "If this node is checked, this value will be sent to the server on form submission."
3434
+ },
3435
+ {
3436
+ "name": "content_arguments",
3437
+ "type": "Hash",
3438
+ "default": "N/A",
3439
+ "description": "Arguments attached to the node's content, i.e the `<button>` or `<a>` element. [System arguments](/system-arguments)"
3440
+ }
3441
+ ]
3442
+ },
3443
+ {
3444
+ "component": "TreeView::SkeletonLoader",
3445
+ "status": "alpha",
3446
+ "a11y_reviewed": false,
3447
+ "short_name": "TreeViewSkeletonLoader",
3448
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/tree_view/skeleton_loader.rb",
3449
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/tree_view/skeleton_loader/default/",
3450
+ "parameters": [
3451
+ {
3452
+ "name": "src",
3453
+ "type": "String",
3454
+ "default": "N/A",
3455
+ "description": "The URL to fetch nodes from."
3456
+ },
3457
+ {
3458
+ "name": "count",
3459
+ "type": "Integer",
3460
+ "default": "`3`",
3461
+ "description": "The number of skeleton nodes to render."
3462
+ },
3463
+ {
3464
+ "name": "system_arguments",
3465
+ "type": "Hash",
3466
+ "default": "N/A",
3467
+ "description": "The arguments accepted by [TreeView::SubTreeContainer](/components/alpha/treeviewsubtreecontainer)."
3468
+ }
3469
+ ]
3470
+ },
3471
+ {
3472
+ "component": "TreeView::SpinnerLoader",
3473
+ "status": "alpha",
3474
+ "a11y_reviewed": false,
3475
+ "short_name": "TreeViewSpinnerLoader",
3476
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/tree_view/spinner_loader.rb",
3477
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/tree_view/spinner_loader/default/",
3478
+ "parameters": [
3479
+ {
3480
+ "name": "src",
3481
+ "type": "String",
3482
+ "default": "N/A",
3483
+ "description": "The URL to fetch nodes from."
3484
+ },
3485
+ {
3486
+ "name": "system_arguments",
3487
+ "type": "Hash",
3488
+ "default": "N/A",
3489
+ "description": "The arguments accepted by [TreeView::SubTreeContainer](/components/alpha/treeviewsubtreecontainer)."
3490
+ }
3491
+ ]
3492
+ },
3493
+ {
3494
+ "component": "TreeView::SubTree",
3495
+ "status": "alpha",
3496
+ "a11y_reviewed": false,
3497
+ "short_name": "TreeViewSubTree",
3498
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/tree_view/sub_tree.rb",
3499
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/tree_view/sub_tree/default/",
3500
+ "parameters": [
3501
+ {
3502
+ "name": "node_variant",
3503
+ "type": "Symbol",
3504
+ "default": "N/A",
3505
+ "description": "The variant to use for this node. One of `:anchor`, `:button`, or `:div`."
3506
+ },
3507
+ {
3508
+ "name": "system_arguments",
3509
+ "type": "Hash",
3510
+ "default": "N/A",
3511
+ "description": "The arguments accepted by [TreeView::SubTreeContainer](/components/alpha/treeviewsubtreecontainer)."
3512
+ }
3513
+ ]
3514
+ },
3515
+ {
3516
+ "component": "TreeView::SubTreeContainer",
3517
+ "status": "alpha",
3518
+ "a11y_reviewed": false,
3519
+ "short_name": "TreeViewSubTreeContainer",
3520
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/tree_view/sub_tree_container.rb",
3521
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/tree_view/sub_tree_container/default/",
3522
+ "parameters": [
3523
+ {
3524
+ "name": "path",
3525
+ "type": "Array<String>",
3526
+ "default": "N/A",
3527
+ "description": "The path to this node."
3528
+ },
3529
+ {
3530
+ "name": "expanded",
3531
+ "type": "Boolean",
3532
+ "default": "`false`",
3533
+ "description": "Whether or not this sub-tree node renders expanded."
3534
+ },
3535
+ {
3536
+ "name": "system_arguments",
3537
+ "type": "Hash",
3538
+ "default": "N/A",
3539
+ "description": "[System arguments](/system-arguments)"
3540
+ }
3541
+ ]
3542
+ },
3543
+ {
3544
+ "component": "TreeView::SubTreeNode",
3545
+ "status": "alpha",
3546
+ "a11y_reviewed": false,
3547
+ "short_name": "TreeViewSubTreeNode",
3548
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/tree_view/sub_tree_node.rb",
3549
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/tree_view/sub_tree_node/default/",
3550
+ "parameters": [
3551
+ {
3552
+ "name": "label",
3553
+ "type": "String",
3554
+ "default": "N/A",
3555
+ "description": "The node's label, i.e. it's textual content."
3556
+ },
3557
+ {
3558
+ "name": "path",
3559
+ "type": "Array<String>",
3560
+ "default": "N/A",
3561
+ "description": "The node's \"path,\" i.e. this node's label and the labels of all its ancestors. This node should be reachable by traversing the tree following this path."
3562
+ },
3563
+ {
3564
+ "name": "node_variant",
3565
+ "type": "Symbol",
3566
+ "default": "N/A",
3567
+ "description": "The variant to use for this node. One of `:anchor`, `:button`, or `:div`."
3568
+ },
3569
+ {
3570
+ "name": "sub_tree_component_klass",
3571
+ "type": "Class",
3572
+ "default": "`SubTree`",
3573
+ "description": "The class to use for the sub-tree instead of the default [TreeView::SubTree](/components/alpha/treeviewsubtree)"
3574
+ },
3575
+ {
3576
+ "name": "expanded",
3577
+ "type": "Boolean",
3578
+ "default": "`false`",
3579
+ "description": "Whether or not this sub-tree should be rendered expanded."
3580
+ },
3581
+ {
3582
+ "name": "select_strategy",
3583
+ "type": "Symbol",
3584
+ "default": "`:mixed_descendants`",
3585
+ "description": "What should happen when this sub-tree node is checked. One of `:descendants`, `:mixed_descendants`, or `:self`."
3586
+ },
3587
+ {
3588
+ "name": "system_arguments",
3589
+ "type": "Hash",
3590
+ "default": "N/A",
3591
+ "description": "The arguments accepted by [TreeView::Node](/components/alpha/treeviewnode)."
3592
+ }
3593
+ ]
3594
+ },
3595
+ {
3596
+ "component": "TreeView::Visual",
3597
+ "status": "alpha",
3598
+ "a11y_reviewed": false,
3599
+ "short_name": "TreeViewVisual",
3600
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/tree_view/visual.rb",
3601
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/tree_view/visual/default/",
3602
+ "parameters": [
3603
+ {
3604
+ "name": "id",
3605
+ "type": "String",
3606
+ "default": "N/A",
3607
+ "description": "This visual's HTML ID."
3608
+ },
3609
+ {
3610
+ "name": "visual",
3611
+ "type": "ViewComponent::Base",
3612
+ "default": "N/A",
3613
+ "description": "A renderable component like an instance of [Octicon](/components/beta/octicon) to render as the visual."
3614
+ },
3615
+ {
3616
+ "name": "label",
3617
+ "type": "String",
3618
+ "default": "`nil`",
3619
+ "description": "Text describing this visual that will be visible only to screen readers."
3620
+ }
3621
+ ]
3622
+ },
3173
3623
  {
3174
3624
  "component": "UnderlineNav",
3175
3625
  "status": "alpha",
@@ -4571,6 +5021,12 @@
4571
5021
  "default": "`false`",
4572
5022
  "description": "Removes the `title` attribute provided on the element by default."
4573
5023
  },
5024
+ {
5025
+ "name": "aria_hidden",
5026
+ "type": "Boolean",
5027
+ "default": "`nil`",
5028
+ "description": "Set if the element is hidden or not."
5029
+ },
4574
5030
  {
4575
5031
  "name": "system_arguments",
4576
5032
  "type": "Hash",
@@ -25,6 +25,9 @@
25
25
  "Primer::Alpha::Dropdown": "",
26
26
  "Primer::Alpha::Dropdown::Menu": "",
27
27
  "Primer::Alpha::Dropdown::Menu::Item": "",
28
+ "Primer::Alpha::FileTreeView": "",
29
+ "Primer::Alpha::FileTreeView::DirectoryNode": "",
30
+ "Primer::Alpha::FileTreeView::FileNode": "",
28
31
  "Primer::Alpha::FormButton": "",
29
32
  "Primer::Alpha::FormControl": "",
30
33
  "Primer::Alpha::HellipButton": "",
@@ -54,6 +57,7 @@
54
57
  "Primer::Alpha::Select": "",
55
58
  "Primer::Alpha::SelectPanel": "",
56
59
  "Primer::Alpha::SelectPanel::ItemList": "2023-07-10",
60
+ "Primer::Alpha::SkeletonBox": "",
57
61
  "Primer::Alpha::Stack": "",
58
62
  "Primer::Alpha::StackItem": "",
59
63
  "Primer::Alpha::SubmitButton": "",
@@ -64,6 +68,19 @@
64
68
  "Primer::Alpha::TextField": "",
65
69
  "Primer::Alpha::ToggleSwitch": "",
66
70
  "Primer::Alpha::Tooltip": "",
71
+ "Primer::Alpha::TreeView": "",
72
+ "Primer::Alpha::TreeView::Icon": "",
73
+ "Primer::Alpha::TreeView::IconPair": "",
74
+ "Primer::Alpha::TreeView::LeadingAction": "",
75
+ "Primer::Alpha::TreeView::LeafNode": "",
76
+ "Primer::Alpha::TreeView::LoadingFailureMessage": "",
77
+ "Primer::Alpha::TreeView::Node": "",
78
+ "Primer::Alpha::TreeView::SkeletonLoader": "",
79
+ "Primer::Alpha::TreeView::SpinnerLoader": "",
80
+ "Primer::Alpha::TreeView::SubTree": "",
81
+ "Primer::Alpha::TreeView::SubTreeContainer": "",
82
+ "Primer::Alpha::TreeView::SubTreeNode": "",
83
+ "Primer::Alpha::TreeView::Visual": "",
67
84
  "Primer::Alpha::UnderlineNav": "",
68
85
  "Primer::Alpha::UnderlinePanels": "",
69
86
  "Primer::BaseComponent": "",
data/static/classes.json CHANGED
@@ -510,6 +510,9 @@
510
510
  "SelectPanel-loadingPanel": [
511
511
  "Primer::Alpha::SelectPanel"
512
512
  ],
513
+ "SkeletonBox": [
514
+ "Primer::Alpha::SkeletonBox"
515
+ ],
513
516
  "Stack": [
514
517
  "Primer::Alpha::Stack"
515
518
  ],
@@ -621,6 +624,18 @@
621
624
  "ToggleSwitch-track": [
622
625
  "Primer::Alpha::ToggleSwitch"
623
626
  ],
627
+ "TreeItemSkeletonTextStyles": [
628
+ "Primer::Alpha::TreeView"
629
+ ],
630
+ "TreeViewFailureMessage": [
631
+ "Primer::Alpha::TreeView"
632
+ ],
633
+ "TreeViewRootUlStyles": [
634
+ "Primer::Alpha::TreeView"
635
+ ],
636
+ "TreeViewSkeletonItemContainerStyle": [
637
+ "Primer::Alpha::TreeView"
638
+ ],
624
639
  "Truncate": [
625
640
  "Primer::Beta::Truncate"
626
641
  ],
@@ -377,6 +377,17 @@
377
377
  "summary"
378
378
  ]
379
379
  },
380
+ "Primer::Alpha::FileTreeView": {
381
+ "DirectoryNode": "Primer::Alpha::FileTreeView::DirectoryNode",
382
+ "FileNode": "Primer::Alpha::FileTreeView::FileNode",
383
+ "GeneratedSlotMethods": "Primer::Alpha::FileTreeView::GeneratedSlotMethods"
384
+ },
385
+ "Primer::Alpha::FileTreeView::DirectoryNode": {
386
+ "GeneratedSlotMethods": "Primer::Alpha::FileTreeView::DirectoryNode::GeneratedSlotMethods"
387
+ },
388
+ "Primer::Alpha::FileTreeView::FileNode": {
389
+ "GeneratedSlotMethods": "Primer::Alpha::FileTreeView::FileNode::GeneratedSlotMethods"
390
+ },
380
391
  "Primer::Alpha::FormButton": {
381
392
  "GeneratedSlotMethods": "Primer::Alpha::FormButton::GeneratedSlotMethods"
382
393
  },
@@ -686,6 +697,9 @@
686
697
  "Primer::Alpha::SelectPanel::ItemList": {
687
698
  "GeneratedSlotMethods": "Primer::Alpha::SelectPanel::ItemList::GeneratedSlotMethods"
688
699
  },
700
+ "Primer::Alpha::SkeletonBox": {
701
+ "GeneratedSlotMethods": "Primer::Alpha::SkeletonBox::GeneratedSlotMethods"
702
+ },
689
703
  "Primer::Alpha::Stack": {
690
704
  "ARG_CLASSES": [
691
705
  "Primer::Alpha::Stack::JustifyArg",
@@ -782,6 +796,93 @@
782
796
  "description"
783
797
  ]
784
798
  },
799
+ "Primer::Alpha::TreeView": {
800
+ "DEFAULT_NODE_VARIANT": "div",
801
+ "GeneratedSlotMethods": "Primer::Alpha::TreeView::GeneratedSlotMethods",
802
+ "Icon": "Primer::Alpha::TreeView::Icon",
803
+ "IconPair": "Primer::Alpha::TreeView::IconPair",
804
+ "LeadingAction": "Primer::Alpha::TreeView::LeadingAction",
805
+ "LeafNode": "Primer::Alpha::TreeView::LeafNode",
806
+ "LoadingFailureMessage": "Primer::Alpha::TreeView::LoadingFailureMessage",
807
+ "NODE_VARIANT_OPTIONS": [
808
+ "div",
809
+ "anchor",
810
+ "button"
811
+ ],
812
+ "Node": "Primer::Alpha::TreeView::Node",
813
+ "SkeletonLoader": "Primer::Alpha::TreeView::SkeletonLoader",
814
+ "SpinnerLoader": "Primer::Alpha::TreeView::SpinnerLoader",
815
+ "SubTree": "Primer::Alpha::TreeView::SubTree",
816
+ "SubTreeContainer": "Primer::Alpha::TreeView::SubTreeContainer",
817
+ "SubTreeNode": "Primer::Alpha::TreeView::SubTreeNode",
818
+ "Visual": "Primer::Alpha::TreeView::Visual"
819
+ },
820
+ "Primer::Alpha::TreeView::Icon": {
821
+ "GeneratedSlotMethods": "Primer::Alpha::TreeView::Icon::GeneratedSlotMethods"
822
+ },
823
+ "Primer::Alpha::TreeView::IconPair": {
824
+ "GeneratedSlotMethods": "Primer::Alpha::TreeView::IconPair::GeneratedSlotMethods"
825
+ },
826
+ "Primer::Alpha::TreeView::LeadingAction": {
827
+ "GeneratedSlotMethods": "Primer::Alpha::TreeView::LeadingAction::GeneratedSlotMethods"
828
+ },
829
+ "Primer::Alpha::TreeView::LeafNode": {
830
+ "GeneratedSlotMethods": "Primer::Alpha::TreeView::LeafNode::GeneratedSlotMethods"
831
+ },
832
+ "Primer::Alpha::TreeView::LoadingFailureMessage": {
833
+ "DEFAULT_RETRY_BUTTON_LABEL": "Retry",
834
+ "DEFAULT_TEXT": "Something went wrong",
835
+ "GeneratedSlotMethods": "Primer::Alpha::TreeView::LoadingFailureMessage::GeneratedSlotMethods"
836
+ },
837
+ "Primer::Alpha::TreeView::Node": {
838
+ "CHECKED_STATES": [
839
+ false,
840
+ true,
841
+ "mixed"
842
+ ],
843
+ "DEFAULT_CHECKED_STATE": false,
844
+ "DEFAULT_NODE_VARIANT": "div",
845
+ "DEFAULT_SELECT_VARIANT": "none",
846
+ "GeneratedSlotMethods": "Primer::Alpha::TreeView::Node::GeneratedSlotMethods",
847
+ "NODE_VARIANT_TAG_MAP": {
848
+ "div": "div",
849
+ "button": "button",
850
+ "anchor": "a"
851
+ },
852
+ "NODE_VARIANT_TAG_OPTIONS": [
853
+ "div",
854
+ "button",
855
+ "anchor"
856
+ ],
857
+ "SELECT_VARIANT_OPTIONS": [
858
+ "multiple",
859
+ "none"
860
+ ]
861
+ },
862
+ "Primer::Alpha::TreeView::SkeletonLoader": {
863
+ "GeneratedSlotMethods": "Primer::Alpha::TreeView::SkeletonLoader::GeneratedSlotMethods"
864
+ },
865
+ "Primer::Alpha::TreeView::SpinnerLoader": {
866
+ "GeneratedSlotMethods": "Primer::Alpha::TreeView::SpinnerLoader::GeneratedSlotMethods"
867
+ },
868
+ "Primer::Alpha::TreeView::SubTree": {
869
+ "GeneratedSlotMethods": "Primer::Alpha::TreeView::SubTree::GeneratedSlotMethods"
870
+ },
871
+ "Primer::Alpha::TreeView::SubTreeContainer": {
872
+ "GeneratedSlotMethods": "Primer::Alpha::TreeView::SubTreeContainer::GeneratedSlotMethods"
873
+ },
874
+ "Primer::Alpha::TreeView::SubTreeNode": {
875
+ "DEFAULT_SELECT_STRATEGY": "mixed_descendants",
876
+ "GeneratedSlotMethods": "Primer::Alpha::TreeView::SubTreeNode::GeneratedSlotMethods",
877
+ "SELECT_STRATEGIES": [
878
+ "self",
879
+ "mixed_descendants",
880
+ "descendants"
881
+ ]
882
+ },
883
+ "Primer::Alpha::TreeView::Visual": {
884
+ "GeneratedSlotMethods": "Primer::Alpha::TreeView::Visual::GeneratedSlotMethods"
885
+ },
785
886
  "Primer::Alpha::UnderlineNav": {
786
887
  "BODY_TAG_DEFAULT": "ul",
787
888
  "GeneratedSlotMethods": "Primer::Alpha::UnderlineNav::GeneratedSlotMethods",