avo 2.5.2.pre.7 → 2.6.1.pre.2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of avo might be problematic. Click here for more details.

Files changed (85) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +2 -0
  3. data/Gemfile.lock +5 -1
  4. data/app/assets/builds/action_cable.js +2 -0
  5. data/app/assets/builds/action_cable.js.map +7 -0
  6. data/app/assets/builds/avo.css +175 -122
  7. data/app/assets/builds/avo.js +63 -63
  8. data/app/assets/builds/avo.js.map +3 -3
  9. data/app/assets/stylesheets/avo.css +33 -1
  10. data/app/assets/stylesheets/css/search.css +1 -1
  11. data/app/assets/svgs/heroicons/solid/user-remove.svg +1 -1
  12. data/app/components/avo/actions_component.html.erb +3 -2
  13. data/app/components/avo/alert_component.html.erb +1 -1
  14. data/app/components/avo/alert_component.rb +24 -5
  15. data/app/components/avo/button_component.rb +50 -17
  16. data/app/components/avo/card_component.rb +12 -0
  17. data/app/components/avo/fields/belongs_to_field/autocomplete_component.html.erb +3 -0
  18. data/app/components/avo/fields/concerns/item_labels.rb +40 -0
  19. data/app/components/avo/fields/tags_field/edit_component.html.erb +1 -1
  20. data/app/components/avo/fields/tags_field/index_component.html.erb +1 -5
  21. data/app/components/avo/fields/tags_field/index_component.rb +2 -0
  22. data/app/components/avo/fields/tags_field/show_component.rb +3 -7
  23. data/app/components/avo/fields/tags_field/tag_component.html.erb +1 -1
  24. data/app/components/avo/filters_component.html.erb +1 -1
  25. data/app/components/avo/index/field_wrapper_component.html.erb +1 -1
  26. data/app/components/avo/index/grid_cover_empty_state_component.html.erb +1 -1
  27. data/app/components/avo/index/table_row_component.html.erb +1 -1
  28. data/app/components/avo/paginator_component.html.erb +2 -2
  29. data/app/components/avo/panel_component.html.erb +3 -3
  30. data/app/components/avo/panel_component.rb +1 -1
  31. data/app/components/avo/resource_component.rb +50 -0
  32. data/app/components/avo/sidebar/group_component.html.erb +4 -2
  33. data/app/components/avo/sidebar/heading_component.html.erb +1 -1
  34. data/app/components/avo/sidebar/link_component.html.erb +1 -1
  35. data/app/components/avo/sidebar/link_component.rb +1 -1
  36. data/app/components/avo/sidebar_component.html.erb +5 -13
  37. data/app/components/avo/sidebar_profile_component.html.erb +1 -1
  38. data/app/components/avo/views/resource_edit_component.html.erb +28 -3
  39. data/app/components/avo/views/resource_edit_component.rb +4 -6
  40. data/app/components/avo/views/resource_index_component.html.erb +17 -9
  41. data/app/components/avo/views/resource_new_component.html.erb +8 -2
  42. data/app/components/avo/views/resource_show_component.html.erb +16 -6
  43. data/app/components/avo/views/resource_show_component.rb +0 -45
  44. data/app/controllers/avo/actions_controller.rb +23 -8
  45. data/app/controllers/avo/associations_controller.rb +3 -3
  46. data/app/controllers/avo/base_controller.rb +11 -21
  47. data/app/controllers/avo/private_controller.rb +1 -0
  48. data/app/controllers/avo/search_controller.rb +33 -13
  49. data/app/helpers/avo/application_helper.rb +1 -1
  50. data/app/javascript/js/controllers/fields/key_value_controller.js +1 -1
  51. data/app/javascript/js/controllers/fields/tags_field_controller.js +3 -3
  52. data/app/javascript/js/controllers/filter_controller.js +4 -1
  53. data/app/javascript/js/controllers/search_controller.js +9 -1
  54. data/app/javascript/js/controllers.js +0 -2
  55. data/app/views/avo/actions/show.html.erb +5 -2
  56. data/app/views/avo/dashboards/_chartkick_card.html.erb +1 -1
  57. data/app/views/avo/dashboards/_metric_card.html.erb +1 -1
  58. data/app/views/avo/partials/_global_search.html.erb +1 -1
  59. data/app/views/avo/partials/_logo.html.erb +1 -1
  60. data/app/views/avo/partials/_navbar.html.erb +9 -6
  61. data/app/views/avo/partials/_resource_search.html.erb +1 -1
  62. data/app/views/avo/partials/_table_header.html.erb +3 -2
  63. data/app/views/avo/private/_links_and_buttons.html.erb +2 -2
  64. data/app/views/layouts/avo/application.html.erb +50 -53
  65. data/lib/avo/base_action.rb +24 -6
  66. data/lib/avo/engine.rb +1 -1
  67. data/lib/avo/fields/belongs_to_field.rb +4 -4
  68. data/lib/avo/fields/has_and_belongs_to_many_field.rb +2 -2
  69. data/lib/avo/fields/has_base_field.rb +2 -0
  70. data/lib/avo/fields/has_many_field.rb +2 -2
  71. data/lib/avo/fields/has_one_field.rb +2 -2
  72. data/lib/avo/fields/tags_field.rb +5 -5
  73. data/lib/avo/hosts/base_host.rb +2 -0
  74. data/lib/avo/version.rb +1 -1
  75. data/lib/generators/avo/templates/cards/chartkick_card.tt +1 -1
  76. data/lib/generators/avo/templates/cards/chartkick_card_sample.tt +1 -1
  77. data/lib/generators/avo/templates/cards/metric_card.tt +1 -1
  78. data/lib/generators/avo/templates/cards/metric_card_sample.tt +1 -1
  79. data/lib/tasks/avo_tasks.rake +7 -3
  80. data/public/avo-assets/avo.css +225 -172
  81. data/public/avo-assets/avo.js +63 -63
  82. data/public/avo-assets/avo.js.map +3 -3
  83. metadata +5 -4
  84. data/app/assets/stylesheets/css/alerts.css +0 -35
  85. data/app/javascript/js/controllers/alerts_controller.js +0 -26
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a28573214bb7c1b862f5114ea719042e358600403459f69a138382276518bc11
4
- data.tar.gz: edfaf30976abadb6d7cbe607c4c117d9cfe4887c8228302a29930e693ce861b5
3
+ metadata.gz: 6092c1d2a6387c2db15064a1a84f63f350ed5114ef0ef53e0ff91a2be89ceae2
4
+ data.tar.gz: 2beb06098bfc84847f3f014a4ae1bdf12c11e20651f4e7a870081798b2bcfa01
5
5
  SHA512:
6
- metadata.gz: 1f1ce11cfa12337091794ef94d22394e1187accfafb96c8bcbb15c8b875fff78ca2361e3047d165a4093572676a412e50b40e276520b384024bac3363e28c16f
7
- data.tar.gz: b3c71dcdd9524704ecf3da845bbdecebb67e908e69da67b8cdc7a316c7d50b3a21398fc5fcadb68f45a690afa7d41f742ebf1f083fd41e542c436c5820668189
6
+ metadata.gz: d7cef4581454971f0997f55a5e3e7f895fa72d6d75e0c7f367d1e2a6069a338732d0c0b528fccd4acadb35dbf62c7e9c29934f5e7ce2844b88c9ca4e4ad080d1
7
+ data.tar.gz: 76a3d85bf4b95cae53cb54e2d43b3ad0c62bbf8723f3471c041803747e4d14b3fdad4d97b0092cfc1147e06d89ea44ebc4f114daf8a819033ff278c58e1c084d
data/Gemfile CHANGED
@@ -150,3 +150,5 @@ gem "active_median"
150
150
  gem 'acts_as_list'
