polaris_view_components 0.11.0 → 0.12.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.
- checksums.yaml +4 -4
 - data/README.md +8 -1
 - data/app/assets/javascripts/polaris_view_components/autocomplete_controller.js +9 -3
 - data/app/assets/javascripts/polaris_view_components/dropzone_controller.js +10 -4
 - data/app/assets/javascripts/polaris_view_components/popover_controller.js +39 -13
 - data/app/assets/javascripts/polaris_view_components.js +101 -53
 - data/app/components/polaris/autocomplete_component.html.erb +3 -0
 - data/app/components/polaris/autocomplete_component.rb +3 -0
 - data/app/components/polaris/button_component.html.erb +2 -0
 - data/app/components/polaris/card/header_component.html.erb +4 -2
 - data/app/components/polaris/data_table_component.html.erb +5 -2
 - data/app/components/polaris/data_table_component.rb +10 -0
 - data/app/components/polaris/dropzone_component.html.erb +33 -29
 - data/app/components/polaris/dropzone_component.rb +4 -1
 - data/app/components/polaris/empty_search_results_component.html.erb +6 -3
 - data/app/components/polaris/empty_search_results_component.rb +3 -1
 - data/app/components/polaris/headless_button.html.erb +2 -0
 - data/app/components/polaris/headless_button.rb +1 -1
 - data/app/components/polaris/popover_component.html.erb +26 -16
 - data/app/components/polaris/popover_component.rb +6 -1
 - data/app/components/polaris/resource_item/shortcut_actions_component.html.erb +21 -0
 - data/app/components/polaris/resource_item/shortcut_actions_component.rb +88 -0
 - data/app/components/polaris/resource_item_component.html.erb +3 -0
 - data/app/components/polaris/resource_item_component.rb +11 -1
 - data/app/components/polaris/skeleton_page_component.html.erb +23 -0
 - data/app/components/polaris/skeleton_page_component.rb +22 -0
 - data/app/helpers/polaris/view_helper.rb +1 -0
 - data/lib/polaris/view_components/version.rb +1 -1
 - metadata +7 -3
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: c6ac82b9541cc182ed79f45d4850e23a0afe6255e3b94d0071c2cc9716dc81e8
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 48de38d93d9d972eb4becc326242ea894ea56532f68e0527339ac0647ee662f1
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 20b0f280d097398cf7793b35ddf77d8dfcdafea0039dd5114e1261fafa62d7bad528b1e3b83ac0015dce4af3619459f711b16bbeb85429f428d5766b1457b82d
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 5d187b4045398761dc1dfd1052965220ee80888a5ef17a3cef8eba19e6632ecf633497275f0833bd36c1e8ff0e0cb22d1fd11a8f0639ff0d2ba4a70a9881da88
         
     | 
    
        data/README.md
    CHANGED
    
    | 
         @@ -42,10 +42,17 @@ bin/rails polaris_view_components:install 
     | 
|
| 
       42 
42 
     | 
    
         
             
            To get started:
         
     | 
| 
       43 
43 
     | 
    
         | 
| 
       44 
44 
     | 
    
         
             
            1. Run: `bundle install`
         
     | 
| 
       45 
     | 
    
         
            -
             
     | 
| 
      
 45 
     | 
    
         
            +
            1. Run: `yarn install`
         
     | 
| 
      
 46 
     | 
    
         
            +
            1. Run: `bin/dev`
         
     | 
| 
       46 
47 
     | 
    
         | 
| 
       47 
48 
     | 
    
         
             
            It will open demo app with component previews on `localhost:4000`. You can change components and they will be updated on page reload. Component previews located in `demo/test/components/previews`.
         
     | 
| 
       48 
49 
     | 
    
         | 
| 
      
 50 
     | 
    
         
            +
            To run tests:
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
            ```bash
         
     | 
| 
      
 53 
     | 
    
         
            +
            rake
         
     | 
| 
      
 54 
     | 
    
         
            +
            ```
         
     | 
| 
      
 55 
     | 
    
         
            +
             
     | 
| 
       49 
56 
     | 
    
         
             
            ## Releases
         
     | 
| 
       50 
57 
     | 
    
         | 
| 
       51 