151
151
 
152
152
  gem 'acts-as-taggable-on', '~> 9.0'
153
+
154
+ gem "bundler-integrity", "~> 1.0"
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- avo (2.5.2.pre.7)
4
+ avo (2.6.1.pre.2)
5
5
  active_link_to
6
6
  addressable
7
7
  breadcrumbs_on_rails
@@ -125,6 +125,7 @@ GEM
125
125
  railties (>= 5.0)
126
126
  builder (3.2.4)
127
127
  bump (0.10.0)
128
+ bundler-integrity (1.0.7)
128
129
  byebug (11.1.3)
129
130
  capybara (3.36.0)
130
131
  addressable
@@ -250,6 +251,8 @@ GEM
250
251
  nokogiri (1.13.4)
251
252
  mini_portile2 (~> 2.8.0)
252
253
  racc (~> 1.4)
254
+ nokogiri (1.13.4-x86_64-linux)
255
+ racc (~> 1.4)
253
256
  orm_adapter (0.5.0)
254
257
  pagy (5.10.1)
255
258
  activesupport
@@ -432,6 +435,7 @@ DEPENDENCIES
432
435
  bootsnap (>= 1.4.2)
433
436
  breadcrumbs_on_rails
434
437
  bump
438
+ bundler-integrity (~> 1.0)
435
439
  byebug
436
440
  capybara (= 3.36)
437
441
  countries
@@ -0,0 +1,2 @@
1
+ (()=>{var a={logger:self.console,WebSocket:self.WebSocket},i={log(...n){this.enabled&&(n.push(Date.now()),a.logger.log("[ActionCable]",...n))}},l=()=>new Date().getTime(),h=n=>(l()-n)/1e3,d=class{constructor(t){this.visibilityDidChange=this.visibilityDidChange.bind(this),this.connection=t,this.reconnectAttempts=0}start(){this.isRunning()||(this.startedAt=l(),delete this.stoppedAt,this.startPolling(),addEventListener("visibilitychange",this.visibilityDidChange),i.log(`ConnectionMonitor started. stale threshold = ${this.constructor.staleThreshold} s`))}stop(){this.isRunning()&&(this.stoppedAt=l(),this.stopPolling(),removeEventListener("visibilitychange",this.visibilityDidChange),i.log("ConnectionMonitor stopped"))}isRunning(){return this.startedAt&&!this.stoppedAt}recordPing(){this.pingedAt=l()}recordConnect(){this.reconnectAttempts=0,this.recordPing(),delete this.disconnectedAt,i.log("ConnectionMonitor recorded connect")}recordDisconnect(){this.disconnectedAt=l(),i.log("ConnectionMonitor recorded disconnect")}startPolling(){this.stopPolling(),this.poll()}stopPolling(){clearTimeout(this.pollTimeout)}poll(){this.pollTimeout=setTimeout(()=>{this.reconnectIfStale(),this.poll()},this.getPollInterval())}getPollInterval(){let{staleThreshold:t,reconnectionBackoffRate:e}=this.constructor,s=Math.pow(1+e,Math.min(this.reconnectAttempts,10)),r=(this.reconnectAttempts===0?1:e)*Math.random();return t*1e3*s*(1+r)}reconnectIfStale(){this.connectionIsStale()&&(i.log(`ConnectionMonitor detected stale connection. reconnectAttempts = ${this.reconnectAttempts}, time stale = ${h(this.refreshedAt)} s, stale threshold = ${this.constructor.staleThreshold} s`),this.reconnectAttempts++,this.disconnectedRecently()?i.log(`ConnectionMonitor skipping reopening recent disconnect. time disconnected = ${h(this.disconnectedAt)} s`):(i.log("ConnectionMonitor reopening"),this.connection.reopen()))}get refreshedAt(){return this.pingedAt?this.pingedAt:this.startedAt}connectionIsStale(){return h(this.refreshedAt)>this.constructor.staleThreshold}disconnectedRecently(){return this.disconnectedAt&&h(this.disconnectedAt)<this.constructor.staleThreshold}visibilityDidChange(){document.visibilityState==="visible"&&setTimeout(()=>{(this.connectionIsStale()||!this.connection.isOpen())&&(i.log(`ConnectionMonitor reopening stale connection on visibilitychange. visibilityState = ${document.visibilityState}`),this.connection.reopen())},200)}};d.staleThreshold=6;d.reconnectionBackoffRate=.15;var m={message_types:{welcome:"welcome",disconnect:"disconnect",ping:"ping",confirmation:"confirm_subscription",rejection:"reject_subscription"},disconnect_reasons:{unauthorized:"unauthorized",invalid_request:"invalid_request",server_restart:"server_restart"},default_mount_path:"/cable",protocols:["actioncable-v1-json","actioncable-unsupported"]},{message_types:c,protocols:u}=m,w=u.slice(0,u.length-1),f=[].indexOf,p=class{constructor(t){this.open=this.open.bind(this),this.consumer=t,this.subscriptions=this.consumer.subscriptions,this.monitor=new d(this),this.disconnected=!0}send(t){return this.isOpen()?(this.webSocket.send(JSON.stringify(t)),!0):!1}open(){return this.isActive()?(i.log(`Attempted to open WebSocket, but existing socket is ${this.getState()}`),!1):(i.log(`Opening WebSocket, current state is ${this.getState()}, subprotocols: ${u}`),this.webSocket&&this.uninstallEventHandlers(),this.webSocket=new a.WebSocket(this.consumer.url,u),this.installEventHandlers(),this.monitor.start(),!0)}close({allowReconnect:t}={allowReconnect:!0}){if(t||this.monitor.stop(),this.isActive())return this.webSocket.close()}reopen(){if(i.log(`Reopening WebSocket, current state is ${this.getState()}`),this.isActive())try{return this.close()}catch(t){i.log("Failed to reopen WebSocket",t)}finally{i.log(`Reopening WebSocket in ${this.constructor.reopenDelay}ms`),setTimeout(this.open,this.constructor.reopenDelay)}else return this.open()}getProtocol(){if(this.webSocket)return this.webSocket.protocol}isOpen(){return this.isState("open")}isActive(){return this.isState("open","connecting")}isProtocolSupported(){return f.call(w,this.getProtocol())>=0}isState(...t){return f.call(t,this.getState())>=0}getState(){if(this.webSocket){for(let t in a.WebSocket)if(a.WebSocket[t]===this.webSocket.readyState)return t.toLowerCase()}return null}installEventHandlers(){for(let t in this.events){let e=this.events[t].bind(this);this.webSocket[`on${t}`]=e}}uninstallEventHandlers(){for(let t in this.events)this.webSocket[`on${t}`]=function(){}}};p.reopenDelay=500;p.prototype.events={message(n){if(!this.isProtocolSupported())return;let{identifier:t,message:e,reason:s,reconnect:o,type:r}=JSON.parse(n.data);switch(r){case c.welcome:return this.monitor.recordConnect(),this.subscriptions.reload();case c.disconnect:return i.log(`Disconnecting. Reason: ${s}`),this.close({allowReconnect:o});case c.ping:return this.monitor.recordPing();case c.confirmation:return this.subscriptions.confirmSubscription(t),this.subscriptions.notify(t,"connected");case c.rejection:return this.subscriptions.reject(t);default:return this.subscriptions.notify(t,"received",e)}},open(){if(i.log(`WebSocket onopen event, using '${this.getProtocol()}' subprotocol`),this.disconnected=!1,!this.isProtocolSupported())return i.log("Protocol is unsupported. Stopping monitor and disconnecting."),this.close({allowReconnect:!1})},close(n){if(i.log("WebSocket onclose event"),!this.disconnected)return this.disconnected=!0,this.monitor.recordDisconnect(),this.subscriptions.notifyAll("disconnected",{willAttemptReconnect:this.monitor.isRunning()})},error(){i.log("WebSocket onerror event")}};var k=function(n,t){if(t!=null)for(let e in t){let s=t[e];n[e]=s}return n},b=class{constructor(t,e={},s){this.consumer=t,this.identifier=JSON.stringify(e),k(this,s)}perform(t,e={}){return e.action=t,this.send(e)}send(t){return this.consumer.send({command:"message",identifier:this.identifier,data:JSON.stringify(t)})}unsubscribe(){return this.consumer.subscriptions.remove(this)}},S=class{constructor(t){this.subscriptions=t,this.pendingSubscriptions=[]}guarantee(t){this.pendingSubscriptions.indexOf(t)==-1?(i.log(`SubscriptionGuarantor guaranteeing ${t.identifier}`),this.pendingSubscriptions.push(t)):i.log(`SubscriptionGuarantor already guaranteeing ${t.identifier}`),this.startGuaranteeing()}forget(t){i.log(`SubscriptionGuarantor forgetting ${t.identifier}`),this.pendingSubscriptions=this.pendingSubscriptions.filter(e=>e!==t)}startGuaranteeing(){this.stopGuaranteeing(),this.retrySubscribing()}stopGuaranteeing(){clearTimeout(this.retryTimeout)}retrySubscribing(){this.retryTimeout=setTimeout(()=>{this.subscriptions&&typeof this.subscriptions.subscribe=="function"&&this.pendingSubscriptions.map(t=>{i.log(`SubscriptionGuarantor resubscribing ${t.identifier}`),this.subscriptions.subscribe(t)})},500)}},v=class{constructor(t){this.consumer=t,this.guarantor=new S(this),this.subscriptions=[]}create(t,e){let s=t,o=typeof s=="object"?s:{channel:s},r=new b(this.consumer,o,e);return this.add(r)}add(t){return this.subscriptions.push(t),this.consumer.ensureActiveConnection(),this.notify(t,"initialized"),this.subscribe(t),t}remove(t){return this.forget(t),this.findAll(t.identifier).length||this.sendCommand(t,"unsubscribe"),t}reject(t){return this.findAll(t).map(e=>(this.forget(e),this.notify(e,"rejected"),e))}forget(t){return this.guarantor.forget(t),this.subscriptions=this.subscriptions.filter(e=>e!==t),t}findAll(t){return this.subscriptions.filter(e=>e.identifier===t)}reload(){return this.subscriptions.map(t=>this.subscribe(t))}notifyAll(t,...e){return this.subscriptions.map(s=>this.notify(s,t,...e))}notify(t,e,...s){let o;return typeof t=="string"?o=this.findAll(t):o=[t],o.map(r=>typeof r[e]=="function"?r[e](...s):void 0)}subscribe(t){this.sendCommand(t,"subscribe")&&this.guarantor.guarantee(t)}confirmSubscription(t){i.log(`Subscription confirmed ${t}`),this.findAll(t).map(e=>this.guarantor.forget(e))}sendCommand(t,e){let{identifier:s}=t;return this.consumer.send({command:e,identifier:s})}},y=class{constructor(t){this._url=t,this.subscriptions=new v(this),this.connection=new p(this)}get url(){return C(this._url)}send(t){return this.connection.send(t)}connect(){return this.connection.open()}disconnect(){return this.connection.close({allowReconnect:!1})}ensureActiveConnection(){if(!this.connection.isActive())return this.connection.open()}};function C(n){if(typeof n=="function"&&(n=n()),n&&!/^wss?:/i.test(n)){let t=document.createElement("a");return t.href=n,t.href=t.href,t.protocol=t.protocol.replace("http","ws"),t.href}else return n}function A(n=$("url")||m.default_mount_path){return new y(n)}function $(n){let t=document.head.querySelector(`meta[name='action-cable-${n}']`);if(t)return t.getAttribute("content")}var g;window.Avo.configuration.action_cable.enabled&&(g=A(),window.Avo.consumer=g);var P=g;})();
2
+ //# sourceMappingURL=action_cable.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../node_modules/@rails/actioncable/app/assets/javascripts/actioncable.esm.js", "../../javascript/action_cable.js"],
4
+ "sourcesContent": ["var adapters = {\n logger: self.console,\n WebSocket: self.WebSocket\n};\n\nvar logger = {\n log(...messages) {\n if (this.enabled) {\n messages.push(Date.now());\n adapters.logger.log(\"[ActionCable]\", ...messages);\n }\n }\n};\n\nconst now = () => (new Date).getTime();\n\nconst secondsSince = time => (now() - time) / 1e3;\n\nclass ConnectionMonitor {\n constructor(connection) {\n this.visibilityDidChange = this.visibilityDidChange.bind(this);\n this.connection = connection;\n this.reconnectAttempts = 0;\n }\n start() {\n if (!this.isRunning()) {\n this.startedAt = now();\n delete this.stoppedAt;\n this.startPolling();\n addEventListener(\"visibilitychange\", this.visibilityDidChange);\n logger.log(`ConnectionMonitor started. stale threshold = ${this.constructor.staleThreshold} s`);\n }\n }\n stop() {\n if (this.isRunning()) {\n this.stoppedAt = now();\n this.stopPolling();\n removeEventListener(\"visibilitychange\", this.visibilityDidChange);\n logger.log(\"ConnectionMonitor stopped\");\n }\n }\n isRunning() {\n return this.startedAt && !this.stoppedAt;\n }\n recordPing() {\n this.pingedAt = now();\n }\n recordConnect() {\n this.reconnectAttempts = 0;\n this.recordPing();\n delete this.disconnectedAt;\n logger.log(\"ConnectionMonitor recorded connect\");\n }\n recordDisconnect() {\n this.disconnectedAt = now();\n logger.log(\"ConnectionMonitor recorded disconnect\");\n }\n startPolling() {\n this.stopPolling();\n this.poll();\n }\n stopPolling() {\n clearTimeout(this.pollTimeout);\n }\n poll() {\n this.pollTimeout = setTimeout((() => {\n this.reconnectIfStale();\n this.poll();\n }), this.getPollInterval());\n }\n getPollInterval() {\n const {staleThreshold: staleThreshold, reconnectionBackoffRate: reconnectionBackoffRate} = this.constructor;\n const backoff = Math.pow(1 + reconnectionBackoffRate, Math.min(this.reconnectAttempts, 10));\n const jitterMax = this.reconnectAttempts === 0 ? 1 : reconnectionBackoffRate;\n const jitter = jitterMax * Math.random();\n return staleThreshold * 1e3 * backoff * (1 + jitter);\n }\n reconnectIfStale() {\n if (this.connectionIsStale()) {\n logger.log(`ConnectionMonitor detected stale connection. reconnectAttempts = ${this.reconnectAttempts}, time stale = ${secondsSince(this.refreshedAt)} s, stale threshold = ${this.constructor.staleThreshold} s`);\n this.reconnectAttempts++;\n if (this.disconnectedRecently()) {\n logger.log(`ConnectionMonitor skipping reopening recent disconnect. time disconnected = ${secondsSince(this.disconnectedAt)} s`);\n } else {\n logger.log(\"ConnectionMonitor reopening\");\n this.connection.reopen();\n }\n }\n }\n get refreshedAt() {\n return this.pingedAt ? this.pingedAt : this.startedAt;\n }\n connectionIsStale() {\n return secondsSince(this.refreshedAt) > this.constructor.staleThreshold;\n }\n disconnectedRecently() {\n return this.disconnectedAt && secondsSince(this.disconnectedAt) < this.constructor.staleThreshold;\n }\n visibilityDidChange() {\n if (document.visibilityState === \"visible\") {\n setTimeout((() => {\n if (this.connectionIsStale() || !this.connection.isOpen()) {\n logger.log(`ConnectionMonitor reopening stale connection on visibilitychange. visibilityState = ${document.visibilityState}`);\n this.connection.reopen();\n }\n }), 200);\n }\n }\n}\n\nConnectionMonitor.staleThreshold = 6;\n\nConnectionMonitor.reconnectionBackoffRate = .15;\n\nvar INTERNAL = {\n message_types: {\n welcome: \"welcome\",\n disconnect: \"disconnect\",\n ping: \"ping\",\n confirmation: \"confirm_subscription\",\n rejection: \"reject_subscription\"\n },\n disconnect_reasons: {\n unauthorized: \"unauthorized\",\n invalid_request: \"invalid_request\",\n server_restart: \"server_restart\"\n },\n default_mount_path: \"/cable\",\n protocols: [ \"actioncable-v1-json\", \"actioncable-unsupported\" ]\n};\n\nconst {message_types: message_types, protocols: protocols} = INTERNAL;\n\nconst supportedProtocols = protocols.slice(0, protocols.length - 1);\n\nconst indexOf = [].indexOf;\n\nclass Connection {\n constructor(consumer) {\n this.open = this.open.bind(this);\n this.consumer = consumer;\n this.subscriptions = this.consumer.subscriptions;\n this.monitor = new ConnectionMonitor(this);\n this.disconnected = true;\n }\n send(data) {\n if (this.isOpen()) {\n this.webSocket.send(JSON.stringify(data));\n return true;\n } else {\n return false;\n }\n }\n open() {\n if (this.isActive()) {\n logger.log(`Attempted to open WebSocket, but existing socket is ${this.getState()}`);\n return false;\n } else {\n logger.log(`Opening WebSocket, current state is ${this.getState()}, subprotocols: ${protocols}`);\n if (this.webSocket) {\n this.uninstallEventHandlers();\n }\n this.webSocket = new adapters.WebSocket(this.consumer.url, protocols);\n this.installEventHandlers();\n this.monitor.start();\n return true;\n }\n }\n close({allowReconnect: allowReconnect} = {\n allowReconnect: true\n }) {\n if (!allowReconnect) {\n this.monitor.stop();\n }\n if (this.isActive()) {\n return this.webSocket.close();\n }\n }\n reopen() {\n logger.log(`Reopening WebSocket, current state is ${this.getState()}`);\n if (this.isActive()) {\n try {\n return this.close();\n } catch (error) {\n logger.log(\"Failed to reopen WebSocket\", error);\n } finally {\n logger.log(`Reopening WebSocket in ${this.constructor.reopenDelay}ms`);\n setTimeout(this.open, this.constructor.reopenDelay);\n }\n } else {\n return this.open();\n }\n }\n getProtocol() {\n if (this.webSocket) {\n return this.webSocket.protocol;\n }\n }\n isOpen() {\n return this.isState(\"open\");\n }\n isActive() {\n return this.isState(\"open\", \"connecting\");\n }\n isProtocolSupported() {\n return indexOf.call(supportedProtocols, this.getProtocol()) >= 0;\n }\n isState(...states) {\n return indexOf.call(states, this.getState()) >= 0;\n }\n getState() {\n if (this.webSocket) {\n for (let state in adapters.WebSocket) {\n if (adapters.WebSocket[state] === this.webSocket.readyState) {\n return state.toLowerCase();\n }\n }\n }\n return null;\n }\n installEventHandlers() {\n for (let eventName in this.events) {\n const handler = this.events[eventName].bind(this);\n this.webSocket[`on${eventName}`] = handler;\n }\n }\n uninstallEventHandlers() {\n for (let eventName in this.events) {\n this.webSocket[`on${eventName}`] = function() {};\n }\n }\n}\n\nConnection.reopenDelay = 500;\n\nConnection.prototype.events = {\n message(event) {\n if (!this.isProtocolSupported()) {\n return;\n }\n const {identifier: identifier, message: message, reason: reason, reconnect: reconnect, type: type} = JSON.parse(event.data);\n switch (type) {\n case message_types.welcome:\n this.monitor.recordConnect();\n return this.subscriptions.reload();\n\n case message_types.disconnect:\n logger.log(`Disconnecting. Reason: ${reason}`);\n return this.close({\n allowReconnect: reconnect\n });\n\n case message_types.ping:\n return this.monitor.recordPing();\n\n case message_types.confirmation:\n this.subscriptions.confirmSubscription(identifier);\n return this.subscriptions.notify(identifier, \"connected\");\n\n case message_types.rejection:\n return this.subscriptions.reject(identifier);\n\n default:\n return this.subscriptions.notify(identifier, \"received\", message);\n }\n },\n open() {\n logger.log(`WebSocket onopen event, using '${this.getProtocol()}' subprotocol`);\n this.disconnected = false;\n if (!this.isProtocolSupported()) {\n logger.log(\"Protocol is unsupported. Stopping monitor and disconnecting.\");\n return this.close({\n allowReconnect: false\n });\n }\n },\n close(event) {\n logger.log(\"WebSocket onclose event\");\n if (this.disconnected) {\n return;\n }\n this.disconnected = true;\n this.monitor.recordDisconnect();\n return this.subscriptions.notifyAll(\"disconnected\", {\n willAttemptReconnect: this.monitor.isRunning()\n });\n },\n error() {\n logger.log(\"WebSocket onerror event\");\n }\n};\n\nconst extend = function(object, properties) {\n if (properties != null) {\n for (let key in properties) {\n const value = properties[key];\n object[key] = value;\n }\n }\n return object;\n};\n\nclass Subscription {\n constructor(consumer, params = {}, mixin) {\n this.consumer = consumer;\n this.identifier = JSON.stringify(params);\n extend(this, mixin);\n }\n perform(action, data = {}) {\n data.action = action;\n return this.send(data);\n }\n send(data) {\n return this.consumer.send({\n command: \"message\",\n identifier: this.identifier,\n data: JSON.stringify(data)\n });\n }\n unsubscribe() {\n return this.consumer.subscriptions.remove(this);\n }\n}\n\nclass SubscriptionGuarantor {\n constructor(subscriptions) {\n this.subscriptions = subscriptions;\n this.pendingSubscriptions = [];\n }\n guarantee(subscription) {\n if (this.pendingSubscriptions.indexOf(subscription) == -1) {\n logger.log(`SubscriptionGuarantor guaranteeing ${subscription.identifier}`);\n this.pendingSubscriptions.push(subscription);\n } else {\n logger.log(`SubscriptionGuarantor already guaranteeing ${subscription.identifier}`);\n }\n this.startGuaranteeing();\n }\n forget(subscription) {\n logger.log(`SubscriptionGuarantor forgetting ${subscription.identifier}`);\n this.pendingSubscriptions = this.pendingSubscriptions.filter((s => s !== subscription));\n }\n startGuaranteeing() {\n this.stopGuaranteeing();\n this.retrySubscribing();\n }\n stopGuaranteeing() {\n clearTimeout(this.retryTimeout);\n }\n retrySubscribing() {\n this.retryTimeout = setTimeout((() => {\n if (this.subscriptions && typeof this.subscriptions.subscribe === \"function\") {\n this.pendingSubscriptions.map((subscription => {\n logger.log(`SubscriptionGuarantor resubscribing ${subscription.identifier}`);\n this.subscriptions.subscribe(subscription);\n }));\n }\n }), 500);\n }\n}\n\nclass Subscriptions {\n constructor(consumer) {\n this.consumer = consumer;\n this.guarantor = new SubscriptionGuarantor(this);\n this.subscriptions = [];\n }\n create(channelName, mixin) {\n const channel = channelName;\n const params = typeof channel === \"object\" ? channel : {\n channel: channel\n };\n const subscription = new Subscription(this.consumer, params, mixin);\n return this.add(subscription);\n }\n add(subscription) {\n this.subscriptions.push(subscription);\n this.consumer.ensureActiveConnection();\n this.notify(subscription, \"initialized\");\n this.subscribe(subscription);\n return subscription;\n }\n remove(subscription) {\n this.forget(subscription);\n if (!this.findAll(subscription.identifier).length) {\n this.sendCommand(subscription, \"unsubscribe\");\n }\n return subscription;\n }\n reject(identifier) {\n return this.findAll(identifier).map((subscription => {\n this.forget(subscription);\n this.notify(subscription, \"rejected\");\n return subscription;\n }));\n }\n forget(subscription) {\n this.guarantor.forget(subscription);\n this.subscriptions = this.subscriptions.filter((s => s !== subscription));\n return subscription;\n }\n findAll(identifier) {\n return this.subscriptions.filter((s => s.identifier === identifier));\n }\n reload() {\n return this.subscriptions.map((subscription => this.subscribe(subscription)));\n }\n notifyAll(callbackName, ...args) {\n return this.subscriptions.map((subscription => this.notify(subscription, callbackName, ...args)));\n }\n notify(subscription, callbackName, ...args) {\n let subscriptions;\n if (typeof subscription === \"string\") {\n subscriptions = this.findAll(subscription);\n } else {\n subscriptions = [ subscription ];\n }\n return subscriptions.map((subscription => typeof subscription[callbackName] === \"function\" ? subscription[callbackName](...args) : undefined));\n }\n subscribe(subscription) {\n if (this.sendCommand(subscription, \"subscribe\")) {\n this.guarantor.guarantee(subscription);\n }\n }\n confirmSubscription(identifier) {\n logger.log(`Subscription confirmed ${identifier}`);\n this.findAll(identifier).map((subscription => this.guarantor.forget(subscription)));\n }\n sendCommand(subscription, command) {\n const {identifier: identifier} = subscription;\n return this.consumer.send({\n command: command,\n identifier: identifier\n });\n }\n}\n\nclass Consumer {\n constructor(url) {\n this._url = url;\n this.subscriptions = new Subscriptions(this);\n this.connection = new Connection(this);\n }\n get url() {\n return createWebSocketURL(this._url);\n }\n send(data) {\n return this.connection.send(data);\n }\n connect() {\n return this.connection.open();\n }\n disconnect() {\n return this.connection.close({\n allowReconnect: false\n });\n }\n ensureActiveConnection() {\n if (!this.connection.isActive()) {\n return this.connection.open();\n }\n }\n}\n\nfunction createWebSocketURL(url) {\n if (typeof url === \"function\") {\n url = url();\n }\n if (url && !/^wss?:/i.test(url)) {\n const a = document.createElement(\"a\");\n a.href = url;\n a.href = a.href;\n a.protocol = a.protocol.replace(\"http\", \"ws\");\n return a.href;\n } else {\n return url;\n }\n}\n\nfunction createConsumer(url = getConfig(\"url\") || INTERNAL.default_mount_path) {\n return new Consumer(url);\n}\n\nfunction getConfig(name) {\n const element = document.head.querySelector(`meta[name='action-cable-${name}']`);\n if (element) {\n return element.getAttribute(\"content\");\n }\n}\n\nexport { Connection, ConnectionMonitor, Consumer, INTERNAL, Subscription, SubscriptionGuarantor, Subscriptions, adapters, createConsumer, createWebSocketURL, getConfig, logger };\n", "import { createConsumer } from '@rails/actioncable'\n\n// eslint-disable-next-line import/no-mutable-exports\nlet consumer\n\nif (window.Avo.configuration.action_cable.enabled) {\n consumer = createConsumer()\n\n window.Avo.consumer = consumer\n}\n\nexport default consumer\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -4166,7 +4166,7 @@ input::placeholder,
4166
4166
  textarea::placeholder {
4167
4167
  opacity: 1;
4168
4168
  /* 1 */
4169
- color: #969CA6;
4169
+ color: #9197A1;
4170
4170
  /* 2 */
4171
4171
  }
4172
4172
 
@@ -4247,11 +4247,11 @@ Ensure the default browser behavior of the `hidden` attribute.
4247
4247
  --tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);