58 
     | 
    
         
             
            The library follows [semantic versioning](https://semver.org/). To draft a new release you need to run `script/release` with a new version number:
         
     | 
| 
         @@ -3,8 +3,8 @@ import { get } from '@rails/request.js' 
     | 
|
| 
       3 
3 
     | 
    
         
             
            import { debounce } from './utils'
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
       5 
5 
     | 
    
         
             
            export default class extends Controller {
         
     | 
| 
       6 
     | 
    
         
            -
              static targets = ['popover', 'input', 'results', 'option', 'emptyState']
         
     | 
| 
       7 
     | 
    
         
            -
              static values = { url: String, selected: Array }
         
     | 
| 
      
 6 
     | 
    
         
            +
              static targets = ['popover', 'input', 'hiddenInput', 'results', 'option', 'emptyState']
         
     | 
| 
      
 7 
     | 
    
         
            +
              static values = { multiple: Boolean, url: String, selected: Array }
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
       9 
9 
     | 
    
         
             
              connect() {
         
     | 
| 
       10 
10 
     | 
    
         
             
                this.inputTarget.addEventListener("input", this.onInputChange)
         
     | 
| 
         @@ -32,6 +32,12 @@ export default class extends Controller { 
     | 
|
| 
       32 
32 
     | 
    
         
             
                })
         
     | 
| 
       33 
33 
     | 
    
         | 
| 
       34 
34 
     | 
    
         
             
                this.element.dispatchEvent(changeEvent)
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
      
 36 
     | 
    
         
            +
                if (!this.multipleValue) {
         
     | 
| 
      
 37 
     | 
    
         
            +
                  this.popoverController.forceHide()
         
     | 
| 
      
 38 
     | 
    
         
            +
                  this.inputTarget.value = label
         
     | 
| 
      
 39 
     | 
    
         
            +
                  this.hiddenInputTarget.value = input.value
         
     | 
| 
      
 40 
     | 
    
         
            +
                }
         
     | 
| 
       35 
41 
     | 
    
         
             
              }
         
     | 
| 
       36 
42 
     | 
    
         | 
| 
       37 
43 
     | 
    
         
             
              onInputChange = debounce(() => {
         
     | 
| 
         @@ -65,7 +71,7 @@ export default class extends Controller { 
     | 
|
| 
       65 
71 
     | 
    
         
             
              }
         
     | 
| 
       66 
72 
     | 
    
         | 
| 
       67 
73 
     | 
    
         
             
              get visibleOptions() {
         
     | 
| 
       68 
     | 
    
         
            -
                return this.optionTargets.filter(option => {
         
     | 
| 
      
 74 
     | 
    
         
            +
                return [...this.optionTargets].filter(option => {
         
     | 
| 
       69 
75 
     | 
    
         
             
                  return !option.classList.contains('Polaris--hidden')
         
     | 
| 
       70 
76 
     | 
    
         
             
                })
         
     | 
| 
       71 
77 
     | 
    
         
             
              }
         
     | 
| 
         @@ -30,7 +30,8 @@ export default class extends Controller { 
     | 
|
| 
       30 
30 
     | 
    
         
             
                dropOnPage: Boolean,
         
     | 
| 
       31 
31 
     | 
    
         
             
                focused: Boolean,
         
     | 
| 
       32 
32 
     | 
    
         
             
                renderPreview: Boolean,
         
     | 
| 
       33 
     | 
    
         
            -
                size: String
         
     | 
| 
      
 33 
     | 
    
         
            +
                size: String,
         
     | 
| 
      
 34 
     | 
    
         
            +
                removePreviewsAfterUpload: Boolean
         
     | 
| 
       34 
35 
     | 
    
         
             
              }
         
     | 
| 
       35 
36 
     | 
    
         | 
| 
       36 
37 
     | 
    
         
             
              files = []
         
     | 
| 
         @@ -164,7 +165,7 @@ export default class extends Controller { 
     | 
|
| 
       164 
165 
     | 
    
         | 
| 
       165 
166 
     | 
    
         
             
              onDirectUploadsEnd = () => {
         
     | 
| 
       166 
167 
     | 
    
         
             
                this.enable()
         
     | 
| 
       167 
     | 
    
         
            -
                this.clearFiles()
         
     | 
| 
      
 168 
     | 
    
         
            +
                this.clearFiles(this.removePreviewsAfterUploadValue)
         
     | 
| 
       168 
169 
     | 
    
         | 
| 
       169 
170 
     | 
    
         
             
                if (this.acceptedFiles.length === 0) return
         
     | 
| 
       170 
171 
     | 
    
         | 
| 
         @@ -180,7 +181,7 @@ export default class extends Controller { 
     | 
|
| 
       180 
181 
     | 
    
         
             
                if (this.acceptedFiles.length === 0) return
         
     | 
| 
       181 
182 
     | 
    
         | 
| 
       182 
183 
     | 
    
         
             
                if (this.sizeValue == 'small') {
         
     | 
| 
       183 
     | 
    
         
            -
                  this. 
     | 
| 
      
 184 
     | 
    
         
            +
                  this.removePreview()
         
     | 
| 
       184 
185 
     | 
    
         
             
                  if (this.hasLoaderTarget)
         
     | 
| 
       185 
186 
     | 
    
         
             
                    this.loaderTarget.classList.remove("Polaris--hidden")
         
     | 
| 
       186 
187 
     | 
    
         
             
                } else {
         
     | 
| 
         @@ -358,13 +359,18 @@ export default class extends Controller { 
     | 
|
| 
       358 
359 
     | 
    
         
             
                return clone
         
     | 
| 
       359 
360 
     | 
    
         
             
              }
         
     | 
| 
       360 
361 
     | 
    
         | 
| 
       361 
     | 
    
         
            -
              clearFiles () {
         
     | 
| 
      
 362 
     | 
    
         
            +
              clearFiles (removePreview = true) {
         
     | 
| 
       362 
363 
     | 
    
         
             
                if (!this.previewRendered) return
         
     | 
| 
       363 
364 
     | 
    
         | 
| 
       364 
365 
     | 
    
         
             
                this.acceptedFiles = []
         
     | 
| 
       365 
366 
     | 
    
         
             
                this.files = []
         
     | 
| 
       366 
367 
     | 
    
         
             
                this.rejectedFiles = []
         
     | 
| 
       367 
368 
     | 
    
         | 
| 
      
 369 
     | 
    
         
            +
                if (removePreview)
         
     | 
| 
      
 370 
     | 
    
         
            +
                  this.removePreview()
         
     | 
| 
      
 371 
     | 
    
         
            +
              }
         
     | 
| 
      
 372 
     | 
    
         
            +
             
     | 
| 
      
 373 
     | 
    
         
            +
              removePreview () {
         
     | 
| 
       368 
374 
     | 
    
         
             
                if (!this.hasPreviewTarget) return
         
     | 
| 
       369 
375 
     | 
    
         | 
| 
       370 
376 
     | 
    
         
             
                this.previewTarget.remove()
         
     | 
| 
         @@ -2,15 +2,16 @@ import { Controller } from "@hotwired/stimulus" 
     | 
|
| 
       2 
2 
     | 
    
         
             
            import { createPopper } from "@popperjs/core/dist/esm"
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
4 
     | 
    
         
             
            export default class extends Controller {
         
     | 
| 
       5 
     | 
    
         
            -
              static targets = ["activator", "popover"]
         
     | 
| 
      
 5 
     | 
    
         
            +
              static targets = ["activator", "popover", "template"]
         
     | 
| 
       6 
6 
     | 
    
         
             
              static classes = ["open", "closed"]
         
     | 
| 
       7 
7 
     | 
    
         
             
              static values = {
         
     | 
| 
      
 8 
     | 
    
         
            +
                appendToBody: Boolean,
         
     | 
| 
       8 
9 
     | 
    
         
             
                placement: String,
         
     | 
| 
       9 
10 
     | 
    
         
             
                active: Boolean
         
     | 
| 
       10 
11 
     | 
    
         
             
              }
         
     | 
| 
       11 
12 
     | 
    
         | 
| 
       12 
13 
     | 
    
         
             
              connect() {
         
     | 
| 
       13 
     | 
    
         
            -
                 
     | 
| 
      
 14 
     | 
    
         
            +
                const popperOptions = {
         
     | 
| 
       14 
15 
     | 
    
         
             
                  placement: this.placementValue,
         
     | 
| 
       15 
16 
     | 
    
         
             
                  modifiers: [
         
     | 
| 
       16 
17 
     | 
    
         
             
                    {
         
     | 
| 
         @@ -26,31 +27,56 @@ export default class extends Controller { 
     | 
|
| 
       26 
27 
     | 
    
         
             
                      },
         
     | 
| 
       27 
28 
     | 
    
         
             
                    }
         
     | 
| 
       28 
29 
     | 
    
         
             
                  ]
         
     | 
| 
       29 
     | 
    
         
            -
                } 
     | 
| 
      
 30 
     | 
    
         
            +
                }
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
                if (this.appendToBodyValue) {
         
     | 
| 
      
 33 
     | 
    
         
            +
                  const clonedTemplate = this.templateTarget.content.cloneNode(true)
         
     | 
| 
      
 34 
     | 
    
         
            +
                  this.target = clonedTemplate.firstElementChild
         
     | 
| 
      
 35 
     | 
    
         
            +
                  popperOptions['strategy'] = 'fixed'
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
                  document.body.appendChild(clonedTemplate)
         
     | 
| 
      
 38 
     | 
    
         
            +
                }
         
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
                this.popper = createPopper(this.activatorTarget, this.target, popperOptions)
         
     | 
| 
       30 
41 
     | 
    
         
             
                if (this.activeValue) {
         
     | 
| 
       31 
42 
     | 
    
         
             
                  this.show()
         
     | 
| 
       32 
43 
     | 
    
         
             
                }
         
     | 
| 
       33 
44 
     | 
    
         
             
              }
         
     | 
| 
       34 
45 
     | 
    
         | 
| 
       35 
     | 
    
         
            -
              toggle() {
         
     | 
| 
       36 
     | 
    
         
            -
                this. 
     | 
| 
       37 
     | 
    
         
            -
                this. 
     | 
| 
      
 46 
     | 
    
         
            +
              async toggle() {
         
     | 
| 
      
 47 
     | 
    
         
            +
                this.target.classList.toggle(this.closedClass)
         
     | 
| 
      
 48 
     | 
    
         
            +
                this.target.classList.toggle(this.openClass)
         
     | 
| 
      
 49 
     | 
    
         
            +
                await this.popper.update()
         
     | 
| 
       38 
50 
     | 
    
         
             
              }
         
     | 
| 
       39 
51 
     | 
    
         | 
| 
       40 
52 
     | 
    
         
             
              async show() {
         
     | 
| 
       41 
     | 
    
         
            -
                this. 
     | 
| 
       42 
     | 
    
         
            -
                this. 
     | 
| 
      
 53 
     | 
    
         
            +
                this.target.classList.remove(this.closedClass)
         
     | 
| 
      
 54 
     | 
    
         
            +
                this.target.classList.add(this.openClass)
         
     | 
| 
       43 
55 
     | 
    
         
             
                await this.popper.update()
         
     | 
| 
       44 
56 
     | 
    
         
             
              }
         
     | 
| 
       45 
57 
     | 
    
         | 
| 
       46 
58 
     | 
    
         
             
              hide(event) {
         
     | 
| 
       47 
     | 
    
         
            -
                if ( 
     | 
| 
       48 
     | 
    
         
            -
             
     | 
| 
       49 
     | 
    
         
            -
                 
     | 
| 
      
 59 
     | 
    
         
            +
                if (this.element.contains(event.target)) return
         
     | 
| 
      
 60 
     | 
    
         
            +
                if (this.target.classList.contains(this.closedClass)) return
         
     | 
| 
      
 61 
     | 
    
         
            +
                if (this.appendToBodyValue && this.target.contains(event.target)) return
         
     | 
| 
      
 62 
     | 
    
         
            +
             
     | 
| 
      
 63 
     | 
    
         
            +
                this.forceHide()
         
     | 
| 
       50 
64 
     | 
    
         
             
              }
         
     | 
| 
       51 
65 
     | 
    
         | 
| 
       52 
66 
     | 
    
         
             
              forceHide() {
         
     | 
| 
       53 
     | 
    
         
            -
                this. 
     | 
| 
       54 
     | 
    
         
            -
                this. 
     | 
| 
      
 67 
     | 
    
         
            +
                this.target.classList.remove(this.openClass)
         
     | 
| 
      
 68 
     | 
    
         
            +
                this.target.classList.add(this.closedClass)
         
     | 
| 
      
 69 
     | 
    
         
            +
              }
         
     | 
| 
      
 70 
     | 
    
         
            +
             
     | 
| 
      
 71 
     | 
    
         
            +
              get target() {
         
     | 
| 
      
 72 
     | 
    
         
            +
                if (this.hasPopoverTarget) {
         
     | 
| 
      
 73 
     | 
    
         
            +
                  return this.popoverTarget
         
     | 
| 
      
 74 
     | 
    
         
            +
                } else {
         
     | 
| 
      
 75 
     | 
    
         
            +
                  return this._target
         
     | 
| 
      
 76 
     | 
    
         
            +
                }
         
     | 
| 
      
 77 
     | 
    
         
            +
              }
         
     | 
| 
      
 78 
     | 
    
         
            +
             
     | 
| 
      
 79 
     | 
    
         
            +
              set target(value) {
         
     | 
| 
      
 80 
     | 
    
         
            +
                this._target = value
         
     | 
| 
       55 
81 
     | 
    
         
             
              }
         
     | 
| 
       56 
82 
     | 
    
         
             
            }
         
     | 
| 
         @@ -174,8 +174,9 @@ function formatBytes(bytes, decimals) { 
     | 
|
| 
       174 
174 
     | 
    
         
             
            }
         
     | 
| 
       175 
175 
     | 
    
         | 
| 
       176 
176 
     | 
    
         
             
            class Autocomplete extends Controller {
         
     | 
| 
       177 
     | 
    
         
            -
              static targets=[ "popover", "input", "results", "option", "emptyState" ];
         
     | 
| 
      
 177 
     | 
    
         
            +
              static targets=[ "popover", "input", "hiddenInput", "results", "option", "emptyState" ];
         
     | 
| 
       178 
178 
     | 
    
         
             
              static values={
         
     | 
| 
      
 179 
     | 
    
         
            +
                multiple: Boolean,
         
     | 
| 
       179 
180 
     | 
    
         
             
                url: String,
         
     | 
| 
       180 
181 
     | 
    
         
             
                selected: Array
         
     | 
| 
       181 
182 
     | 
    
         
             
              };
         
     | 
| 
         @@ -203,6 +204,11 @@ class Autocomplete extends Controller { 
     | 
|
| 
       203 
204 
     | 
    
         
             
                  }
         
     | 
| 
       204 
205 
     | 
    
         
             
                });
         
     | 
| 
       205 
206 
     | 
    
         
             
                this.element.dispatchEvent(changeEvent);
         
     | 
| 
      
 207 
     | 
    
         
            +
                if (!this.multipleValue) {
         
     | 
| 
      
 208 
     | 
    
         
            +
                  this.popoverController.forceHide();
         
     | 
| 
      
 209 
     | 
    
         
            +
                  this.inputTarget.value = label;
         
     | 
| 
      
 210 
     | 
    
         
            +
                  this.hiddenInputTarget.value = input.value;
         
     | 
| 
      
 211 
     | 
    
         
            +
                }
         
     | 
| 
       206 
212 
     | 
    
         
             
              }
         
     | 
| 
       207 
213 
     | 
    
         
             
              onInputChange=debounce$1((() => {
         
     | 
| 
       208 
214 
     | 
    
         
             
                if (this.isRemote) {
         
     | 
| 
         @@ -228,7 +234,7 @@ class Autocomplete extends Controller { 
     | 
|
| 
       228 
234 
     | 
    
         
             
                return this.inputTarget.value;
         
     | 
| 
       229 
235 
     | 
    
         
             
              }
         
     | 
| 
       230 
236 
     | 
    
         
             
              get visibleOptions() {
         
     | 
| 
       231 
     | 
    
         
            -
                return this.optionTargets.filter((option => !option.classList.contains("Polaris--hidden")));
         
     | 
| 
      
 237 
     | 
    
         
            +
                return [ ...this.optionTargets ].filter((option => !option.classList.contains("Polaris--hidden")));
         
     | 
| 
       232 
238 
     | 
    
         
             
              }
         
     | 
| 
       233 
239 
     | 
    
         
             
              handleResults() {
         
     | 
| 
       234 
240 
     | 
    
         
             
                if (this.visibleOptions.length > 0) {
         
     | 
| 
         @@ -358,7 +364,8 @@ class Dropzone extends Controller { 
     | 
|
| 
       358 
364 
     | 
    
         
             
                dropOnPage: Boolean,
         
     | 
| 
       359 
365 
     | 
    
         
             
                focused: Boolean,
         
     | 
| 
       360 
366 
     | 
    
         
             
                renderPreview: Boolean,
         
     | 
| 
       361 
     | 
    
         
            -
                size: String
         
     | 
| 
      
 367 
     | 
    
         
            +
                size: String,
         
     | 
| 
      
 368 
     | 
    
         
            +
                removePreviewsAfterUpload: Boolean
         
     | 
| 
       362 
369 
     | 
    
         
             
              };
         
     | 
| 
       363 
370 
     | 
    
         
             
              files=[];
         
     | 
| 
       364 
371 
     | 
    
         
             
              rejectedFiles=[];
         
     | 
| 
         @@ -458,7 +465,7 @@ class Dropzone extends Controller { 
     | 
|
| 
       458 
465 
     | 
    
         
             
              };
         
     | 
| 
       459 
466 
     | 
    
         
             
              onDirectUploadsEnd=() => {
         
     | 
| 
       460 
467 
     | 
    
         
             
                this.enable();
         
     | 
| 
       461 
     | 
    
         
            -
                this.clearFiles();
         
     | 
| 
      
 468 
     | 
    
         
            +
                this.clearFiles(this.removePreviewsAfterUploadValue);
         
     | 
| 
       462 
469 
     | 
    
         
             
                if (this.acceptedFiles.length === 0) return;
         
     | 
| 
       463 
470 
     | 
    
         
             
                if (this.hasLoaderTarget) this.loaderTarget.classList.remove("Polaris--hidden");
         
     | 
| 
       464 
471 
     | 
    
         
             
              };
         
     | 
| 
         @@ -469,7 +476,7 @@ class Dropzone extends Controller { 
     | 
|
| 
       469 
476 
     | 
    
         
             
                if (!dropzone) return;
         
     | 
| 
       470 
477 
     | 
    
         
             
                if (this.acceptedFiles.length === 0) return;
         
     | 
| 
       471 
478 
     | 
    
         
             
                if (this.sizeValue == "small") {
         
     | 
| 
       472 
     | 
    
         
            -
                  this. 
     | 
| 
      
 479 
     | 
    
         
            +
                  this.removePreview();
         
     | 
| 
       473 
480 
     | 
    
         
             
                  if (this.hasLoaderTarget) this.loaderTarget.classList.remove("Polaris--hidden");
         
     | 
| 
       474 
481 
     | 
    
         
             
                } else {
         
     | 
| 
       475 
482 
     | 
    
         
             
                  const content = dropzone.querySelector(`[data-file-name="${file.name}"]`);
         
     | 
| 
         @@ -614,11 +621,14 @@ class Dropzone extends Controller { 
     | 
|
| 
       614 
621 
     | 
    
         
             
                }
         
     | 
| 
       615 
622 
     | 
    
         
             
                return clone;
         
     | 
| 
       616 
623 
     | 
    
         
             
              }
         
     | 
| 
       617 
     | 
    
         
            -
              clearFiles() {
         
     | 
| 
      
 624 
     | 
    
         
            +
              clearFiles(removePreview = true) {
         
     | 
| 
       618 
625 
     | 
    
         
             
                if (!this.previewRendered) return;
         
     | 
| 
       619 
626 
     | 
    
         
             
                this.acceptedFiles = [];
         
     | 
| 
       620 
627 
     | 
    
         
             
                this.files = [];
         
     | 
| 
       621 
628 
     | 
    
         
             
                this.rejectedFiles = [];
         
     | 
| 
      
 629 
     | 
    
         
            +
                if (removePreview) this.removePreview();
         
     | 
| 
      
 630 
     | 
    
         
            +
              }
         
     | 
| 
      
 631 
     | 
    
         
            +
              removePreview() {
         
     | 
| 
       622 
632 
     | 
    
         
             
                if (!this.hasPreviewTarget) return;
         
     | 
| 
       623 
633 
     | 
    
         
             
                this.previewTarget.remove();
         
     | 
| 
       624 
634 
     | 
    
         
             
                this.previewRendered = false;
         
     | 
| 
         @@ -1016,32 +1026,49 @@ var min = Math.min; 
     | 
|
| 
       1016 
1026 
     | 
    
         | 
| 
       1017 
1027 
     | 
    
         
             
            var round = Math.round;
         
     | 
| 
       1018 
1028 
     | 
    
         | 
| 
       1019 
     | 
    
         
            -
            function  
     | 
| 
      
 1029 
     | 
    
         
            +
            function getUAString() {
         
     | 
| 
      
 1030 
     | 
    
         
            +
              var uaData = navigator.userAgentData;
         
     | 
| 
      
 1031 
     | 
    
         
            +
              if (uaData != null && uaData.brands) {
         
     | 
| 
      
 1032 
     | 
    
         
            +
                return uaData.brands.map((function(item) {
         
     | 
| 
      
 1033 
     | 
    
         
            +
                  return item.brand + "/" + item.version;
         
     | 
| 
      
 1034 
     | 
    
         
            +
                })).join(" ");
         
     | 
| 
      
 1035 
     | 
    
         
            +
              }
         
     | 
| 
      
 1036 
     | 
    
         
            +
              return navigator.userAgent;
         
     | 
| 
      
 1037 
     | 
    
         
            +
            }
         
     | 
| 
      
 1038 
     | 
    
         
            +
             
     | 
| 
      
 1039 
     | 
    
         
            +
            function isLayoutViewport() {
         
     | 
| 
      
 1040 
     | 
    
         
            +
              return !/^((?!chrome|android).)*safari/i.test(getUAString());
         
     | 
| 
      
 1041 
     | 
    
         
            +
            }
         
     | 
| 
      
 1042 
     | 
    
         
            +
             
     | 
| 
      
 1043 
     | 
    
         
            +
            function getBoundingClientRect(element, includeScale, isFixedStrategy) {
         
     | 
| 
       1020 
1044 
     | 
    
         
             
              if (includeScale === void 0) {
         
     | 
| 
       1021 
1045 
     | 
    
         
             
                includeScale = false;
         
     | 
| 
       1022 
1046 
     | 
    
         
             
              }
         
     | 
| 
       1023 
     | 
    
         
            -
               
     | 
| 
      
 1047 
     | 
    
         
            +
              if (isFixedStrategy === void 0) {
         
     | 
| 
      
 1048 
     | 
    
         
            +
                isFixedStrategy = false;
         
     | 
| 
      
 1049 
     | 
    
         
            +
              }
         
     | 
| 
      
 1050 
     | 
    
         
            +
              var clientRect = element.getBoundingClientRect();
         
     | 
| 
       1024 
1051 
     | 
    
         
             
              var scaleX = 1;
         
     | 
| 
       1025 
1052 
     | 
    
         
             
              var scaleY = 1;
         
     | 
| 
       1026 
     | 
    
         
            -
              if (isHTMLElement(element) 
     | 
| 
       1027 
     | 
    
         
            -
                 
     | 
| 
       1028 
     | 
    
         
            -
                 
     | 
| 
       1029 
     | 
    
         
            -
             
     | 
| 
       1030 
     | 
    
         
            -
             
     | 
| 
       1031 
     | 
    
         
            -
             
     | 
| 
       1032 
     | 
    
         
            -
             
     | 
| 
       1033 
     | 
    
         
            -
             
     | 
| 
       1034 
     | 
    
         
            -
             
     | 
| 
       1035 
     | 
    
         
            -
               
     | 
| 
      
 1053 
     | 
    
         
            +
              if (includeScale && isHTMLElement(element)) {
         
     | 
| 
      
 1054 
     | 
    
         
            +
                scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;
         
     | 
| 
      
 1055 
     | 
    
         
            +
                scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;
         
     | 
| 
      
 1056 
     | 
    
         
            +
              }
         
     | 
| 
      
 1057 
     | 
    
         
            +
              var _ref = isElement(element) ? getWindow(element) : window, visualViewport = _ref.visualViewport;
         
     | 
| 
      
 1058 
     | 
    
         
            +
              var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;
         
     | 
| 
      
 1059 
     | 
    
         
            +
              var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;
         
     | 
| 
      
 1060 
     | 
    
         
            +
              var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;
         
     | 
| 
      
 1061 
     | 
    
         
            +
              var width = clientRect.width / scaleX;
         
     | 
| 
      
 1062 
     | 
    
         
            +
              var height = clientRect.height / scaleY;
         
     | 
| 
       1036 
1063 
     | 
    
         
             
              return {
         
     | 
| 
       1037 
     | 
    
         
            -
                width:  
     | 
| 
       1038 
     | 
    
         
            -
                height:  
     | 
| 
       1039 
     | 
    
         
            -
                top:  
     | 
| 
       1040 
     | 
    
         
            -
                right:  
     | 
| 
       1041 
     | 
    
         
            -
                bottom:  
     | 
| 
       1042 
     | 
    
         
            -
                left:  
     | 
| 
       1043 
     | 
    
         
            -
                x:  
     | 
| 
       1044 
     | 
    
         
            -
                y:  
     | 
| 
      
 1064 
     | 
    
         
            +
                width: width,
         
     | 
| 
      
 1065 
     | 
    
         
            +
                height: height,
         
     | 
| 
      
 1066 
     | 
    
         
            +
                top: y,
         
     | 
| 
      
 1067 
     | 
    
         
            +
                right: x + width,
         
     | 
| 
      
 1068 
     | 
    
         
            +
                bottom: y + height,
         
     | 
| 
      
 1069 
     | 
    
         
            +
                left: x,
         
     | 
| 
      
 1070 
     | 
    
         
            +
                x: x,
         
     | 
| 
      
 1071 
     | 
    
         
            +
                y: y
         
     | 
| 
       1045 
1072 
     | 
    
         
             
              };
         
     | 
| 
       1046 
1073 
     | 
    
         
             
            }
         
     | 
| 
       1047 
1074 
     | 
    
         | 
| 
         @@ -1106,8 +1133,8 @@ function getTrueOffsetParent(element) { 
     | 
|
| 
       1106 
1133 
     | 
    
         
             
            }
         
     | 
| 
       1107 
1134 
     | 
    
         | 
| 
       1108 
1135 
     | 
    
         
             
            function getContainingBlock(element) {
         
     | 
| 
       1109 
     | 
    
         
            -
              var isFirefox =  
     | 
| 
       1110 
     | 
    
         
            -
              var isIE =  
     | 
| 
      
 1136 
     | 
    
         
            +
              var isFirefox = /firefox/i.test(getUAString());
         
     | 
| 
      
 1137 
     | 
    
         
            +
              var isIE = /Trident/i.test(getUAString());
         
     | 
| 
       1111 
1138 
     | 
    
         
             
              if (isIE && isHTMLElement(element)) {
         
     | 
| 
       1112 
1139 
     | 
    
         
             
                var elementCss = getComputedStyle$1(element);
         
     | 
| 
       1113 
1140 
     | 
    
         
             
                if (elementCss.position === "fixed") {
         
     | 
| 
         @@ -1441,7 +1468,7 @@ function getWindowScrollBarX(element) { 
     | 
|
| 
       1441 
1468 
     | 
    
         
             
              return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;
         
     | 
| 
       1442 
1469 
     | 
    
         
             
            }
         
     | 
| 
       1443 
1470 
     | 
    
         | 
| 
       1444 
     | 
    
         
            -
            function getViewportRect(element) {
         
     | 
| 
      
 1471 
     | 
    
         
            +
            function getViewportRect(element, strategy) {
         
     | 
| 
       1445 
1472 
     | 
    
         
             
              var win = getWindow(element);
         
     | 
| 
       1446 
1473 
     | 
    
         
             
              var html = getDocumentElement(element);
         
     | 
| 
       1447 
1474 
     | 
    
         
             
              var visualViewport = win.visualViewport;
         
     | 
| 
         @@ -1452,7 +1479,8 @@ function getViewportRect(element) { 
     | 
|
| 
       1452 
1479 
     | 
    
         
             
              if (visualViewport) {
         
     | 
| 
       1453 
1480 
     | 
    
         
             
                width = visualViewport.width;
         
     | 
| 
       1454 
1481 
     | 
    
         
             
                height = visualViewport.height;
         
     | 
| 
       1455 
     | 
    
         
            -
                 
     | 
| 
      
 1482 
     | 
    
         
            +
                var layoutViewport = isLayoutViewport();
         
     | 
| 
      
 1483 
     | 
    
         
            +
                if (layoutViewport || !layoutViewport && strategy === "fixed") {
         
     | 
| 
       1456 
1484 
     | 
    
         
             
                  x = visualViewport.offsetLeft;
         
     | 
| 
       1457 
1485 
     | 
    
         
             
                  y = visualViewport.offsetTop;
         
     | 
| 
       1458 
1486 
     | 
    
         
             
                }
         
     | 
| 
         @@ -1522,8 +1550,8 @@ function rectToClientRect(rect) { 
     | 
|
| 
       1522 
1550 
     | 
    
         
             
              });
         
     | 
| 
       1523 
1551 
     | 
    
         
             
            }
         
     | 
| 
       1524 
1552 
     | 
    
         | 
| 
       1525 
     | 
    
         
            -
            function getInnerBoundingClientRect(element) {
         
     | 
| 
       1526 
     | 
    
         
            -
              var rect = getBoundingClientRect(element);
         
     | 
| 
      
 1553 
     | 
    
         
            +
            function getInnerBoundingClientRect(element, strategy) {
         
     | 
| 
      
 1554 
     | 
    
         
            +
              var rect = getBoundingClientRect(element, false, strategy === "fixed");
         
     | 
| 
       1527 
1555 
     | 
    
         
             
              rect.top = rect.top + element.clientTop;
         
     | 
| 
       1528 
1556 
     | 
    
         
             
              rect.left = rect.left + element.clientLeft;
         
     | 
| 
       1529 
1557 
     | 
    
         
             
              rect.bottom = rect.top + element.clientHeight;
         
     | 
| 
         @@ -1535,8 +1563,8 @@ function getInnerBoundingClientRect(element) { 
     | 
|
| 
       1535 
1563 
     | 
    
         
             
              return rect;
         
     | 
| 
       1536 
1564 
     | 
    
         
             
            }
         
     | 
| 
       1537 
1565 
     | 
    
         | 
| 
       1538 
     | 
    
         
            -
            function getClientRectFromMixedType(element, clippingParent) {
         
     | 
| 
       1539 
     | 
    
         
            -
              return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));
         
     | 
| 
      
 1566 
     | 
    
         
            +
            function getClientRectFromMixedType(element, clippingParent, strategy) {
         
     | 
| 
      
 1567 
     | 
    
         
            +
              return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));
         
     | 
| 
       1540 
1568 
     | 
    
         
             
            }
         
     | 
| 
       1541 
1569 
     | 
    
         | 
| 
       1542 
1570 
     | 
    
         
             
            function getClippingParents(element) {
         
     | 
| 
         @@ -1551,18 +1579,18 @@ function getClippingParents(element) { 
     | 
|
| 
       1551 
1579 
     | 
    
         
             
              }));
         
     | 
| 
       1552 
1580 
     | 
    
         
             
            }
         
     | 
| 
       1553 
1581 
     | 
    
         | 
| 
       1554 
     | 
    
         
            -
            function getClippingRect(element, boundary, rootBoundary) {
         
     | 
| 
      
 1582 
     | 
    
         
            +
            function getClippingRect(element, boundary, rootBoundary, strategy) {
         
     | 
| 
       1555 
1583 
     | 
    
         
             
              var mainClippingParents = boundary === "clippingParents" ? getClippingParents(element) : [].concat(boundary);
         
     | 
| 
       1556 
1584 
     | 
    
         
             
              var clippingParents = [].concat(mainClippingParents, [ rootBoundary ]);
         
     | 
| 
       1557 
1585 
     | 
    
         
             
              var firstClippingParent = clippingParents[0];
         
     | 
| 
       1558 
1586 
     | 
    
         
             
              var clippingRect = clippingParents.reduce((function(accRect, clippingParent) {
         
     | 
| 
       1559 
     | 
    
         
            -
                var rect = getClientRectFromMixedType(element, clippingParent);
         
     | 
| 
      
 1587 
     | 
    
         
            +
                var rect = getClientRectFromMixedType(element, clippingParent, strategy);
         
     | 
| 
       1560 
1588 
     | 
    
         
             
                accRect.top = max(rect.top, accRect.top);
         
     | 
| 
       1561 
1589 
     | 
    
         
             
                accRect.right = min(rect.right, accRect.right);
         
     | 
| 
       1562 
1590 
     | 
    
         
             
                accRect.bottom = min(rect.bottom, accRect.bottom);
         
     | 
| 
       1563 
1591 
     | 
    
         
             
                accRect.left = max(rect.left, accRect.left);
         
     | 
| 
       1564 
1592 
     | 
    
         
             
                return accRect;
         
     | 
| 
       1565 
     | 
    
         
            -
              }), getClientRectFromMixedType(element, firstClippingParent));
         
     | 
| 
      
 1593 
     | 
    
         
            +
              }), getClientRectFromMixedType(element, firstClippingParent, strategy));
         
     | 
| 
       1566 
1594 
     | 
    
         
             
              clippingRect.width = clippingRect.right - clippingRect.left;
         
     | 
| 
       1567 
1595 
     | 
    
         
             
              clippingRect.height = clippingRect.bottom - clippingRect.top;
         
     | 
| 
       1568 
1596 
     | 
    
         
             
              clippingRect.x = clippingRect.left;
         
     | 
| 
         @@ -1632,12 +1660,12 @@ function detectOverflow(state, options) { 
     | 
|
| 
       1632 
1660 
     | 
    
         
             
              if (options === void 0) {
         
     | 
| 
       1633 
1661 
     | 
    
         
             
                options = {};
         
     | 
| 
       1634 
1662 
     | 
    
         
             
              }
         
     | 
| 
       1635 
     | 
    
         
            -
              var _options = options, _options$placement = _options.placement, placement = _options$placement === void 0 ? state.placement : _options$placement, _options$boundary = _options.boundary, boundary = _options$boundary === void 0 ? clippingParents : _options$boundary, _options$rootBoundary = _options.rootBoundary, rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary, _options$elementConte = _options.elementContext, elementContext = _options$elementConte === void 0 ? popper : _options$elementConte, _options$altBoundary = _options.altBoundary, altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary, _options$padding = _options.padding, padding = _options$padding === void 0 ? 0 : _options$padding;
         
     | 
| 
      
 1663 
     | 
    
         
            +
              var _options = options, _options$placement = _options.placement, placement = _options$placement === void 0 ? state.placement : _options$placement, _options$strategy = _options.strategy, strategy = _options$strategy === void 0 ? state.strategy : _options$strategy, _options$boundary = _options.boundary, boundary = _options$boundary === void 0 ? clippingParents : _options$boundary, _options$rootBoundary = _options.rootBoundary, rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary, _options$elementConte = _options.elementContext, elementContext = _options$elementConte === void 0 ? popper : _options$elementConte, _options$altBoundary = _options.altBoundary, altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary, _options$padding = _options.padding, padding = _options$padding === void 0 ? 0 : _options$padding;
         
     | 
| 
       1636 
1664 
     | 
    
         
             
              var paddingObject = mergePaddingObject(typeof padding !== "number" ? padding : expandToHashMap(padding, basePlacements));
         
     | 
| 
       1637 
1665 
     | 
    
         
             
              var altContext = elementContext === popper ? reference : popper;
         
     | 
| 
       1638 
1666 
     | 
    
         
             
              var popperRect = state.rects.popper;
         
     | 
| 
       1639 
1667 
     | 
    
         
             
              var element = state.elements[altBoundary ? altContext : elementContext];
         
     | 
| 
       1640 
     | 
    
         
            -
              var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary);
         
     | 
| 
      
 1668 
     | 
    
         
            +
              var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);
         
     | 
| 
       1641 
1669 
     | 
    
         
             
              var referenceClientRect = getBoundingClientRect(state.elements.reference);
         
     | 
| 
       1642 
1670 
     | 
    
         
             
              var popperOffsets = computeOffsets({
         
     | 
| 
       1643 
1671 
     | 
    
         
             
                reference: referenceClientRect,
         
     | 
| 
         @@ -2040,7 +2068,7 @@ function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) { 
     | 
|
| 
       2040 
2068 
     | 
    
         
             
              var isOffsetParentAnElement = isHTMLElement(offsetParent);
         
     | 
| 
       2041 
2069 
     | 
    
         
             
              var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);
         
     | 
| 
       2042 
2070 
     | 
    
         
             
              var documentElement = getDocumentElement(offsetParent);
         
     | 
| 
       2043 
     | 
    
         
            -
              var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled);
         
     | 
| 
      
 2071 
     | 
    
         
            +
              var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);
         
     | 
| 
       2044 
2072 
     | 
    
         
             
              var scroll = {
         
     | 
| 
       2045 
2073 
     | 
    
         
             
                scrollLeft: 0,
         
     | 
| 
       2046 
2074 
     | 
    
         
             
                scrollTop: 0
         
     | 
| 
         @@ -2275,14 +2303,15 @@ var createPopper = popperGenerator({ 
     | 
|
| 
       2275 
2303 
     | 
    
         
             
            });
         
     | 
| 
       2276 
2304 
     | 
    
         | 
| 
       2277 
2305 
     | 
    
         
             
            class Popover extends Controller {
         
     | 
| 
       2278 
     | 
    
         
            -
              static targets=[ "activator", "popover" ];
         
     | 
| 
      
 2306 
     | 
    
         
            +
              static targets=[ "activator", "popover", "template" ];
         
     | 
| 
       2279 
2307 
     | 
    
         
             
              static classes=[ "open", "closed" ];
         
     | 
| 
       2280 
2308 
     | 
    
         
             
              static values={
         
     | 
| 
      
 2309 
     | 
    
         
            +
                appendToBody: Boolean,
         
     | 
| 
       2281 
2310 
     | 
    
         
             
                placement: String,
         
     | 
| 
       2282 
2311 
     | 
    
         
             
                active: Boolean
         
     | 
| 
       2283 
2312 
     | 
    
         
             
              };
         
     | 
| 
       2284 
2313 
     | 
    
         
             
              connect() {
         
     | 
| 
       2285 
     | 
    
         
            -
                 
     | 
| 
      
 2314 
     | 
    
         
            +
                const popperOptions = {
         
     | 
| 
       2286 
2315 
     | 
    
         
             
                  placement: this.placementValue,
         
     | 
| 
       2287 
2316 
     | 
    
         
             
                  modifiers: [ {
         
     | 
| 
       2288 
2317 
     | 
    
         
             
                    name: "offset",
         
     | 
| 
         @@ -2295,28 +2324,47 @@ class Popover extends Controller { 
     | 
|
| 
       2295 
2324 
     | 
    
         
             
                      allowedAutoPlacements: [ "top-start", "bottom-start", "top-end", "bottom-end" ]
         
     | 
| 
       2296 
2325 
     | 
    
         
             
                    }
         
     | 
| 
       2297 
2326 
     | 
    
         
             
                  } ]
         
     | 
| 
       2298 
     | 
    
         
            -
                } 
     | 
| 
      
 2327 
     | 
    
         
            +
                };
         
     | 
| 
      
 2328 
     | 
    
         
            +
                if (this.appendToBodyValue) {
         
     | 
| 
      
 2329 
     | 
    
         
            +
                  const clonedTemplate = this.templateTarget.content.cloneNode(true);
         
     | 
| 
      
 2330 
     | 
    
         
            +
                  this.target = clonedTemplate.firstElementChild;
         
     | 
| 
      
 2331 
     | 
    
         
            +
                  popperOptions["strategy"] = "fixed";
         
     | 
| 
      
 2332 
     | 
    
         
            +
                  document.body.appendChild(clonedTemplate);
         
     | 
| 
      
 2333 
     | 
    
         
            +
                }
         
     | 
| 
      
 2334 
     | 
    
         
            +
                this.popper = createPopper(this.activatorTarget, this.target, popperOptions);
         
     | 
| 
       2299 
2335 
     | 
    
         
             
                if (this.activeValue) {
         
     | 
| 
       2300 
2336 
     | 
    
         
             
                  this.show();
         
     | 
| 
       2301 
2337 
     | 
    
         
             
                }
         
     | 
| 
       2302 
2338 
     | 
    
         
             
              }
         
     | 
| 
       2303 
     | 
    
         
            -
              toggle() {
         
     | 
| 
       2304 
     | 
    
         
            -
                this. 
     | 
| 
       2305 
     | 
    
         
            -
                this. 
     | 
| 
      
 2339 
     | 
    
         
            +
              async toggle() {
         
     | 
| 
      
 2340 
     | 
    
         
            +
                this.target.classList.toggle(this.closedClass);
         
     | 
| 
      
 2341 
     | 
    
         
            +
                this.target.classList.toggle(this.openClass);
         
     | 
| 
      
 2342 
     | 
    
         
            +
                await this.popper.update();
         
     | 
| 
       2306 
2343 
     | 
    
         
             
              }
         
     | 
| 
       2307 
2344 
     | 
    
         
             
              async show() {
         
     | 
| 
       2308 
     | 
    
         
            -
                this. 
     | 
| 
       2309 
     | 
    
         
            -
                this. 
     | 
| 
      
 2345 
     | 
    
         
            +
                this.target.classList.remove(this.closedClass);
         
     | 
| 
      
 2346 
     | 
    
         
            +
                this.target.classList.add(this.openClass);
         
     | 
| 
       2310 
2347 
     | 
    
         
             
                await this.popper.update();
         
     | 
| 
       2311 
2348 
     | 
    
         
             
              }
         
     | 
| 
       2312 
2349 
     | 
    
         
             
              hide(event) {
         
     | 
| 
       2313 
     | 
    
         
            -
                if ( 
     | 
| 
       2314 
     | 
    
         
            -
             
     | 
| 
       2315 
     | 
    
         
            -
                 
     | 
| 
      
 2350 
     | 
    
         
            +
                if (this.element.contains(event.target)) return;
         
     | 
| 
      
 2351 
     | 
    
         
            +
                if (this.target.classList.contains(this.closedClass)) return;
         
     | 
| 
      
 2352 
     | 
    
         
            +
                if (this.appendToBodyValue && this.target.contains(event.target)) return;
         
     | 
| 
      
 2353 
     | 
    
         
            +
                this.forceHide();
         
     | 
| 
       2316 
2354 
     | 
    
         
             
              }
         
     | 
| 
       2317 
2355 
     | 
    
         
             
              forceHide() {
         
     | 
| 
       2318 
     | 
    
         
            -
                this. 
     | 
| 
       2319 
     | 
    
         
            -
                this. 
     | 
| 
      
 2356 
     | 
    
         
            +
                this.target.classList.remove(this.openClass);
         
     | 
| 
      
 2357 
     | 
    
         
            +
                this.target.classList.add(this.closedClass);
         
     | 
| 
      
 2358 
     | 
    
         
            +
              }
         
     | 
| 
      
 2359 
     | 
    
         
            +
              get target() {
         
     | 
| 
      
 2360 
     | 
    
         
            +
                if (this.hasPopoverTarget) {
         
     | 
| 
      
 2361 
     | 
    
         
            +
                  return this.popoverTarget;
         
     | 
| 
      
 2362 
     | 
    
         
            +
                } else {
         
     | 
| 
      
 2363 
     | 
    
         
            +
                  return this._target;
         
     | 
| 
      
 2364 
     | 
    
         
            +
                }
         
     | 
| 
      
 2365 
     | 
    
         
            +
              }
         
     | 
| 
      
 2366 
     | 
    
         
            +
              set target(value) {
         
     | 
| 
      
 2367 
     | 
    
         
            +
                this._target = value;
         
     | 
| 
       2320 
2368 
     | 
    
         
             
              }
         
     | 
| 
       2321 
2369 
     | 
    
         
             
            }
         
     | 
| 
       2322 
2370 
     | 
    
         | 
| 
         @@ -2,6 +2,9 @@ 
     | 
|
| 
       2 
2 
     | 
    
         
             
              <%= render(Polaris::PopoverComponent.new(**popover_arguments)) do |popover| %>
         
     | 
| 
       3 
3 
     | 
    
         
             
                <% popover.activator do %>
         
     | 
| 
       4 
4 
     | 
    
         
             
                  <%= text_field %>
         
     | 
| 
      
 5 
     | 
    
         
            +
                  <% if @name.present? %>
         
     | 
| 
      
 6 
     | 
    
         
            +
                    <%= hidden_field_tag @name, nil, data: {polaris_autocomplete_target: "hiddenInput"} %>
         
     | 
| 
      
 7 
     | 
    
         
            +
                  <% end %>
         
     | 
| 
       5 
8 
     | 
    
         
             
                <% end %>
         
     | 
| 
       6 
9 
     | 
    
         | 
| 
       7 
10 
     | 
    
         
             
                <% if empty_state.present? %>
         
     | 
| 
         @@ -24,11 +24,13 @@ module Polaris 
     | 
|
| 
       24 
24 
     | 
    
         
             
                def initialize(
         
     | 
| 
       25 
25 
     | 
    
         
             
                  multiple: false,
         
     | 
| 
       26 
26 
     | 
    
         
             
                  url: nil,
         
     | 
| 
      
 27 
     | 
    
         
            +
                  name: nil,
         
     | 
| 
       27 
28 
     | 
    
         
             
                  selected: [],
         
     | 
| 
       28 
29 
     | 
    
         
             
                  **system_arguments
         
     | 
| 
       29 
30 
     | 
    
         
             
                )
         
     | 
| 
       30 
31 
     | 
    
         
             
                  @multiple = multiple
         
     | 
| 
       31 
32 
     | 
    
         
             
                  @url = url
         
     | 
| 
      
 33 
     | 
    
         
            +
                  @name = name
         
     | 
| 
       32 
34 
     | 
    
         
             
                  @selected = selected
         
     | 
| 
       33 
35 
     | 
    
         
             
                  @system_arguments = system_arguments
         
     | 
| 
       34 
36 
     | 
    
         
             
                end
         
     | 
| 
         @@ -42,6 +44,7 @@ module Polaris 
     | 
|
| 
       42 
44 
     | 
    
         
             
                      opts[:data][:polaris_autocomplete_url_value] = @url
         
     | 
| 
       43 
45 
     | 
    
         
             
                    end
         
     | 
| 
       44 
46 
     | 
    
         
             
                    opts[:data][:polaris_autocomplete_selected_value] = @selected
         
     | 
| 
      
 47 
     | 
    
         
            +
                    opts[:data][:polaris_autocomplete_multiple_value] = @multiple if @multiple.present?
         
     | 
| 
       45 
48 
     | 
    
         
             
                  end
         
     | 
| 
       46 
49 
     | 
    
         
             
                end
         
     | 
| 
       47 
50 
     | 
    
         | 
| 
         @@ -12,6 +12,7 @@ 
     | 
|
| 
       12 
12 
     | 
    
         
             
                          header: true,
         
     | 
| 
       13 
13 
     | 
    
         
             
                          sort_url: column.sort_url,
         
     | 
| 
       14 
14 
     | 
    
         
             
                          sorted: column.sorted,
         
     | 
| 
      
 15 
     | 
    
         
            +
                          **column.system_arguments
         
     | 
| 
       15 
16 
     | 
    
         
             
                        ) do %>
         
     | 
| 
       16 
17 
     | 
    
         
             
                          <%= column.title %>
         
     | 
| 
       17 
18 
     | 
    
         
             
                        <% end %>
         
     | 
| 
         @@ -36,18 +37,19 @@ 
     | 
|
| 
       36 
37 
     | 
    
         
             
                  </thead>
         
     | 
| 
       37 
38 
     | 
    
         
             
                  <tbody>
         
     | 
| 
       38 
39 
     | 
    
         
             
                    <% @data.each do |row| %>
         
     | 
| 
       39 
     | 
    
         
            -
                       
     | 
| 
      
 40 
     | 
    
         
            +
                      <%= render Polaris::BaseComponent.new(**row_arguments(row)) do %>
         
     | 
| 
       40 
41 
     | 
    
         
             
                        <% columns.each_with_index do |column, index| %>
         
     | 
| 
       41 
42 
     | 
    
         
             
                          <%= render_cell(
         
     | 
| 
       42 
43 
     | 
    
         
             
                            first: index.zero?,
         
     | 
| 
       43 
44 
     | 
    
         
             
                            numeric: column.numeric,
         
     | 
| 
       44 
45 
     | 
    
         
             
                            tag: (index.zero? ? "th" : "td"),
         
     | 
| 
       45 
46 
     | 
    
         
             
                            scope: ("row" if index.zero?),
         
     | 
| 
      
 47 
     | 
    
         
            +
                            **column.system_arguments
         
     | 
| 
       46 
48 
     | 
    
         
             
                          ) do %>
         
     | 
| 
       47 
49 
     | 
    
         
             
                            <%= column.call(row) %>
         
     | 
| 
       48 
50 
     | 
    
         
             
                          <% end %>
         
     | 
| 
       49 
51 
     | 
    
         
             
                        <% end %>
         
     | 
| 
       50 
     | 
    
         
            -
                       
     | 
| 
      
 52 
     | 
    
         
            +
                      <% end %>
         
     | 
| 
       51 
53 
     | 
    
         
             
                    <% end %>
         
     | 
| 
       52 
54 
     | 
    
         
             
                  </tbody>
         
     | 
| 
       53 
55 
     | 
    
         
             
                  <% if @totals_in_footer %>
         
     | 
| 
         @@ -61,6 +63,7 @@ 
     | 
|
| 
       61 
63 
     | 
    
         
             
                            scope: ("row" if index.zero?),
         
     | 
| 
       62 
64 
     | 
    
         
             
                            total: true,
         
     | 
| 
       63 
65 
     | 
    
         
             
                            total_footer: true,
         
     | 
| 
      
 66 
     | 
    
         
            +
                            **column.system_arguments
         
     | 
| 
       64 
67 
     | 
    
         
             
                          ) do %>
         
     | 
| 
       65 
68 
     | 
    
         
             
                            <%= column.total %>
         
     | 
| 
       66 
69 
     | 
    
         
             
                          <% end %>
         
     | 
| 
         @@ -35,6 +35,16 @@ module Polaris 
     | 
|
| 
       35 
35 
     | 
    
         
             
                  end
         
     | 
| 
       36 
36 
     | 
    
         
             
                end
         
     | 
| 
       37 
37 
     | 
    
         | 
| 
      
 38 
     | 
    
         
            +
                def row_arguments(row)
         
     | 
| 
      
 39 
     | 
    
         
            +
                  {tag: "tr"}.tap do |args|
         
     | 
| 
      
 40 
     | 
    
         
            +
                    args[:classes] = class_names(
         
     | 
| 
      
 41 
     | 
    
         
            +
                      "Polaris-DataTable__TableRow",
         
     | 
| 
      
 42 
     | 
    
         
            +
                      "Polaris-DataTable--hoverable": @hoverable
         
     | 
| 
      
 43 
     | 
    
         
            +
                    )
         
     | 
| 
      
 44 
     | 
    
         
            +
                    args[:id] = dom_id(row) if row.respond_to?(:to_key)
         
     | 
| 
      
 45 
     | 
    
         
            +
                  end
         
     | 
| 
      
 46 
     | 
    
         
            +
                end
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
       38 
48 
     | 
    
         
             
                def render_cell(**arguments, &block)
         
     | 
| 
       39 
49 
     | 
    
         
             
                  render(DataTable::CellComponent.new(vertical_alignment: @vertical_alignment, **arguments), &block)
         
     | 
| 
       40 
50 
     | 
    
         
             
                end
         
     | 
| 
         @@ -30,39 +30,43 @@ 
     | 
|
| 
       30 
30 
     | 
    
         | 
| 
       31 
31 
     | 
    
         
             
                <div class="Polaris-DropZone__Container" data-polaris-dropzone-target="container">
         
     | 
| 
       32 
32 
     | 
    
         
             
                  <%= render Polaris::BaseComponent.new(**file_upload_arguments) do %>
         
     | 
| 
       33 
     | 
    
         
            -
                     
     | 
| 
       34 
     | 
    
         
            -
                       
     | 
| 
       35 
     | 
    
         
            -
             
     | 
| 
       36 
     | 
    
         
            -
             
     | 
| 
      
 33 
     | 
    
         
            +
                    <% if content.present? %>
         
     | 
| 
      
 34 
     | 
    
         
            +
                      <%= content %>
         
     | 
| 
      
 35 
     | 
    
         
            +
                    <% else %>
         
     | 
| 
      
 36 
     | 
    
         
            +
                      <%= render Polaris::StackComponent.new(vertical: true, spacing: :tight) do |stack| %>
         
     | 
| 
      
 37 
     | 
    
         
            +
                        <% unless @size == :medium %>
         
     | 
| 
      
 38 
     | 
    
         
            +
                          <% stack.item do %>
         
     | 
| 
      
 39 
     | 
    
         
            +
                            <img width="<%= @size == :small ? 20 : 40 %>" src="data:image/svg+xml,%3csvg fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M20 10a10 10 0 11-20 0 10 10 0 0120 0zM5.3 8.3l4-4a1 1 0 011.4 0l4 4a1 1 0 01-1.4 1.4L11 7.4V15a1 1 0 11-2 0V7.4L6.7 9.7a1 1 0 01-1.4-1.4z' fill='%235C5F62'/%3e%3c/svg%3e" alt="">
         
     | 
| 
      
 40 
     | 
    
         
            +
                          <% end %>
         
     | 
| 
       37 
41 
     | 
    
         
             
                        <% end %>
         
     | 
| 
       38 
     | 
    
         
            -
                      <% end %>
         
     | 
| 
       39 
42 
     | 
    
         | 
| 
       40 
     | 
    
         
            -
             
     | 
| 
       41 
     | 
    
         
            -
             
     | 
| 
       42 
     | 
    
         
            -
             
     | 
| 
       43 
     | 
    
         
            -
             
     | 
| 
       44 
     | 
    
         
            -
             
     | 
| 
       45 
     | 
    
         
            -
             
     | 
| 
       46 
     | 
    
         
            -
             
     | 
| 
       47 
     | 
    
         
            -
             
     | 
| 
       48 
     | 
    
         
            -
             
     | 
| 
       49 
     | 
    
         
            -
             
     | 
| 
      
 43 
     | 
    
         
            +
                        <% unless @size == :small %>
         
     | 
| 
      
 44 
     | 
    
         
            +
                          <% stack.item do %>
         
     | 
| 
      
 45 
     | 
    
         
            +
                            <% if @size == :medium %>
         
     | 
| 
      
 46 
     | 
    
         
            +
                              <div class="Polaris-DropZone-FileUpload__ActionTitle">
         
     | 
| 
      
 47 
     | 
    
         
            +
                                <%= @file_upload_button %>
         
     | 
| 
      
 48 
     | 
    
         
            +
                              </div>
         
     | 
| 
      
 49 
     | 
    
         
            +
                            <% else %>
         
     | 
| 
      
 50 
     | 
    
         
            +
                              <div class="Polaris-DropZone-FileUpload__Button">
         
     | 
| 
      
 51 
     | 
    
         
            +
                                <%= @file_upload_button %>
         
     | 
| 
      
 52 
     | 
    
         
            +
                              </div>
         
     | 
| 
      
 53 
     | 
    
         
            +
                            <% end %>
         
     | 
| 
       50 
54 
     | 
    
         
             
                          <% end %>
         
     | 
| 
       51 
55 
     | 
    
         
             
                        <% end %>
         
     | 
| 
       52 
     | 
    
         
            -
                      <% end %>
         
     | 
| 
       53 
56 
     | 
    
         | 
| 
       54 
     | 
    
         
            -
             
     | 
| 
       55 
     | 
    
         
            -
             
     | 
| 
       56 
     | 
    
         
            -
             
     | 
| 
       57 
     | 
    
         
            -
             
     | 
| 
       58 
     | 
    
         
            -
             
     | 
| 
      
 57 
     | 
    
         
            +
                        <% unless @size == :small %>
         
     | 
| 
      
 58 
     | 
    
         
            +
                          <% stack.item do %>
         
     | 
| 
      
 59 
     | 
    
         
            +
                            <% help_text = capture do %>
         
     | 
| 
      
 60 
     | 
    
         
            +
                              <%= render Polaris::TextStyleComponent.new(variation: :subdued) do %>
         
     | 
| 
      
 61 
     | 
    
         
            +
                                <%= @file_upload_help %>
         
     | 
| 
      
 62 
     | 
    
         
            +
                              <% end %>
         
     | 
| 
       59 
63 
     | 
    
         
             
                            <% end %>
         
     | 
| 
       60 
     | 
    
         
            -
                          <% end %>
         
     | 
| 
       61 
64 
     | 
    
         | 
| 
       62 
     | 
    
         
            -
             
     | 
| 
       63 
     | 
    
         
            -
             
     | 
| 
       64 
     | 
    
         
            -
             
     | 
| 
       65 
     | 
    
         
            -
             
     | 
| 
      
 65 
     | 
    
         
            +
                            <% if @size == :medium %>
         
     | 
| 
      
 66 
     | 
    
         
            +
                              <%= polaris_caption { help_text } %>
         
     | 
| 
      
 67 
     | 
    
         
            +
                            <% else %>
         
     | 
| 
      
 68 
     | 
    
         
            +
                              <%= help_text %>
         
     | 
| 
      
 69 
     | 
    
         
            +
                            <% end %>
         
     | 
| 
       66 
70 
     | 
    
         
             
                          <% end %>
         
     | 
| 
       67 
71 
     | 
    
         
             
                        <% end %>
         
     | 
| 
       68 
72 
     | 
    
         
             
                      <% end %>
         
     | 
| 
         @@ -87,12 +91,12 @@ 
     | 
|
| 
       87 
91 
     | 
    
         
             
                <template data-polaris-dropzone-target="previewTemplate">
         
     | 
| 
       88 
92 
     | 
    
         
             
                  <%= tag.div(
         
     | 
| 
       89 
93 
     | 
    
         
             
                    data: { polaris_dropzone_target: "preview" },
         
     | 
| 
       90 
     | 
    
         
            -
                    class:  
     | 
| 
       91 
     | 
    
         
            -
                      "Polaris-DropZone__Preview",
         
     | 
| 
      
 94 
     | 
    
         
            +
                    class: {
         
     | 
| 
      
 95 
     | 
    
         
            +
                      "Polaris-DropZone__Preview": true,
         
     | 
| 
       92 
96 
     | 
    
         
             
                      "Polaris-DropZone__Preview--singleFile": !@multiple,
         
     | 
| 
       93 
97 
     | 
    
         
             
                      "Polaris-DropZone__Preview--sizeMedium": @size == :medium,
         
     | 
| 
       94 
98 
     | 
    
         
             
                      "Polaris-DropZone__Preview--sizeSmall": @size == :small,
         
     | 
| 
       95 
     | 
    
         
            -
                     
     | 
| 
      
 99 
     | 
    
         
            +
                    }
         
     | 
| 
       96 
100 
     | 
    
         
             
                  ) do %>
         
     | 
| 
       97 
101 
     | 
    
         
             
                    <% if @size.in?(%i[small]) %>
         
     | 
| 
       98 
102 
     | 
    
         
             
                      <span class="target"></span>
         
     | 
| 
         @@ -37,6 +37,7 @@ module Polaris 
     | 
|
| 
       37 
37 
     | 
    
         
             
                  label_action: nil,
         
     | 
| 
       38 
38 
     | 
    
         
             
                  disabled: false,
         
     | 
| 
       39 
39 
     | 
    
         
             
                  error: false,
         
     | 
| 
      
 40 
     | 
    
         
            +
                  remove_previews_after_upload: true,
         
     | 
| 
       40 
41 
     | 
    
         
             
                  file_upload_button: nil,
         
     | 
| 
       41 
42 
     | 
    
         
             
                  file_upload_help: "or drop files to upload",
         
     | 
| 
       42 
43 
     | 
    
         
             
                  file_upload_arguments: {},
         
     | 
| 
         @@ -62,6 +63,7 @@ module Polaris 
     | 
|
| 
       62 
63 
     | 
    
         
             
                  @label_action = label_action
         
     | 
| 
       63 
64 
     | 
    
         
             
                  @disabled = disabled
         
     | 
| 
       64 
65 
     | 
    
         
             
                  @error = error
         
     | 
| 
      
 66 
     | 
    
         
            +
                  @remove_previews_after_upload = remove_previews_after_upload
         
     | 
| 
       65 
67 
     | 
    
         
             
                  @file_upload_button = file_upload_button
         
     | 
| 
       66 
68 
     | 
    
         
             
                  @file_upload_button ||= "Add #{multiple ? "files" : "file"}"
         
     | 
| 
       67 
69 
     | 
    
         
             
                  @file_upload_help = file_upload_help
         
     | 
| 
         @@ -82,7 +84,8 @@ module Polaris 
     | 
|
| 
       82 
84 
     | 
    
         
             
                      polaris_dropzone_focused_value: "false",
         
     | 
| 
       83 
85 
     | 
    
         
             
                      polaris_dropzone_drop_on_page_value: @drop_on_page,
         
     | 
| 
       84 
86 
     | 
    
         
             
                      polaris_dropzone_render_preview_value: @preview,
         
     | 
| 
       85 
     | 
    
         
            -
                      polaris_dropzone_size_value: @size
         
     | 
| 
      
 87 
     | 
    
         
            +
                      polaris_dropzone_size_value: @size,
         
     | 
| 
      
 88 
     | 
    
         
            +
                      polaris_dropzone_remove_previews_after_upload_value: @remove_previews_after_upload
         
     | 
| 
       86 
89 
     | 
    
         
             
                    }
         
     | 
| 
       87 
90 
     | 
    
         
             
                  }.deep_merge(@system_arguments).tap do |opts|
         
     | 
| 
       88 
91 
     | 
    
         
             
                    prepend_option(opts[:data], :controller, "polaris-dropzone")
         
     | 
| 
         @@ -1,12 +1,15 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            <%= render Polaris::BaseComponent.new(**system_arguments) do %>
         
     | 
| 
       2 
2 
     | 
    
         
             
              <div class="Polaris-EmptySearchResults__Content">
         
     | 
| 
       3 
3 
     | 
    
         
             
                <%= polaris_text_container do %>
         
     | 
| 
      
 4 
     | 
    
         
            +
                  <% if image.present? %>
         
     | 
| 
      
 5 
     | 
    
         
            +
                    <div><%= image %></div>
         
     | 
| 
      
 6 
     | 
    
         
            +
                  <% end %>
         
     | 
| 
       4 
7 
     | 
    
         
             
                  <%= polaris_display_text(size: :small) do %>
         
     | 
| 
       5 
8 
     | 
    
         
             
                    <%= @title %>
         
     | 
| 
       6 
9 
     | 
    
         
             
                  <% end %>
         
     | 
| 
       7 
     | 
    
         
            -
                   
     | 
| 
       8 
     | 
    
         
            -
                     
     | 
| 
       9 
     | 
    
         
            -
                   
     | 
| 
      
 10 
     | 
    
         
            +
                  <% if @description.present? %>
         
     | 
| 
      
 11 
     | 
    
         
            +
                    <div><%= polaris_text_subdued { @description } %></div>
         
     | 
| 
      
 12 
     | 
    
         
            +
                  <% end %>
         
     | 
| 
       10 
13 
     | 
    
         
             
                <% end %>
         
     | 
| 
       11 
14 
     | 
    
         
             
              </div>
         
     | 
| 
       12 
15 
     | 
    
         
             
            <% end %>
         
     | 
| 
         @@ -1,6 +1,8 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            module Polaris
         
     | 
| 
       2 
2 
     | 
    
         
             
              class EmptySearchResultsComponent < Polaris::Component
         
     | 
| 
       3 
     | 
    
         
            -
                 
     | 
| 
      
 3 
     | 
    
         
            +
                renders_one :image
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
                def initialize(title:, description: nil, **system_arguments)
         
     | 
| 
       4 
6 
     | 
    
         
             
                  @title = title
         
     | 
| 
       5 
7 
     | 
    
         
             
                  @description = description
         
     | 
| 
       6 
8 
     | 
    
         
             
                  @system_arguments = system_arguments
         
     | 
| 
         @@ -20,7 +20,7 @@ module Polaris 
     | 
|
| 
       20 
20 
     | 
    
         
             
                TEXT_ALIGN_OPTIONS = TEXT_ALIGN_MAPPINGS.keys
         
     | 
| 
       21 
21 
     | 
    
         | 
| 
       22 
22 
     | 
    
         
             
                DISCLOSURE_DEFAULT = false
         
     | 
| 
       23 
     | 
    
         
            -
                DISCLOSURE_OPTIONS = [true, false, :down, :up, :select]
         
     | 
| 
      
 23 
     | 
    
         
            +
                DISCLOSURE_OPTIONS = [true, false, :down, :up, :select, :horizontal_dots]
         
     | 
| 
       24 
24 
     | 
    
         | 
| 
       25 
25 
     | 
    
         
             
                renders_one :icon, IconComponent
         
     | 
| 
       26 
26 
     | 
    
         | 
| 
         @@ -7,25 +7,35 @@ 
     | 
|
| 
       7 
7 
     | 
    
         
             
                <% end %>
         
     | 
| 
       8 
8 
     | 
    
         
             
              </div>
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
     | 
    
         
            -
               
     | 
| 
       11 
     | 
    
         
            -
                <%= render Polaris::BaseComponent.new(** 
     | 
| 
       12 
     | 
    
         
            -
                   
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
                    <div  
     | 
| 
       15 
     | 
    
         
            -
                       
     | 
| 
       16 
     | 
    
         
            -
                         
     | 
| 
       17 
     | 
    
         
            -
                          <% panes. 
     | 
| 
       18 
     | 
    
         
            -
                             
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
       21 
     | 
    
         
            -
                           
     | 
| 
       22 
     | 
    
         
            -
                            <%=  
     | 
| 
      
 10 
     | 
    
         
            +
              <% popover = capture do %>
         
     | 
| 
      
 11 
     | 
    
         
            +
                <%= render Polaris::BaseComponent.new(**system_arguments) do %>
         
     | 
| 
      
 12 
     | 
    
         
            +
                  <%= render Polaris::BaseComponent.new(**popover_arguments) do %>
         
     | 
| 
      
 13 
     | 
    
         
            +
                    <div class="Polaris-Popover__FocusTracker" tabindex="0"></div>
         
     | 
| 
      
 14 
     | 
    
         
            +
                    <div style="">
         
     | 
| 
      
 15 
     | 
    
         
            +
                      <div class="Polaris-Popover__Wrapper">
         
     | 
| 
      
 16 
     | 
    
         
            +
                        <%= render Polaris::BaseComponent.new(**content_arguments) do %>
         
     | 
| 
      
 17 
     | 
    
         
            +
                          <% if panes.present? %>
         
     | 
| 
      
 18 
     | 
    
         
            +
                            <% panes.each do |pane| %>
         
     | 
| 
      
 19 
     | 
    
         
            +
                              <%= pane %>
         
     | 
| 
      
 20 
     | 
    
         
            +
                            <% end %>
         
     | 
| 
      
 21 
     | 
    
         
            +
                          <% else %>
         
     | 
| 
      
 22 
     | 
    
         
            +
                            <%= render Polaris::Popover::PaneComponent.new(sectioned: @sectioned) do %>
         
     | 
| 
      
 23 
     | 
    
         
            +
                              <%= content %>
         
     | 
| 
      
 24 
     | 
    
         
            +
                            <% end %>
         
     | 
| 
       23 
25 
     | 
    
         
             
                          <% end %>
         
     | 
| 
       24 
26 
     | 
    
         
             
                        <% end %>
         
     | 
| 
       25 
     | 
    
         
            -
                       
     | 
| 
      
 27 
     | 
    
         
            +
                      </div>
         
     | 
| 
       26 
28 
     | 
    
         
             
                    </div>
         
     | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
       28 
     | 
    
         
            -
                   
     | 
| 
      
 29 
     | 
    
         
            +
                    <div class="Polaris-Popover__FocusTracker" tabindex="0"></div>
         
     | 
| 
      
 30 
     | 
    
         
            +
                  <% end %>
         
     | 
| 
       29 
31 
     | 
    
         
             
                <% end %>
         
     | 
| 
       30 
32 
     | 
    
         
             
              <% end %>
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
              <% if @append_to_body %>
         
     | 
| 
      
 35 
     | 
    
         
            +
                <template data-polaris-popover-target="template">
         
     | 
| 
      
 36 
     | 
    
         
            +
                  <%= popover %>
         
     | 
| 
      
 37 
     | 
    
         
            +
                </template>
         
     | 
| 
      
 38 
     | 
    
         
            +
              <% else %>
         
     | 
| 
      
 39 
     | 
    
         
            +
                <%= popover %>
         
     | 
| 
      
 40 
     | 
    
         
            +
              <% end %>
         
     | 
| 
       31 
41 
     | 
    
         
             
            <% end %>
         
     | 
| 
         @@ -24,6 +24,7 @@ module Polaris 
     | 
|
| 
       24 
24 
     | 
    
         
             
                  sectioned: false,
         
     | 
| 
       25 
25 
     | 
    
         
             
                  alignment: ALIGNMENT_DEFAULT,
         
     | 
| 
       26 
26 
     | 
    
         
             
                  position: POSITION_DEFAULT,
         
     | 
| 
      
 27 
     | 
    
         
            +
                  append_to_body: false,
         
     | 
| 
       27 
28 
     | 
    
         
             
                  wrapper_arguments: {},
         
     | 
| 
       28 
29 
     | 
    
         
             
                  **system_arguments
         
     | 
| 
       29 
30 
     | 
    
         
             
                )
         
     | 
| 
         @@ -36,6 +37,7 @@ module Polaris 
     | 
|
| 
       36 
37 
     | 
    
         
             
                  @sectioned = sectioned
         
     | 
| 
       37 
38 
     | 
    
         
             
                  @alignment = fetch_or_fallback(ALIGNMENT_OPTIONS, alignment, ALIGNMENT_DEFAULT)
         
     | 
| 
       38 
39 
     | 
    
         
             
                  @position = fetch_or_fallback(POSITION_OPTIONS, position, POSITION_DEFAULT)
         
     | 
| 
      
 40 
     | 
    
         
            +
                  @append_to_body = append_to_body
         
     | 
| 
       39 
41 
     | 
    
         
             
                  @wrapper_arguments = wrapper_arguments
         
     | 
| 
       40 
42 
     | 
    
         
             
                  @system_arguments = system_arguments
         
     | 
| 
       41 
43 
     | 
    
         
             
                  @popover_arguments = {}
         
     | 
| 
         @@ -47,6 +49,7 @@ module Polaris 
     | 
|
| 
       47 
49 
     | 
    
         
             
                    opts[:tag] = "div"
         
     | 
| 
       48 
50 
     | 
    
         
             
                    opts[:data] ||= {}
         
     | 
| 
       49 
51 
     | 
    
         
             
                    prepend_option(opts[:data], :controller, "polaris-popover")
         
     | 
| 
      
 52 
     | 
    
         
            +
                    opts[:data][:polaris_popover_append_to_body_value] = @append_to_body
         
     | 
| 
       50 
53 
     | 
    
         
             
                    opts[:data][:polaris_popover_active_value] = @active
         
     | 
| 
       51 
54 
     | 
    
         
             
                    opts[:data][:polaris_popover_placement_value] = popperjs_placement
         
     | 
| 
       52 
55 
     | 
    
         
             
                    opts[:data][:polaris_popover_open_class] = "Polaris-Popover__PopoverOverlay--open"
         
     | 
| 
         @@ -61,7 +64,9 @@ module Polaris 
     | 
|
| 
       61 
64 
     | 
    
         
             
                  @system_arguments.tap do |opts|
         
     | 
| 
       62 
65 
     | 
    
         
             
                    opts[:tag] = "div"
         
     | 
| 
       63 
66 
     | 
    
         
             
                    opts[:data] ||= {}
         
     | 
| 
       64 
     | 
    
         
            -
                     
     | 
| 
      
 67 
     | 
    
         
            +
                    unless @append_to_body
         
     | 
| 
      
 68 
     | 
    
         
            +
                      opts[:data]["polaris_popover_target"] = "popover"
         
     | 
| 
      
 69 
     | 
    
         
            +
                    end
         
     | 
| 
       65 
70 
     | 
    
         
             
                    opts[:classes] = class_names(
         
     | 
| 
       66 
71 
     | 
    
         
             
                      @system_arguments[:classes],
         
     | 
| 
       67 
72 
     | 
    
         
             
                      "Polaris-PositionedOverlay",
         
     | 
| 
         @@ -0,0 +1,21 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            <%= render(Polaris::BaseComponent.new(**wrapper_arguments)) do %>
         
     | 
| 
      
 2 
     | 
    
         
            +
              <%= render(Polaris::ButtonGroupComponent.new(**system_arguments)) do |group| %>
         
     | 
| 
      
 3 
     | 
    
         
            +
                <% buttons.each do |button| %>
         
     | 
| 
      
 4 
     | 
    
         
            +
                  <% group.button(**button.system_arguments) { button.content } %>
         
     | 
| 
      
 5 
     | 
    
         
            +
                <% end %>
         
     | 
| 
      
 6 
     | 
    
         
            +
              <% end %>
         
     | 
| 
      
 7 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            <% if @persist_actions %>
         
     | 
| 
      
 10 
     | 
    
         
            +
              <%= render(Polaris::BaseComponent.new(**disclosure_arguments)) do %>
         
     | 
| 
      
 11 
     | 
    
         
            +
                <%= render(Polaris::PopoverComponent.new(**popover_arguments)) do |popover| %>
         
     | 
| 
      
 12 
     | 
    
         
            +
                  <% popover.button(disclosure: :horizontal_dots, plain: true) %>
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
                  <%= render(Polaris::ActionListComponent.new) do |action_list| %>
         
     | 
| 
      
 15 
     | 
    
         
            +
                    <% buttons.each do |button| %>
         
     | 
| 
      
 16 
     | 
    
         
            +
                      <% action_list.item(**button.action_list_item_arguments) { button.content } %>
         
     | 
| 
      
 17 
     | 
    
         
            +
                    <% end %>
         
     | 
| 
      
 18 
     | 
    
         
            +
                  <% end %>
         
     | 
| 
      
 19 
     | 
    
         
            +
                <% end %>
         
     | 
| 
      
 20 
     | 
    
         
            +
              <% end %>
         
     | 
| 
      
 21 
     | 
    
         
            +
            <% end %>
         
     | 
| 
         @@ -0,0 +1,88 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            class Polaris::ResourceItem::ShortcutActionsComponent < Polaris::Component
         
     | 
| 
      
 2 
     | 
    
         
            +
              renders_many :buttons, ->(**system_arguments) do
         
     | 
| 
      
 3 
     | 
    
         
            +
                ShortcutActionsButtonComponent.new(
         
     | 
| 
      
 4 
     | 
    
         
            +
                  persist_actions: @persist_actions,
         
     | 
| 
      
 5 
     | 
    
         
            +
                  **system_arguments
         
     | 
| 
      
 6 
     | 
    
         
            +
                )
         
     | 
| 
      
 7 
     | 
    
         
            +
              end
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
              def initialize(
         
     | 
| 
      
 10 
     | 
    
         
            +
                persist_actions: false,
         
     | 
| 
      
 11 
     | 
    
         
            +
                wrapper_arguments: {},
         
     | 
| 
      
 12 
     | 
    
         
            +
                disclosure_arguments: {},
         
     | 
| 
      
 13 
     | 
    
         
            +
                popover_arguments: {},
         
     | 
| 
      
 14 
     | 
    
         
            +
                **system_arguments
         
     | 
| 
      
 15 
     | 
    
         
            +
              )
         
     | 
| 
      
 16 
     | 
    
         
            +
                @persist_actions = persist_actions
         
     | 
| 
      
 17 
     | 
    
         
            +
                @wrapper_arguments = wrapper_arguments
         
     | 
| 
      
 18 
     | 
    
         
            +
                @disclosure_arguments = disclosure_arguments
         
     | 
| 
      
 19 
     | 
    
         
            +
                @popover_arguments = popover_arguments
         
     | 
| 
      
 20 
     | 
    
         
            +
                @system_arguments = system_arguments
         
     | 
| 
      
 21 
     | 
    
         
            +
              end
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
              def wrapper_arguments
         
     | 
| 
      
 24 
     | 
    
         
            +
                @wrapper_arguments.tap do |opts|
         
     | 
| 
      
 25 
     | 
    
         
            +
                  opts[:tag] = "div"
         
     | 
| 
      
 26 
     | 
    
         
            +
                  opts[:classes] = class_names(
         
     | 
| 
      
 27 
     | 
    
         
            +
                    @wrapper_arguments[:classes],
         
     | 
| 
      
 28 
     | 
    
         
            +
                    "Polaris-ResourceItem__Actions"
         
     | 
| 
      
 29 
     | 
    
         
            +
                  )
         
     | 
| 
      
 30 
     | 
    
         
            +
                end
         
     | 
| 
      
 31 
     | 
    
         
            +
              end
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
              def disclosure_arguments
         
     | 
| 
      
 34 
     | 
    
         
            +
                @disclosure_arguments.tap do |opts|
         
     | 
| 
      
 35 
     | 
    
         
            +
                  opts[:tag] = "div"
         
     | 
| 
      
 36 
     | 
    
         
            +
                  opts[:classes] = class_names(
         
     | 
| 
      
 37 
     | 
    
         
            +
                    @disclosure_arguments[:classes],
         
     | 
| 
      
 38 
     | 
    
         
            +
                    "Polaris-ResourceItem__Disclosure"
         
     | 
| 
      
 39 
     | 
    
         
            +
                  )
         
     | 
| 
      
 40 
     | 
    
         
            +
                end
         
     | 
| 
      
 41 
     | 
    
         
            +
              end
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
              def popover_arguments
         
     | 
| 
      
 44 
     | 
    
         
            +
                {
         
     | 
| 
      
 45 
     | 
    
         
            +
                  alignment: :right,
         
     | 
| 
      
 46 
     | 
    
         
            +
                  position: :below,
         
     | 
| 
      
 47 
     | 
    
         
            +
                  append_to_body: true
         
     | 
| 
      
 48 
     | 
    
         
            +
                }.deep_merge(@popover_arguments)
         
     | 
| 
      
 49 
     | 
    
         
            +
              end
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
              def system_arguments
         
     | 
| 
      
 52 
     | 
    
         
            +
                @system_arguments.tap do |opts|
         
     | 
| 
      
 53 
     | 
    
         
            +
                  opts[:segmented] = !@persist_actions
         
     | 
| 
      
 54 
     | 
    
         
            +
                end
         
     | 
| 
      
 55 
     | 
    
         
            +
              end
         
     | 
| 
      
 56 
     | 
    
         
            +
             
     | 
| 
      
 57 
     | 
    
         
            +
              class ShortcutActionsButtonComponent < Polaris::Component
         
     | 
| 
      
 58 
     | 
    
         
            +
                attr_reader :content
         
     | 
| 
      
 59 
     | 
    
         
            +
             
     | 
| 
      
 60 
     | 
    
         
            +
                def initialize(
         
     | 
| 
      
 61 
     | 
    
         
            +
                  url:,
         
     | 
| 
      
 62 
     | 
    
         
            +
                  content:,
         
     | 
| 
      
 63 
     | 
    
         
            +
                  persist_actions:,
         
     | 
| 
      
 64 
     | 
    
         
            +
                  action_list_item_arguments: {},
         
     | 
| 
      
 65 
     | 
    
         
            +
                  **system_arguments
         
     | 
| 
      
 66 
     | 
    
         
            +
                )
         
     | 
| 
      
 67 
     | 
    
         
            +
                  @url = url
         
     | 
| 
      
 68 
     | 
    
         
            +
                  @content = content
         
     | 
| 
      
 69 
     | 
    
         
            +
                  @persist_actions = persist_actions
         
     | 
| 
      
 70 
     | 
    
         
            +
                  @action_list_item_arguments = action_list_item_arguments
         
     | 
| 
      
 71 
     | 
    
         
            +
                  @system_arguments = system_arguments
         
     | 
| 
      
 72 
     | 
    
         
            +
                end
         
     | 
| 
      
 73 
     | 
    
         
            +
             
     | 
| 
      
 74 
     | 
    
         
            +
                def system_arguments
         
     | 
| 
      
 75 
     | 
    
         
            +
                  @system_arguments.tap do |opts|
         
     | 
| 
      
 76 
     | 
    
         
            +
                    opts[:url] = @url
         
     | 
| 
      
 77 
     | 
    
         
            +
                    opts[:size] = :slim unless @persist_actions
         
     | 
| 
      
 78 
     | 
    
         
            +
                    opts[:plain] = true if @persist_actions
         
     | 
| 
      
 79 
     | 
    
         
            +
                  end
         
     | 
| 
      
 80 
     | 
    
         
            +
                end
         
     | 
| 
      
 81 
     | 
    
         
            +
             
     | 
| 
      
 82 
     | 
    
         
            +
                def action_list_item_arguments
         
     | 
| 
      
 83 
     | 
    
         
            +
                  @action_list_item_arguments.tap do |opts|
         
     | 
| 
      
 84 
     | 
    
         
            +
                    opts[:url] = @url
         
     | 
| 
      
 85 
     | 
    
         
            +
                  end
         
     | 
| 
      
 86 
     | 
    
         
            +
                end
         
     | 
| 
      
 87 
     | 
    
         
            +
              end
         
     | 
| 
      
 88 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -26,12 +26,20 @@ module Polaris 
     | 
|
| 
       26 
26 
     | 
    
         
             
                end
         
     | 
| 
       27 
27 
     | 
    
         
             
                renders_one :media
         
     | 
| 
       28 
28 
     | 
    
         | 
| 
      
 29 
     | 
    
         
            +
                renders_one :shortcut_actions, ->(**system_arguments) do
         
     | 
| 
      
 30 
     | 
    
         
            +
                  Polaris::ResourceItem::ShortcutActionsComponent.new(
         
     | 
| 
      
 31 
     | 
    
         
            +
                    persist_actions: @persist_actions,
         
     | 
| 
      
 32 
     | 
    
         
            +
                    **system_arguments
         
     | 
| 
      
 33 
     | 
    
         
            +
                  )
         
     | 
| 
      
 34 
     | 
    
         
            +
                end
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
       29 
36 
     | 
    
         
             
                def initialize(
         
     | 
| 
       30 
37 
     | 
    
         
             
                  url: nil,
         
     | 
| 
       31 
38 
     | 
    
         
             
                  vertical_alignment: ALIGNMENT_DEFAULT,
         
     | 
| 
       32 
39 
     | 
    
         
             
                  cursor: CURSOR_DEFAULT,
         
     | 
| 
       33 
40 
     | 
    
         
             
                  selectable: false,
         
     | 
| 
       34 
41 
     | 
    
         
             
                  selected: false,
         
     | 
| 
      
 42 
     | 
    
         
            +
                  persist_actions: false,
         
     | 
| 
       35 
43 
     | 
    
         
             
                  offset: false,
         
     | 
| 
       36 
44 
     | 
    
         
             
                  wrapper_arguments: {},
         
     | 
| 
       37 
45 
     | 
    
         
             
                  container_arguments: {},
         
     | 
| 
         @@ -42,6 +50,7 @@ module Polaris 
     | 
|
| 
       42 
50 
     | 
    
         
             
                  @cursor = fetch_or_fallback(CURSOR_OPTIONS, cursor, CURSOR_DEFAULT)
         
     | 
| 
       43 
51 
     | 
    
         
             
                  @selectable = selectable
         
     | 
| 
       44 
52 
     | 
    
         
             
                  @selected = selected
         
     | 
| 
      
 53 
     | 
    
         
            +
                  @persist_actions = persist_actions
         
     | 
| 
       45 
54 
     | 
    
         
             
                  @offset = offset
         
     | 
| 
       46 
55 
     | 
    
         
             
                  @wrapper_arguments = wrapper_arguments
         
     | 
| 
       47 
56 
     | 
    
         
             
                  @container_arguments = container_arguments
         
     | 
| 
         @@ -82,7 +91,8 @@ module Polaris 
     | 
|
| 
       82 
91 
     | 
    
         
             
                      args[:classes],
         
     | 
| 
       83 
92 
     | 
    
         
             
                      "Polaris-ResourceItem",
         
     | 
| 
       84 
93 
     | 
    
         
             
                      "Polaris-ResourceItem--selectable": @selectable,
         
     | 
| 
       85 
     | 
    
         
            -
                      "Polaris-ResourceItem--selected": @selected
         
     | 
| 
      
 94 
     | 
    
         
            +
                      "Polaris-ResourceItem--selected": @selected,
         
     | 
| 
      
 95 
     | 
    
         
            +
                      "Polaris-ResourceItem--persistActions": @persist_actions
         
     | 
| 
       86 
96 
     | 
    
         
             
                    )
         
     | 
| 
       87 
97 
     | 
    
         
             
                    prepend_option(args, :style, "cursor: #{@cursor};")
         
     | 
| 
       88 
98 
     | 
    
         
             
                    prepend_option(args[:data], :action, "click->polaris-resource-item#open")
         
     | 
| 
         @@ -0,0 +1,23 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            <%= render Polaris::BaseComponent.new(**system_arguments) do %>
         
     | 
| 
      
 2 
     | 
    
         
            +
              <div class="Polaris-SkeletonPage__Header">
         
     | 
| 
      
 3 
     | 
    
         
            +
                <div class="Polaris-SkeletonPage__TitleAndPrimaryAction">
         
     | 
| 
      
 4 
     | 
    
         
            +
                  <div class="Polaris-SkeletonPage__TitleWrapper">
         
     | 
| 
      
 5 
     | 
    
         
            +
                    <% if @title.present? %>
         
     | 
| 
      
 6 
     | 
    
         
            +
                      <h1 class="Polaris-SkeletonPage__Title">
         
     | 
| 
      
 7 
     | 
    
         
            +
                        <%= @title %>
         
     | 
| 
      
 8 
     | 
    
         
            +
                      </h1>
         
     | 
| 
      
 9 
     | 
    
         
            +
                    <% else %>
         
     | 
| 
      
 10 
     | 
    
         
            +
                      <div class="Polaris-SkeletonPage__SkeletonTitle"></div>
         
     | 
| 
      
 11 
     | 
    
         
            +
                    <% end %>
         
     | 
| 
      
 12 
     | 
    
         
            +
                  </div>
         
     | 
| 
      
 13 
     | 
    
         
            +
                  <% if @primary_action %>
         
     | 
| 
      
 14 
     | 
    
         
            +
                    <div class="Polaris-SkeletonPage__PrimaryAction">
         
     | 
| 
      
 15 
     | 
    
         
            +
                      <%= polaris_skeleton_display_text(size: :large) %>
         
     | 
| 
      
 16 
     | 
    
         
            +
                    </div>
         
     | 
| 
      
 17 
     | 
    
         
            +
                  <% end %>
         
     | 
| 
      
 18 
     | 
    
         
            +
                </div>
         
     | 
| 
      
 19 
     | 
    
         
            +
              </div>
         
     | 
| 
      
 20 
     | 
    
         
            +
              <div class="Polaris-SkeletonPage__Content">
         
     | 
| 
      
 21 
     | 
    
         
            +
                <%= content %>
         
     | 
| 
      
 22 
     | 
    
         
            +
              </div>
         
     | 
| 
      
 23 
     | 
    
         
            +
            <% end %>
         
     | 
| 
         @@ -0,0 +1,22 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module Polaris
         
     | 
| 
      
 4 
     | 
    
         
            +
              class SkeletonPageComponent < Polaris::Component
         
     | 
| 
      
 5 
     | 
    
         
            +
                def initialize(title: nil, primary_action: false, **system_arguments)
         
     | 
| 
      
 6 
     | 
    
         
            +
                  @title = title
         
     | 
| 
      
 7 
     | 
    
         
            +
                  @primary_action = primary_action
         
     | 
| 
      
 8 
     | 
    
         
            +
                  @system_arguments = system_arguments
         
     | 
| 
      
 9 
     | 
    
         
            +
                end
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
                def system_arguments
         
     | 
| 
      
 12 
     | 
    
         
            +
                  @system_arguments.tap do |opts|
         
     | 
| 
      
 13 
     | 
    
         
            +
                    opts[:tag] = "div"
         
     | 
| 
      
 14 
     | 
    
         
            +
                    opts[:role] = "status"
         
     | 
| 
      
 15 
     | 
    
         
            +
                    opts[:classes] = class_names(
         
     | 
| 
      
 16 
     | 
    
         
            +
                      @system_arguments[:classes],
         
     | 
| 
      
 17 
     | 
    
         
            +
                      "Polaris-SkeletonPage__Page"
         
     | 
| 
      
 18 
     | 
    
         
            +
                    )
         
     | 
| 
      
 19 
     | 
    
         
            +
                  end
         
     | 
| 
      
 20 
     | 
    
         
            +
                end
         
     | 
| 
      
 21 
     | 
    
         
            +
              end
         
     | 
| 
      
 22 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -60,6 +60,7 @@ module Polaris 
     | 
|
| 
       60 
60 
     | 
    
         
             
                  spinner:                  "Polaris::SpinnerComponent",
         
     | 
| 
       61 
61 
     | 
    
         
             
                  skeleton_body_text:       "Polaris::SkeletonBodyTextComponent",
         
     | 
| 
       62 
62 
     | 
    
         
             
                  skeleton_display_text:    "Polaris::SkeletonDisplayTextComponent",
         
     | 
| 
      
 63 
     | 
    
         
            +
                  skeleton_page:            "Polaris::SkeletonPageComponent",
         
     | 
| 
       63 
64 
     | 
    
         
             
                  skeleton_thumbnail:       "Polaris::SkeletonThumbnailComponent",
         
     | 
| 
       64 
65 
     | 
    
         
             
                  spacer:                   "Polaris::SpacerComponent",
         
     | 
| 
       65 
66 
     | 
    
         
             
                  tabs:                     "Polaris::TabsComponent",
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: polaris_view_components
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.12.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Dan Gamble
         
     | 
| 
         @@ -9,7 +9,7 @@ authors: 
     | 
|
| 
       9 
9 
     | 
    
         
             
            autorequire:
         
     | 
| 
       10 
10 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       11 
11 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       12 
     | 
    
         
            -
            date: 2022- 
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2022-10-12 00:00:00.000000000 Z
         
     | 
| 
       13 
13 
     | 
    
         
             
            dependencies:
         
     | 
| 
       14 
14 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       15 
15 
     | 
    
         
             
              name: rails
         
     | 
| 
         @@ -695,6 +695,8 @@ files: 
     | 
|
| 
       695 
695 
     | 
    
         
             
            - app/components/polaris/progress_bar_component.rb
         
     | 
| 
       696 
696 
     | 
    
         
             
            - app/components/polaris/radio_button_component.html.erb
         
     | 
| 
       697 
697 
     | 
    
         
             
            - app/components/polaris/radio_button_component.rb
         
     | 
| 
      
 698 
     | 
    
         
            +
            - app/components/polaris/resource_item/shortcut_actions_component.html.erb
         
     | 
| 
      
 699 
     | 
    
         
            +
            - app/components/polaris/resource_item/shortcut_actions_component.rb
         
     | 
| 
       698 
700 
     | 
    
         
             
            - app/components/polaris/resource_item_component.html.erb
         
     | 
| 
       699 
701 
     | 
    
         
             
            - app/components/polaris/resource_item_component.rb
         
     | 
| 
       700 
702 
     | 
    
         
             
            - app/components/polaris/resource_list_component.html.erb
         
     | 
| 
         @@ -710,6 +712,8 @@ files: 
     | 
|
| 
       710 
712 
     | 
    
         
             
            - app/components/polaris/skeleton_body_text_component.html.erb
         
     | 
| 
       711 
713 
     | 
    
         
             
            - app/components/polaris/skeleton_body_text_component.rb
         
     | 
| 
       712 
714 
     | 
    
         
             
            - app/components/polaris/skeleton_display_text_component.rb
         
     | 
| 
      
 715 
     | 
    
         
            +
            - app/components/polaris/skeleton_page_component.html.erb
         
     | 
| 
      
 716 
     | 
    
         
            +
            - app/components/polaris/skeleton_page_component.rb
         
     | 
| 
       713 
717 
     | 
    
         
             
            - app/components/polaris/skeleton_thumbnail_component.rb
         
     | 
| 
       714 
718 
     | 
    
         
             
            - app/components/polaris/spacer_component.rb
         
     | 
| 
       715 
719 
     | 
    
         
             
            - app/components/polaris/spinner_component.html.erb
         
     | 
| 
         @@ -769,7 +773,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       769 
773 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       770 
774 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       771 
775 
     | 
    
         
             
            requirements: []
         
     | 
| 
       772 
     | 
    
         
            -
            rubygems_version: 3.3. 
     | 
| 
      
 776 
     | 
    
         
            +
            rubygems_version: 3.3.7
         
     | 
| 
       773 
777 
     | 
    
         
             
            signing_key:
         
     | 
| 
       774 
778 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       775 
779 
     | 
    
         
             
            summary: ViewComponents for Polaris Design System
         
     |