4248
4248
  --tw-ring-offset-width:0px;
4249
4249
  --tw-ring-offset-color:#fff;
4250
- --tw-ring-color:#065F9E;
4250
+ --tw-ring-color:#066BB2;
4251
4251
  --tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
4252
4252
  --tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
4253
4253
  box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
4254
- border-color:#065F9E
4254
+ border-color:#066BB2
4255
4255
  }
4256
4256
 
4257
4257
  input::placeholder,textarea::placeholder{
@@ -4301,7 +4301,7 @@ select{
4301
4301
  flex-shrink:0;
4302
4302
  height:1rem;
4303
4303
  width:1rem;
4304
- color:#065F9E;
4304
+ color:#066BB2;
4305
4305
  background-color:#fff;
4306
4306
  border-color:#757D8A;
4307
4307
  border-width:1px;
@@ -4322,7 +4322,7 @@ select{
4322
4322
  --tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);
4323
4323
  --tw-ring-offset-width:2px;
4324
4324
  --tw-ring-offset-color:#fff;
4325
- --tw-ring-color:#065F9E;
4325
+ --tw-ring-color:#066BB2;
4326
4326
  --tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
4327
4327
  --tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
4328
4328
  box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
@@ -4682,58 +4682,6 @@ h5{
4682
4682
  transition: opacity .15s;
4683
4683
  }
4684
4684
 
4685
- #toast-container > div {
4686
- box-shadow: none;
4687
- background-size: 1.5rem;
4688
- background-position: 0.8rem 0.8rem;
4689
- width: 500px;
4690
- border-radius:0.375rem;
4691
- border-width:1px;
4692
- --tw-border-opacity:1;
4693
- border-color:rgb(200 203 208 / var(--tw-border-opacity));
4694
- --tw-bg-opacity:1;
4695
- background-color:rgb(255 255 255 / var(--tw-bg-opacity));
4696
- padding-top:0.75rem;
4697
- padding-right:0.75rem;
4698
- padding-bottom:0.75rem;
4699
- opacity:1;
4700
- --tw-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
4701
- --tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
4702
- box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
4703
- }
4704
-
4705
- #toast-container > div:hover{
4706
- --tw-shadow:0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
4707
- --tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
4708
- box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
4709
- }
4710
-
4711
- #toast-container > div .toast-title{
4712
- --tw-text-opacity:1;
4713
- color:rgb(47 50 55 / var(--tw-text-opacity))
4714
- }
4715
-
4716
- #toast-container > div .toast-message{
4717
- --tw-text-opacity:1;
4718
- color:rgb(47 50 55 / var(--tw-text-opacity))
4719
- }
4720
-
4721
- #toast-container > div.toast-success {
4722
- background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0iIzM4YTE2OSI+CiAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNNi4yNjcgMy40NTVhMy4wNjYgMy4wNjYgMCAwMDEuNzQ1LS43MjMgMy4wNjYgMy4wNjYgMCAwMTMuOTc2IDAgMy4wNjYgMy4wNjYgMCAwMDEuNzQ1LjcyMyAzLjA2NiAzLjA2NiAwIDAxMi44MTIgMi44MTJjLjA1MS42NDMuMzA0IDEuMjU0LjcyMyAxLjc0NWEzLjA2NiAzLjA2NiAwIDAxMCAzLjk3NiAzLjA2NiAzLjA2NiAwIDAwLS43MjMgMS43NDUgMy4wNjYgMy4wNjYgMCAwMS0yLjgxMiAyLjgxMiAzLjA2NiAzLjA2NiAwIDAwLTEuNzQ1LjcyMyAzLjA2NiAzLjA2NiAwIDAxLTMuOTc2IDAgMy4wNjYgMy4wNjYgMCAwMC0xLjc0NS0uNzIzIDMuMDY2IDMuMDY2IDAgMDEtMi44MTItMi44MTIgMy4wNjYgMy4wNjYgMCAwMC0uNzIzLTEuNzQ1IDMuMDY2IDMuMDY2IDAgMDEwLTMuOTc2IDMuMDY2IDMuMDY2IDAgMDAuNzIzLTEuNzQ1IDMuMDY2IDMuMDY2IDAgMDEyLjgxMi0yLjgxMnptNy40NCA1LjI1MmExIDEgMCAwMC0xLjQxNC0xLjQxNEw5IDEwLjU4NiA3LjcwNyA5LjI5M2ExIDEgMCAwMC0xLjQxNCAxLjQxNGwyIDJhMSAxIDAgMDAxLjQxNCAwbDQtNHoiIGNsaXAtcnVsZT0iZXZlbm9kZCIgLz4KPC9zdmc+Cg==) !important;
4723
- }
4724
-
4725
- #toast-container > div.toast-warning {
4726
- background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0icmdiYSgyMTcsIDExOSwgNiwgMSkiPgogIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTguMjU3IDMuMDk5Yy43NjUtMS4zNiAyLjcyMi0xLjM2IDMuNDg2IDBsNS41OCA5LjkyYy43NSAxLjMzNC0uMjEzIDIuOTgtMS43NDIgMi45OEg0LjQyYy0xLjUzIDAtMi40OTMtMS42NDYtMS43NDMtMi45OGw1LjU4LTkuOTJ6TTExIDEzYTEgMSAwIDExLTIgMCAxIDEgMCAwMTIgMHptLTEtOGExIDEgMCAwMC0xIDF2M2ExIDEgMCAwMDIgMFY2YTEgMSAwIDAwLTEtMXoiIGNsaXAtcnVsZT0iZXZlbm9kZCIgLz4KPC9zdmc+Cg==) !important;
4727
- }
4728
-
4729
- #toast-container > div.toast-info {
4730
- background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0icmdiYSgzNywgOTksIDIzNSwgMSkiPgogIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTE4IDEwYTggOCAwIDExLTE2IDAgOCA4IDAgMDExNiAwem0tNy00YTEgMSAwIDExLTIgMCAxIDEgMCAwMTIgMHpNOSA5YTEgMSAwIDAwMCAydjNhMSAxIDAgMDAxIDFoMWExIDEgMCAxMDAtMnYtM2ExIDEgMCAwMC0xLTFIOXoiIGNsaXAtcnVsZT0iZXZlbm9kZCIgLz4KPC9zdmc+Cg==) !important;
4731
- }
4732
-
4733
- #toast-container > div.toast-error {
4734
- background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0icmdiYSgyMjAsIDM4LCAzOCwgMSkiPgogIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTE4IDEwYTggOCAwIDExLTE2IDAgOCA4IDAgMDExNiAwem0tNyA0YTEgMSAwIDExLTIgMCAxIDEgMCAwMTIgMHptLTEtOWExIDEgMCAwMC0xIDF2NGExIDEgMCAxMDIgMFY2YTEgMSAwIDAwLTEtMXoiIGNsaXAtcnVsZT0iZXZlbm9kZCIgLz4KPC9zdmc+Cg==) !important;
4735
- }
4736
-
4737
4685
  svg.tea {
4738
4686
  --secondary: #33406f;
4739
4687
  }
@@ -4986,7 +4934,7 @@ svg.tea #steamR {
4986
4934
  .aa-DetachedFormContainer, .aa-DetachedContainer .aa-Panel{
4987
4935
  border-bottom-width:0px;
4988
4936
  --tw-bg-opacity:1;
4989
- background-color:rgb(227 229 232 / var(--tw-bg-opacity))
4937
+ background-color:rgb(241 242 243 / var(--tw-bg-opacity))
4990
4938
  }
4991
4939
 
4992
4940
  .aa-Form:focus-within{
@@ -7097,10 +7045,6 @@ progress[value]::-moz-progress-bar{
7097
7045
  margin-left:1rem
7098
7046
  }
7099
7047
 
7100
- .mb-6{
7101
- margin-bottom:1.5rem
7102
- }
7103
-
7104
7048
  .mb-2{
7105
7049
  margin-bottom:0.5rem
7106
7050
  }
@@ -7109,14 +7053,18 @@ progress[value]::-moz-progress-bar{
7109
7053
  margin-top:1.5rem
7110
7054
  }
7111
7055
 
7112
- .mt-3{
7113
- margin-top:0.75rem
7114
- }
7115
-
7116
7056
  .ml-1\/2{
7117
7057
  margin-left:50%
7118
7058
  }
7119
7059
 
7060
+ .mr-0\.5{
7061
+ margin-right:0.125rem
7062
+ }
7063
+
7064
+ .mr-0{
7065
+ margin-right:0px
7066
+ }
7067
+
7120
7068
  .ml-auto{
7121
7069
  margin-left:auto
7122
7070
  }
@@ -7129,10 +7077,6 @@ progress[value]::-moz-progress-bar{
7129
7077
  margin-top:0px
7130
7078
  }
7131
7079
 
7132
- .mt-14{
7133
- margin-top:3.5rem
7134
- }
7135
-
7136
7080
  .mr-px{
7137
7081
  margin-right:1px
7138
7082
  }
@@ -7237,6 +7181,14 @@ progress[value]::-moz-progress-bar{
7237
7181
  height:1.5rem
7238
7182
  }
7239
7183
 
7184
+ .h-10{
7185
+ height:2.5rem
7186
+ }
7187
+
7188
+ .h-16{
7189
+ height:4rem
7190
+ }
7191
+
7240
7192
  .h-\[250px\]{
7241
7193
  height:250px
7242
7194
  }
@@ -7245,8 +7197,8 @@ progress[value]::-moz-progress-bar{
7245
7197
  height:0.75rem
7246
7198
  }
7247
7199
 
7248
- .h-10{
7249
- height:2.5rem
7200
+ .h-\[calc\(100vh-4rem\)\]{
7201
+ height:calc(100vh - 4rem)
7250
7202
  }
7251
7203
 
7252
7204
  .max-h-\[42rem\]{
@@ -7261,10 +7213,6 @@ progress[value]::-moz-progress-bar{
7261
7213
  min-height:6rem
7262
7214
  }
7263
7215
 
7264
- .min-h-\[4rem\]{
7265
- min-height:4rem
7266
- }
7267
-
7268
7216
  .min-h-full{
7269
7217
  min-height:100%
7270
7218
  }
@@ -7293,6 +7241,10 @@ progress[value]::-moz-progress-bar{
7293
7241
  width:100%
7294
7242
  }
7295
7243
 
7244
+ .w-32{
7245
+ width:8rem
7246
+ }
7247
+
7296
7248
  .w-24{
7297
7249
  width:6rem
7298
7250
  }
@@ -7532,10 +7484,10 @@ progress[value]::-moz-progress-bar{
7532
7484
  margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))
7533
7485
  }
7534
7486
 
7535
- .space-x-8 > :not([hidden]) ~ :not([hidden]){
7487
+ .space-x-2 > :not([hidden]) ~ :not([hidden]){
7536
7488
  --tw-space-x-reverse:0;
7537
- margin-right:calc(2rem * var(--tw-space-x-reverse));
7538
- margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))
7489
+ margin-right:calc(0.5rem * var(--tw-space-x-reverse));
7490
+ margin-left:calc(0.5rem * calc(1 - var(--tw-space-x-reverse)))
7539
7491
  }
7540
7492
 
7541
7493
  .space-y-1 > :not([hidden]) ~ :not([hidden]){
@@ -7568,12 +7520,6 @@ progress[value]::-moz-progress-bar{
7568
7520
  margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))
7569
7521
  }
7570
7522
 
7571
- .space-x-2 > :not([hidden]) ~ :not([hidden]){
7572
- --tw-space-x-reverse:0;
7573
- margin-right:calc(0.5rem * var(--tw-space-x-reverse));
7574
- margin-left:calc(0.5rem * calc(1 - var(--tw-space-x-reverse)))
7575
- }
7576
-
7577
7523
  .space-x-3 > :not([hidden]) ~ :not([hidden]){
7578
7524
  --tw-space-x-reverse:0;
7579
7525
  margin-right:calc(0.75rem * var(--tw-space-x-reverse));
@@ -7867,14 +7813,23 @@ progress[value]::-moz-progress-bar{
7867
7813
  border-color:rgb(94 100 110 / var(--tw-border-opacity))
7868
7814
  }
7869
7815
 
7870
- .border-red-700{
7816
+ .border-green-600{
7817
+ --tw-border-opacity:1;
7818
+ border-color:rgb(22 163 74 / var(--tw-border-opacity))
7819
+ }
7820
+
7821
+ .border-orange-600{
7871
7822
  --tw-border-opacity:1;
7872
- border-color:rgb(185 28 28 / var(--tw-border-opacity))
7823
+ border-color:rgb(234 88 12 / var(--tw-border-opacity))
7873
7824
  }
7874
7825
 
7875
- .border-green-700{
7826
+ .border-blue-600{
7876
7827
  --tw-border-opacity:1;
7877
- border-color:rgb(21 128 61 / var(--tw-border-opacity))
7828
+ border-color:rgb(6 107 178 / var(--tw-border-opacity))
7829
+ }
7830
+
7831
+ .border-transparent{
7832
+ border-color:transparent
7878
7833
  }
7879
7834
 
7880
7835
  .border-slate-300{
@@ -7892,6 +7847,11 @@ progress[value]::-moz-progress-bar{
7892
7847
  background-color:rgb(255 255 255 / var(--tw-bg-opacity))
7893
7848
  }
7894
7849
 
7850
+ .bg-gray-25{
7851
+ --tw-bg-opacity:1;
7852
+ background-color:rgb(246 246 247 / var(--tw-bg-opacity))
7853
+ }
7854
+
7895
7855
  .bg-gray-100{
7896
7856
  --tw-bg-opacity:1;
7897
7857
  background-color:rgb(227 229 232 / var(--tw-bg-opacity))
@@ -7912,19 +7872,24 @@ progress[value]::-moz-progress-bar{
7912
7872
  background-color:rgb(21 128 61 / var(--tw-bg-opacity))
7913
7873
  }
7914
7874
 
7915
- .bg-application{
7875
+ .bg-red-400{
7916
7876
  --tw-bg-opacity:1;
7917
- background-color:rgb(229 235 240 / var(--tw-bg-opacity))
7877
+ background-color:rgb(248 113 113 / var(--tw-bg-opacity))
7918
7878
  }
7919
7879
 
7920
- .bg-red-400{
7880
+ .bg-green-500{
7921
7881
  --tw-bg-opacity:1;
7922
- background-color:rgb(248 113 113 / var(--tw-bg-opacity))
7882
+ background-color:rgb(34 197 94 / var(--tw-bg-opacity))
7883
+ }
7884
+
7885
+ .bg-orange-400{
7886
+ --tw-bg-opacity:1;
7887
+ background-color:rgb(251 146 60 / var(--tw-bg-opacity))
7923
7888
  }
7924
7889
 
7925
- .bg-green-400{
7890
+ .bg-blue-400{
7926
7891
  --tw-bg-opacity:1;
7927
- background-color:rgb(74 222 128 / var(--tw-bg-opacity))
7892
+ background-color:rgb(57 158 229 / var(--tw-bg-opacity))
7928
7893
  }
7929
7894
 
7930
7895
  .bg-primary-500{
@@ -7937,14 +7902,19 @@ progress[value]::-moz-progress-bar{
7937
7902
  background-color:rgb(47 50 55 / var(--tw-bg-opacity))
7938
7903
  }
7939
7904
 
7940
- .bg-blue-500{
7905
+ .bg-application{
7941
7906
  --tw-bg-opacity:1;
7942
- background-color:rgb(8 134 222 / var(--tw-bg-opacity))
7907
+ background-color:rgb(229 235 240 / var(--tw-bg-opacity))
7943
7908
  }
7944
7909
 
7945
- .bg-green-500{
7910
+ .bg-gray-50{
7946
7911
  --tw-bg-opacity:1;
7947
- background-color:rgb(34 197 94 / var(--tw-bg-opacity))
7912
+ background-color:rgb(241 242 243 / var(--tw-bg-opacity))
7913
+ }
7914
+
7915
+ .bg-blue-500{
7916
+ --tw-bg-opacity:1;
7917
+ background-color:rgb(8 134 222 / var(--tw-bg-opacity))
7948
7918
  }
7949
7919
 
7950
7920
  .bg-red-500{
@@ -7967,11 +7937,6 @@ progress[value]::-moz-progress-bar{
7967
7937
  background-color:rgb(94 100 110 / var(--tw-bg-opacity))
7968
7938
  }
7969
7939
 
7970
- .bg-gray-200{
7971
- --tw-bg-opacity:1;
7972
- background-color:rgb(200 203 208 / var(--tw-bg-opacity))
7973
- }
7974
-
7975
7940
  .bg-gray-500{
7976
7941
  --tw-bg-opacity:1;
7977
7942
  background-color:rgb(117 125 138 / var(--tw-bg-opacity))
@@ -7981,6 +7946,10 @@ progress[value]::-moz-progress-bar{
7981
7946
  --tw-bg-opacity:0.25
7982
7947
  }
7983
7948
 
7949
+ .bg-none{
7950
+ background-image:none
7951
+ }
7952
+
7984
7953
  .fill-current{
7985
7954
  fill:currentColor
7986
7955
  }
@@ -8084,9 +8053,14 @@ progress[value]::-moz-progress-bar{
8084
8053
  padding-bottom:0px
8085
8054
  }
8086
8055
 
8087
- .py-4{
8088
- padding-top:1rem;
8089
- padding-bottom:1rem
8056
+ .py-1\.5{
8057
+ padding-top:0.375rem;
8058
+ padding-bottom:0.375rem
8059
+ }
8060
+
8061
+ .px-5{
8062
+ padding-left:1.25rem;
8063
+ padding-right:1.25rem
8090
8064
  }
8091
8065
 
8092
8066
  .py-24{
@@ -8099,6 +8073,11 @@ progress[value]::-moz-progress-bar{
8099
8073
  padding-right:2.5rem
8100
8074
  }
8101
8075
 
8076
+ .py-4{
8077
+ padding-top:1rem;
8078
+ padding-bottom:1rem
8079
+ }
8080
+
8102
8081
  .py-8{
8103
8082
  padding-top:2rem;
8104
8083
  padding-bottom:2rem
@@ -8112,6 +8091,10 @@ progress[value]::-moz-progress-bar{
8112
8091
  padding-bottom:0px
8113
8092
  }
8114
8093
 
8094
+ .pt-16{
8095
+ padding-top:4rem
8096
+ }
8097
+
8115
8098
  .pt-0\.5{
8116
8099
  padding-top:0.125rem
8117
8100
  }
@@ -8132,14 +8115,26 @@ progress[value]::-moz-progress-bar{
8132
8115
  padding-bottom:0.5rem
8133
8116
  }
8134
8117
 
8118
+ .pt-3{
8119
+ padding-top:0.75rem
8120
+ }
8121
+
8135
8122
  .pb-3\/4{
8136
8123
  padding-bottom:75%
8137
8124
  }
8138
8125
 
8126
+ .pr-2{
8127
+ padding-right:0.5rem
8128
+ }
8129
+
8139
8130
  .pt-2{
8140
8131
  padding-top:0.5rem
8141
8132
  }
8142
8133
 
8134
+ .pr-0{
8135
+ padding-right:0px
8136
+ }
8137
+
8143
8138
  .text-left{
8144
8139
  text-align:left
8145
8140
  }
@@ -8186,16 +8181,16 @@ progress[value]::-moz-progress-bar{
8186
8181
  line-height:1.75rem
8187
8182
  }
8188
8183
 
8189
- .text-2xl{
8190
- font-size:1.5rem;
8191
- line-height:2rem
8192
- }
8193
-
8194
8184
  .text-xs{
8195
8185
  font-size:0.75rem;
8196
8186
  line-height:1rem
8197
8187
  }
8198
8188
 
8189
+ .text-2xl{
8190
+ font-size:1.5rem;
8191
+ line-height:2rem
8192
+ }
8193
+
8199
8194
  .font-semibold{
8200
8195
  font-weight:600
8201
8196
  }
@@ -8605,6 +8600,38 @@ trix-editor {
8605
8600
  overflow-y: auto;
8606
8601
  }
8607
8602
 
8603
+ .scroll-shadows {
8604
+ background:
8605
+ /* Shadow Cover TOP */
8606
+ linear-gradient(
8607
+ #F6F6F7 30%,
8608
+ #F6F6F7
8609
+ ) center top,
8610
+
8611
+ /* Shadow Cover BOTTOM */
8612
+ linear-gradient(
8613
+ #F6F6F7,
8614
+ #F6F6F7 70%
8615
+ ) center bottom,
8616
+
8617
+ /* Shadow TOP */
8618
+ radial-gradient(
8619
+ farthest-side at 50% 0,
8620
+ rgba(0, 0, 0, 0.2),
8621
+ rgba(0, 0, 0, 0)
8622
+ ) center top,
8623
+
8624
+ /* Shadow BOTTOM */
8625
+ radial-gradient(
8626
+ farthest-side at 50% 100%,
8627
+ rgba(0, 0, 0, 0.2),
8628
+ rgba(0, 0, 0, 0)
8629
+ ) center bottom;
8630
+ background-repeat: no-repeat;
8631
+ background-size: 100% 34px, 100% 34px, 100% 14px, 100% 14px;
8632
+ background-attachment: local, local, scroll, scroll;
8633
+ }
8634
+
8608
8635
  .checked\:block:checked{
8609
8636
  display:block
8610
8637
  }
@@ -8743,14 +8770,9 @@ trix-editor {
8743
8770
  background-color:rgb(6 107 178 / var(--tw-bg-opacity))
8744
8771
  }
8745
8772
 
8746
- .hover\:bg-blue-50:hover{
8773
+ .hover\:bg-gray-50:hover{
8747
8774
  --tw-bg-opacity:1;
8748
- background-color:rgb(230 243 252 / var(--tw-bg-opacity))
8749
- }
8750
-
8751
- .hover\:bg-gray-150:hover{
8752
- --tw-bg-opacity:1;
8753
- background-color:rgb(214 216 220 / var(--tw-bg-opacity))
8775
+ background-color:rgb(241 242 243 / var(--tw-bg-opacity))
8754
8776
  }
8755
8777
 
8756
8778
  .hover\:text-gray-500:hover{
@@ -8807,6 +8829,11 @@ trix-editor {
8807
8829
  border-color:rgb(148 163 184 / var(--tw-border-opacity))
8808
8830
  }
8809
8831
 
8832
+ .focus\:bg-gray-100:focus{
8833
+ --tw-bg-opacity:1;
8834
+ background-color:rgb(227 229 232 / var(--tw-bg-opacity))
8835
+ }
8836
+
8810
8837
  .focus\:bg-white:focus{
8811
8838
  --tw-bg-opacity:1;
8812
8839
  background-color:rgb(255 255 255 / var(--tw-bg-opacity))
@@ -9304,6 +9331,10 @@ trix-editor {
9304
9331
  display:inline-flex
9305
9332
  }
9306
9333
 
9334
+ .sm\:w-64{
9335
+ width:16rem
9336
+ }
9337
+
9307
9338
  .sm\:w-auto{
9308
9339
  width:auto
9309
9340
  }
@@ -9356,6 +9387,12 @@ trix-editor {
9356
9387
  justify-content:space-between
9357
9388
  }
9358
9389
 
9390
+ .sm\:space-x-8 > :not([hidden]) ~ :not([hidden]){
9391
+ --tw-space-x-reverse:0;
9392
+ margin-right:calc(2rem * var(--tw-space-x-reverse));
9393
+ margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))
9394
+ }
9395
+
9359
9396
  .sm\:space-y-0 > :not([hidden]) ~ :not([hidden]){
9360
9397
  --tw-space-y-reverse:0;
9361
9398
  margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));
@@ -9460,14 +9497,30 @@ trix-editor {
9460
9497
  margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))
9461
9498
  }
9462
9499
 
9500
+ .lg\:border-none{
9501
+ border-style:none
9502
+ }
9503
+
9504
+ .lg\:bg-transparent{
9505
+ background-color:transparent
9506
+ }
9507
+
9508
+ .lg\:p-6{
9509
+ padding:1.5rem
9510
+ }
9511
+
9463
9512
  .lg\:px-8{
9464
9513
  padding-left:2rem;
9465
9514
  padding-right:2rem
9466
9515
  }
9467
9516
 
9468
- .lg\:py-8{
9469
- padding-top:2rem;
9470
- padding-bottom:2rem
9517
+ .lg\:px-4{
9518
+ padding-left:1rem;
9519
+ padding-right:1rem
9520
+ }
9521
+
9522
+ .lg\:pl-4{
9523
+ padding-left:1rem
9471
9524
  }
9472
9525
 
9473
9526
  .lg\:pl-64{