anchor_view_components 0.32.1 → 0.33.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 46899401f5a6ca4271f0ba58ab1ba697405d98b010332d5bb3cbee46e0aa81e8
4
- data.tar.gz: 0bf751f1461567d5efc1486177c5edd2264149da8baa1fa46893b508487046b8
3
+ metadata.gz: d87613ed45f5679611e981a9a160a03a5a484c143caa491629ef9af20058ab7d
4
+ data.tar.gz: 2d9948ac9852a1c4aa2895ab265b8e2a2c55678462d604de7e4d2c00f45c35af
5
5
  SHA512:
6
- metadata.gz: e8760852039d69389f7393ecdb0afc9ac08487ccd6df254d8cd1bbd1a19e2d8849150ccd1ab0a5daee15f5de9cf7bfa425d82f4771910b2c47d2e6b871775c9c
7
- data.tar.gz: 8ab428474c9ab5b6202e056d6e6cd3b6ee48adb123eeafee2f7a443a4f73a52ac78aed3104e7f1faa2b2f0d95b3c251a8d3b4fe0ee7d15a9fee626022d4ae2e4
6
+ metadata.gz: da740f9cccc0b75e077d35b0a90c6d45916c40e243ee48fb01c41aacbeca7e1125706d00fd19d690ff8fe4588b628115a11f438d9d6251f8fdb5d1258781676a
7
+ data.tar.gz: ebe1452e67e9dd742bd3ff5a393f6eaff13edbd8b582c7f0aec0c8f6a57ee76f692535f933927db1f5fe2568c1a19818bcfe46309679ee90111c0d1514f00263
data/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.33.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 5830a96: Add typeahead select form input
8
+ - 7ac0355: Added `data-turbo-temporary` to the Error Message component, which tells Turbo to remove the element from the page before it’s cached. This fixes an issue where error messages were reappearing when a user navigated back to the page.
9
+ - f472168: The Autocomplete component no longer requires Simple Form and is now compatible with Anchor’s form builder.
10
+ - 2a1fcb0: The Dialog component now has a `position` parameter. The default is `center`, which is no different than our Dialog today. A new `right` value positions the Dialog so that it hugs the right side of the viewport, stretches to the top and bottom and is half the width of the viewport.
11
+
12
+ ### Patch Changes
13
+
14
+ - 7fb79a2: Slightly reduced the font size of Dialog titles
15
+ - 66b6f35: The Dialog’s `body` slot no longer renders through the Text component, allowing for more than a single text string to be the dialog’s body content.
16
+ - d0c7901: Fixed the styling of form labels, which were missing CSS classes and not
17
+ rendering in the correct font weight.
18
+
3
19
  ## 0.32.1
4
20
 
5
21
  ### Patch Changes
@@ -1 +1 @@
1
- /*! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[popover]{position:fixed;z-index:2147483647;inset:0;padding:.25em;width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content;border:initial solid;border-color:initial;-o-border-image:initial;border-image:initial;background-color:canvas;color:initial;overflow:auto;margin:auto}[popover]:not(.\:popover-open){display:none}[popover]:is(dialog[open]){display:revert}@supports not (background-color:canvas){[popover]{background-color:#fff;color:#000}}@supports (width:-moz-fit-content){[popover]{width:-moz-fit-content;height:-moz-fit-content}}@supports not (inset:0){[popover]{top:0;left:0;right:0;bottom:0}}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.form-input,.form-multiselect,.form-select,.form-textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}.form-input:focus,.form-multiselect:focus,.form-select:focus,.form-textarea:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#2563eb}.form-input::-moz-placeholder,.form-textarea::-moz-placeholder{color:#6b7280;opacity:1}.form-input::placeholder,.form-textarea::placeholder{color:#6b7280;opacity:1}.form-input::-webkit-datetime-edit-fields-wrapper{padding:0}.form-input::-webkit-date-and-time-value{min-height:1.5em}.form-input::-webkit-datetime-edit,.form-input::-webkit-datetime-edit-day-field,.form-input::-webkit-datetime-edit-hour-field,.form-input::-webkit-datetime-edit-meridiem-field,.form-input::-webkit-datetime-edit-millisecond-field,.form-input::-webkit-datetime-edit-minute-field,.form-input::-webkit-datetime-edit-month-field,.form-input::-webkit-datetime-edit-second-field,.form-input::-webkit-datetime-edit-year-field{padding-top:0;padding-bottom:0}.prose{color:#030712;max-width:65ch}.prose :where(p):not(:where([class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}.prose :where(ol>li):not(:where([class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(hr):not(:where([class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-left-width:.25rem;border-left-color:var(--tw-prose-quote-borders);quotes:"\201C""\201D""\2018""\2019";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(figure>*):not(:where([class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose :where(code):not(:where([class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding:.8571429em 1.1428571em}.prose :where(pre code):not(:where([class~=not-prose] *)){background-color:initial;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose] *)){width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-right:.5714286em;padding-bottom:.5714286em;padding-left:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose] *)){vertical-align:initial}.prose :where(tfoot):not(:where([class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose] *)){vertical-align:top}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(video):not(:where([class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(figure):not(:where([class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(li):not(:where([class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose] *)){padding-left:.375em}.prose :where(ul>li):not(:where([class~=not-prose] *)){padding-left:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(hr+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose] *)){padding-left:0}.prose :where(thead th:last-child):not(:where([class~=not-prose] *)){padding-right:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose] *)){padding:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose] *)){padding-left:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose] *)){padding-right:0}.prose :where(.prose>:first-child):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose] *)){margin-bottom:0}.action-menu-item>*{display:block;width:100%;padding:.25rem .75rem;text-align:left}.btn{display:inline-flex;height:2.5rem;align-items:center;gap:.5rem;white-space:nowrap;border-radius:.25rem;border-width:1px;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));padding-left:1.25rem;padding-right:1.25rem;font-size:.875rem;line-height:1.25rem;font-weight:600;text-decoration-line:none}.btn:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.btn:disabled{pointer-events:none;--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity));--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.btn-primary{border-color:rgb(37 99 235/var(--tw-border-opacity));background-color:rgb(37 99 235/var(--tw-bg-opacity))}.btn-primary,.btn-primary:hover{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.btn-primary:hover{border-color:rgb(30 64 175/var(--tw-border-opacity));background-color:rgb(30 64 175/var(--tw-bg-opacity))}.btn-primary:disabled{pointer-events:none;--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.btn-critical{border-color:rgb(185 28 28/var(--tw-border-opacity));background-color:rgb(185 28 28/var(--tw-bg-opacity))}.btn-critical,.btn-critical:hover{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.btn-critical:hover{border-color:rgb(127 29 29/var(--tw-border-opacity));background-color:rgb(127 29 29/var(--tw-bg-opacity))}.btn-critical:disabled{pointer-events:none;--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.btn-text{color:rgb(37 99 235/var(--tw-text-opacity))}.btn-text,.btn-text:hover{border-color:#0000;background-color:initial;--tw-text-opacity:1}.btn-text:hover{color:rgb(30 64 175/var(--tw-text-opacity))}.btn-text:disabled{pointer-events:none;border-color:#0000;--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.btn-small{height:1.75rem;padding-right:.75rem}.btn-small,.btn-with-starting-icon{padding-left:.75rem}.btn-with-ending-icon{padding-right:.75rem}.btn-full-width{width:100%;justify-content:center}.toast{align-items:center}.toast>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.toast{border-radius:.25rem;padding:1rem;--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.toast.\:popover-open{position:fixed;top:auto;bottom:2.5rem;margin-left:auto;margin-right:auto;display:flex;overflow:visible;border-width:0}.toast:popover-open{position:fixed;top:auto;bottom:2.5rem;margin-left:auto;margin-right:auto;display:flex;overflow:visible;border-width:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-left-full{left:-100%}.-top-full{top:-100%}.bottom-0{bottom:0}.left-4{left:1rem}.right-0{right:0}.right-4{right:1rem}.top-1\/2{top:50%}.z-10{z-index:10}.m-0{margin:0}.m-\[3px\]{margin:3px}.mx-2{margin-left:.5rem;margin-right:.5rem}.\!ml-10{margin-left:2.5rem!important}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-6{margin-top:1.5rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-\[500\/341\]{aspect-ratio:500/341}.aspect-\[500\/81\]{aspect-ratio:500/81}.aspect-\[72\/58\]{aspect-ratio:72/58}.aspect-square{aspect-ratio:1/1}.h-4{height:1rem}.h-5{height:1.25rem}.h-\[120px\]{height:120px}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.max-h-\[100dvh\]{max-height:100dvh}.max-h-\[200px\]{max-height:200px}.max-h-full{max-height:100%}.min-h-\[100dvh\]{min-height:100dvh}.min-h-\[40px\]{min-height:40px}.w-12{width:3rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-\[15rem\]{width:15rem}.w-\[18px\]{width:18px}.w-\[198px\]{width:198px}.w-\[36rem\]{width:36rem}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.max-w-full{max-width:100%}.flex-auto{flex:1 1 auto}.flex-initial{flex:0 1 auto}.flex-none{flex:none}.shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-\[1fr_1fr\]{grid-template-columns:1fr 1fr}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-solid>:not([hidden])~:not([hidden]){border-style:solid}.divide-white\/10>:not([hidden])~:not([hidden]){border-color:#ffffff1a}.self-end{align-self:flex-end}.self-center{align-self:center}.justify-self-start{justify-self:start}.justify-self-end{justify-self:end}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-default{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.border-gray-300,.border-subdued{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.bg-accent-subdued{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-brand-sea{--tw-bg-opacity:1;background-color:rgb(28 73 87/var(--tw-bg-opacity))}.bg-critical{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity))}.bg-critical-subdued{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-neutral{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-success{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity))}.bg-success-subdued{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity))}.bg-transparent{background-color:initial}.bg-warning-subdued{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/\[\.05\]{background-color:#ffffff0d}.bg-\[length\:16px_16px\]{background-size:16px 16px}.bg-\[8px_center\]{background-position:8px}.bg-no-repeat{background-repeat:no-repeat}.stroke-2{stroke-width:2}.p-0{padding:0}.p-6{padding:1.5rem}.px-0{padding-left:0;padding-right:0}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-1{padding-bottom:.25rem}.pb-6{padding-bottom:1.5rem}.pl-11{padding-left:2.75rem}.pl-8{padding-left:2rem}.pr-11{padding-right:2.75rem}.pr-2{padding-right:.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-10{line-height:2.5rem}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-8{line-height:2rem}.text-accent{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.text-brand-coral{--tw-text-opacity:1;color:rgb(242 170 106/var(--tw-text-opacity))}.text-brand-sea{--tw-text-opacity:1;color:rgb(28 73 87/var(--tw-text-opacity))}.text-critical{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-primary{--tw-text-opacity:1;color:rgb(3 7 18/var(--tw-text-opacity))}.text-secondary{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-white\/60{color:#fff9}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-\[inset_0_-1px\]{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[inset_0_-1px\]{--tw-shadow:inset 0 -1px;--tw-shadow-colored:inset 0 -1px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-gray-300{--tw-shadow-color:#d1d5db;--tw-shadow:var(--tw-shadow-colored)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[padding\]{transition-property:padding;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-500{transition-duration:.5s}.backdrop\:bg-gray-950\/50::backdrop{background-color:#03071280}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-x-0:after{content:var(--tw-content);left:0;right:0}.after\:-bottom-1:after{content:var(--tw-content);bottom:-.25rem}.after\:block:after{content:var(--tw-content);display:block}.after\:h-1:after{content:var(--tw-content);height:.25rem}.after\:bg-accent:after{content:var(--tw-content);--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.checked\:border-accent:checked{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity))}.checked\:bg-gradient-radial:checked{background-image:radial-gradient(var(--tw-gradient-stops))}.checked\:from-blue-600:checked{--tw-gradient-from:#2563eb var(--tw-gradient-from-position);--tw-gradient-to:#2563eb00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.checked\:from-\[50\%\]:checked{--tw-gradient-from-position:50%}.checked\:to-transparent:checked{--tw-gradient-to:#0000 var(--tw-gradient-to-position)}.checked\:to-\[54\%\]:checked{--tw-gradient-to-position:54%}.focus-within\:bg-neutral:focus-within{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:cursor-pointer:hover{cursor:pointer}.hover\:border-gray-600:hover{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}.hover\:bg-gray-100:hover,.hover\:bg-neutral:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-white\/\[\.05\]:hover{background-color:#ffffff0d}.hover\:text-accent-hover:hover{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.hover\:text-primary:hover{--tw-text-opacity:1;color:rgb(3 7 18/var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\:no-underline:hover{text-decoration-line:none}.checked\:hover\:border-accent-hover:hover:checked{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity))}.checked\:hover\:from-blue-800:hover:checked{--tw-gradient-from:#1e40af var(--tw-gradient-from-position);--tw-gradient-to:#1e40af00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.checked\:hover\:from-\[50\%\]:hover:checked{--tw-gradient-from-position:50%}.checked\:hover\:to-transparent:hover:checked{--tw-gradient-to:#0000 var(--tw-gradient-to-position)}.checked\:hover\:to-\[54\%\]:hover:checked{--tw-gradient-to-position:54%}.focus\:no-underline:focus{text-decoration-line:none}.disabled\:border-subdued:disabled,.disabled\:checked\:border-subdued:checked:disabled{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.disabled\:checked\:from-\[50\%\]:checked:disabled{--tw-gradient-from-position:50%}.disabled\:checked\:to-transparent:checked:disabled{--tw-gradient-to:#0000 var(--tw-gradient-to-position)}.disabled\:checked\:to-\[54\%\]:checked:disabled{--tw-gradient-to-position:54%}.group[aria-expanded][data-empty=true][data-loading=false] .group-aria-\[expanded\]\[data-empty\=\'true\'\]\[data-loading\=\'false\'\]\:block,.group[aria-expanded][data-loading=true] .group-aria-\[expanded\]\[data-loading\=\'true\'\]\:block{display:block}.group[data-empty=true] .group-data-\[empty\=\'true\'\]\:hidden,.group[data-loading=true] .group-data-\[loading\=\'true\'\]\:hidden{display:none}.popover-open\:block:popover-open{display:block}.\[\&\>\[aria-selected\=\'true\'\]\]\:bg-accent-subdued>[aria-selected=true]{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.\[\&\>li\]\:cursor-pointer>li{cursor:pointer}.\[\&\>li\]\:px-3>li{padding-left:.75rem;padding-right:.75rem}.\[\&\>li\]\:py-2>li{padding-top:.5rem;padding-bottom:.5rem}.side-nav-open .\[\.side-nav-open_\&\]\:w-\[3\.5rem\]{width:3.5rem}.side-nav-open .\[\.side-nav-open_\&\]\:rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.side-nav-open .\[\.side-nav-open_\&\]\:px-4{padding-left:1rem;padding-right:1rem}.side-nav-open .\[\.side-nav-open_\&\]\:opacity-0{opacity:0}
1
+ /*! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[popover]{position:fixed;z-index:2147483647;inset:0;padding:.25em;width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content;border:initial solid;border-color:initial;-o-border-image:initial;border-image:initial;background-color:canvas;color:initial;overflow:auto;margin:auto}[popover]:not(.\:popover-open){display:none}[popover]:is(dialog[open]){display:revert}@supports not (background-color:canvas){[popover]{background-color:#fff;color:#000}}@supports (width:-moz-fit-content){[popover]{width:-moz-fit-content;height:-moz-fit-content}}@supports not (inset:0){[popover]{top:0;left:0;right:0;bottom:0}}.choices{position:relative;overflow:hidden;margin-bottom:24px;font-size:16px}.choices:focus{outline:none}.choices:last-child{margin-bottom:0}.choices.is-open{overflow:visible}.choices.is-disabled .choices__inner,.choices.is-disabled .choices__input{background-color:#eaeaea;cursor:not-allowed;-webkit-user-select:none;-moz-user-select:none;user-select:none}.choices.is-disabled .choices__item{cursor:not-allowed}.choices [hidden]{display:none!important}.choices[data-type*=select-one]{cursor:pointer}.choices[data-type*=select-one] .choices__inner{padding-bottom:7.5px}.choices[data-type*=select-one] .choices__input{display:block;width:100%;padding:10px;border-bottom:1px solid #ddd;background-color:#fff;margin:0}.choices[data-type*=select-one] .choices__button{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMSIgaGVpZ2h0PSIyMSI+PGcgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJtMi41OTIuMDQ0IDE4LjM2NCAxOC4zNjQtMi41NDggMi41NDhMLjA0NCAyLjU5MnoiLz48cGF0aCBkPSJNMCAxOC4zNjQgMTguMzY0IDBsMi41NDggMi41NDhMMi41NDggMjAuOTEyeiIvPjwvZz48L3N2Zz4=");padding:0;background-size:8px;position:absolute;top:50%;right:0;margin-top:-10px;margin-right:25px;height:20px;width:20px;border-radius:10em;opacity:.25}.choices[data-type*=select-one] .choices__button:focus,.choices[data-type*=select-one] .choices__button:hover{opacity:1}.choices[data-type*=select-one] .choices__button:focus{box-shadow:0 0 0 2px #00bcd4}.choices[data-type*=select-one] .choices__item[data-value=""] .choices__button{display:none}.choices[data-type*=select-one]:after{content:"";height:0;width:0;border:5px solid #0000;border-top-color:#333;position:absolute;right:11.5px;top:50%;margin-top:-2.5px;pointer-events:none}.choices[data-type*=select-one].is-open:after{border-color:#0000 #0000 #333;margin-top:-7.5px}.choices[data-type*=select-one][dir=rtl]:after{left:11.5px;right:auto}.choices[data-type*=select-one][dir=rtl] .choices__button{right:auto;left:0;margin-left:25px;margin-right:0}.choices[data-type*=select-multiple] .choices__inner,.choices[data-type*=text] .choices__inner{cursor:text}.choices[data-type*=select-multiple] .choices__button,.choices[data-type*=text] .choices__button{position:relative;display:inline-block;margin:0 -4px 0 8px;padding-left:16px;border-left:1px solid #008fa1;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMSIgaGVpZ2h0PSIyMSI+PGcgZmlsbD0iI0ZGRiIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJtMi41OTIuMDQ0IDE4LjM2NCAxOC4zNjQtMi41NDggMi41NDhMLjA0NCAyLjU5MnoiLz48cGF0aCBkPSJNMCAxOC4zNjQgMTguMzY0IDBsMi41NDggMi41NDhMMi41NDggMjAuOTEyeiIvPjwvZz48L3N2Zz4=");background-size:8px;width:8px;line-height:1;opacity:.75;border-radius:0}.choices[data-type*=select-multiple] .choices__button:focus,.choices[data-type*=select-multiple] .choices__button:hover,.choices[data-type*=text] .choices__button:focus,.choices[data-type*=text] .choices__button:hover{opacity:1}.choices__inner{display:inline-block;vertical-align:top;width:100%;background-color:#f9f9f9;padding:7.5px 7.5px 3.75px;border:1px solid #ddd;border-radius:2.5px;font-size:14px;min-height:44px;overflow:hidden}.is-focused .choices__inner,.is-open .choices__inner{border-color:#b7b7b7}.is-open .choices__inner{border-radius:2.5px 2.5px 0 0}.is-flipped.is-open .choices__inner{border-radius:0 0 2.5px 2.5px}.choices__list{margin:0;padding-left:0;list-style:none}.choices__list--single{display:inline-block;padding:4px 16px 4px 4px;width:100%}[dir=rtl] .choices__list--single{padding-right:4px;padding-left:16px}.choices__list--single .choices__item{width:100%}.choices__list--multiple{display:inline}.choices__list--multiple .choices__item{display:inline-block;vertical-align:middle;border-radius:20px;padding:4px 10px;font-size:12px;font-weight:500;margin-right:3.75px;margin-bottom:3.75px;background-color:#00bcd4;border:1px solid #00a5bb;color:#fff;word-break:break-all;box-sizing:border-box}.choices__list--multiple .choices__item[data-deletable]{padding-right:5px}[dir=rtl] .choices__list--multiple .choices__item{margin-right:0;margin-left:3.75px}.choices__list--multiple .choices__item.is-highlighted{background-color:#00a5bb;border:1px solid #008fa1}.is-disabled .choices__list--multiple .choices__item{background-color:#aaa;border:1px solid #919191}.choices__list--dropdown,.choices__list[aria-expanded]{visibility:hidden;z-index:1;position:absolute;width:100%;background-color:#fff;border:1px solid #ddd;top:100%;margin-top:-1px;border-bottom-left-radius:2.5px;border-bottom-right-radius:2.5px;overflow:hidden;word-break:break-all;will-change:visibility}.is-active.choices__list--dropdown,.is-active.choices__list[aria-expanded]{visibility:visible}.is-open .choices__list--dropdown,.is-open .choices__list[aria-expanded]{border-color:#b7b7b7}.is-flipped .choices__list--dropdown,.is-flipped .choices__list[aria-expanded]{top:auto;bottom:100%;margin-top:0;margin-bottom:-1px;border-radius:.25rem .25rem 0 0}.choices__list--dropdown .choices__list,.choices__list[aria-expanded] .choices__list{position:relative;max-height:300px;overflow:auto;-webkit-overflow-scrolling:touch;will-change:scroll-position}.choices__list--dropdown .choices__item,.choices__list[aria-expanded] .choices__item{position:relative;padding:10px;font-size:14px}[dir=rtl] .choices__list--dropdown .choices__item,[dir=rtl] .choices__list[aria-expanded] .choices__item{text-align:right}@media (min-width:640px){.choices__list--dropdown .choices__item--selectable,.choices__list[aria-expanded] .choices__item--selectable{padding-right:100px}.choices__list--dropdown .choices__item--selectable:after,.choices__list[aria-expanded] .choices__item--selectable:after{content:attr(data-select-text);font-size:12px;opacity:0;position:absolute;right:10px;top:50%;transform:translateY(-50%)}[dir=rtl] .choices__list--dropdown .choices__item--selectable,[dir=rtl] .choices__list[aria-expanded] .choices__item--selectable{text-align:right;padding-left:100px;padding-right:10px}[dir=rtl] .choices__list--dropdown .choices__item--selectable:after,[dir=rtl] .choices__list[aria-expanded] .choices__item--selectable:after{right:auto;left:10px}}.choices__list--dropdown .choices__item--selectable.is-highlighted,.choices__list[aria-expanded] .choices__item--selectable.is-highlighted{background-color:#f2f2f2}.choices__list--dropdown .choices__item--selectable.is-highlighted:after,.choices__list[aria-expanded] .choices__item--selectable.is-highlighted:after{opacity:.5}.choices__item{cursor:default}.choices__item--selectable{cursor:pointer}.choices__item--disabled{cursor:not-allowed;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:.5}.choices__heading{font-weight:600;font-size:12px;padding:10px;border-bottom:1px solid #f7f7f7;color:gray}.choices__button{text-indent:-9999px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background-color:initial;background-repeat:no-repeat;background-position:50%;cursor:pointer}.choices__button:focus{outline:none}.choices__input{display:inline-block;vertical-align:initial;background-color:#f9f9f9;font-size:14px;margin-bottom:5px;border:0;border-radius:0;max-width:100%;padding:4px 0 4px 2px}.choices__input:focus{outline:0}.choices__input::-webkit-search-cancel-button,.choices__input::-webkit-search-decoration,.choices__input::-webkit-search-results-button,.choices__input::-webkit-search-results-decoration{display:none}.choices__input::-ms-clear,.choices__input::-ms-reveal{display:none;width:0;height:0}[dir=rtl] .choices__input{padding-right:2px;padding-left:0}.choices__placeholder{opacity:.5}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.form-input,.form-multiselect,.form-select,.form-textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}.form-input:focus,.form-multiselect:focus,.form-select:focus,.form-textarea:focus{outline:2px solid #0000;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#2563eb}.form-input::-moz-placeholder,.form-textarea::-moz-placeholder{color:#6b7280;opacity:1}.form-input::placeholder,.form-textarea::placeholder{color:#6b7280;opacity:1}.form-input::-webkit-datetime-edit-fields-wrapper{padding:0}.form-input::-webkit-date-and-time-value{min-height:1.5em}.form-input::-webkit-datetime-edit,.form-input::-webkit-datetime-edit-day-field,.form-input::-webkit-datetime-edit-hour-field,.form-input::-webkit-datetime-edit-meridiem-field,.form-input::-webkit-datetime-edit-millisecond-field,.form-input::-webkit-datetime-edit-minute-field,.form-input::-webkit-datetime-edit-month-field,.form-input::-webkit-datetime-edit-second-field,.form-input::-webkit-datetime-edit-year-field{padding-top:0;padding-bottom:0}.prose{color:#030712;max-width:65ch}.prose :where(p):not(:where([class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}.prose :where(ol>li):not(:where([class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(hr):not(:where([class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-left-width:.25rem;border-left-color:var(--tw-prose-quote-borders);quotes:"\201C""\201D""\2018""\2019";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(figure>*):not(:where([class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose :where(code):not(:where([class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding:.8571429em 1.1428571em}.prose :where(pre code):not(:where([class~=not-prose] *)){background-color:initial;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose] *)){width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-right:.5714286em;padding-bottom:.5714286em;padding-left:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose] *)){vertical-align:initial}.prose :where(tfoot):not(:where([class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose] *)){vertical-align:top}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(video):not(:where([class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(figure):not(:where([class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(li):not(:where([class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose] *)){padding-left:.375em}.prose :where(ul>li):not(:where([class~=not-prose] *)){padding-left:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(hr+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose] *)){padding-left:0}.prose :where(thead th:last-child):not(:where([class~=not-prose] *)){padding-right:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose] *)){padding:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose] *)){padding-left:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose] *)){padding-right:0}.prose :where(.prose>:first-child):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose] *)){margin-bottom:0}.action-menu-item>*{display:block;width:100%;padding:.25rem .75rem;text-align:left}.btn{display:inline-flex;height:2.5rem;align-items:center;gap:.5rem;white-space:nowrap;border-radius:.25rem;border-width:1px;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));padding-left:1.25rem;padding-right:1.25rem;font-size:.875rem;line-height:1.25rem;font-weight:600;text-decoration-line:none}.btn:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.btn:disabled{pointer-events:none;--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity));--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.btn-primary{border-color:rgb(37 99 235/var(--tw-border-opacity));background-color:rgb(37 99 235/var(--tw-bg-opacity))}.btn-primary,.btn-primary:hover{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.btn-primary:hover{border-color:rgb(30 64 175/var(--tw-border-opacity));background-color:rgb(30 64 175/var(--tw-bg-opacity))}.btn-primary:disabled{pointer-events:none;--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.btn-critical{border-color:rgb(185 28 28/var(--tw-border-opacity));background-color:rgb(185 28 28/var(--tw-bg-opacity))}.btn-critical,.btn-critical:hover{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.btn-critical:hover{border-color:rgb(127 29 29/var(--tw-border-opacity));background-color:rgb(127 29 29/var(--tw-bg-opacity))}.btn-critical:disabled{pointer-events:none;--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.btn-text{color:rgb(37 99 235/var(--tw-text-opacity))}.btn-text,.btn-text:hover{border-color:#0000;background-color:initial;--tw-text-opacity:1}.btn-text:hover{color:rgb(30 64 175/var(--tw-text-opacity))}.btn-text:disabled{pointer-events:none;border-color:#0000;--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.btn-small{height:1.75rem;padding-right:.75rem}.btn-small,.btn-with-starting-icon{padding-left:.75rem}.btn-with-ending-icon{padding-right:.75rem}.btn-full-width{width:100%;justify-content:center}.choices__inner{min-height:40px;padding-bottom:0;font-size:16px}.choices[data-type*=select-one] .choices__inner{padding-top:4px;padding-bottom:4px}.choices[data-type*=select-multiple] .choices__inner{padding-top:3px}.choices__inner,.choices__input.choices__input--cloned{background:#0000}.choices__inner,.is-open .choices__inner{border-radius:4px;border:1px solid #6b7280}.is-open .choices__inner{border-bottom-left-radius:0;border-bottom-right-radius:0}.choices__input{font-size:16px;color:inherit}.choices__list--multiple .choices__item,.choices__list--multiple .choices__item.is-highlighted{font-size:16px;background:#f5f6f7;color:#101112;border-radius:4px;border:1px solid #6b7280;margin-bottom:2px}.choices[data-type*=select-multiple] .choices__button,.choices[data-type*=select-one] .choices__button{border:none;filter:invert(1)}.choices[data-type*=select-multiple]:after{content:"";height:0;width:0;border:5px solid #0000;border-top-color:#333;position:absolute;right:11.5px;top:50%;margin-top:-2.5px;pointer-events:none}.choices[data-type*=select-multiple].is-open:after{border-color:#0000 #0000 #333;margin-top:-7.5px}.choices[data-type*=select-multiple][dir=rtl]:after{left:11.5px;right:auto}.choices{margin-bottom:0}.choices__list--dropdown .choices__item--selectable,.choices__list[aria-expanded] .choices__item--selectable{padding-right:inherit;word-break:break-word}.toast{align-items:center}.toast>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.toast{border-radius:.25rem;padding:1rem;--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.toast.\:popover-open{position:fixed;top:auto;bottom:2.5rem;margin-left:auto;margin-right:auto;display:flex;overflow:visible;border-width:0}.toast:popover-open{position:fixed;top:auto;bottom:2.5rem;margin-left:auto;margin-right:auto;display:flex;overflow:visible;border-width:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-left-full{left:-100%}.-top-full{top:-100%}.bottom-0{bottom:0}.left-4{left:1rem}.right-0{right:0}.right-4{right:1rem}.top-1\/2{top:50%}.z-10{z-index:10}.m-0{margin:0}.m-\[3px\]{margin:3px}.mx-2{margin-left:.5rem;margin-right:.5rem}.\!ml-10{margin-left:2.5rem!important}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-6{margin-top:1.5rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-\[500\/341\]{aspect-ratio:500/341}.aspect-\[500\/81\]{aspect-ratio:500/81}.aspect-\[72\/58\]{aspect-ratio:72/58}.aspect-square{aspect-ratio:1/1}.h-4{height:1rem}.h-5{height:1.25rem}.h-\[100dvh\]{height:100dvh}.h-\[120px\]{height:120px}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.max-h-\[100dvh\]{max-height:100dvh}.max-h-\[200px\]{max-height:200px}.max-h-full{max-height:100%}.min-h-\[100dvh\]{min-height:100dvh}.min-h-\[40px\]{min-height:40px}.w-12{width:3rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-\[15rem\]{width:15rem}.w-\[18px\]{width:18px}.w-\[198px\]{width:198px}.w-\[36rem\]{width:36rem}.w-\[50vw\]{width:50vw}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.max-w-full{max-width:100%}.flex-auto{flex:1 1 auto}.flex-initial{flex:0 1 auto}.flex-none{flex:none}.shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-\[1fr_1fr\]{grid-template-columns:1fr 1fr}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-solid>:not([hidden])~:not([hidden]){border-style:solid}.divide-white\/10>:not([hidden])~:not([hidden]){border-color:#ffffff1a}.self-end{align-self:flex-end}.self-center{align-self:center}.justify-self-start{justify-self:start}.justify-self-end{justify-self:end}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-default{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.border-gray-300,.border-subdued{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.bg-accent-subdued{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-brand-sea{--tw-bg-opacity:1;background-color:rgb(28 73 87/var(--tw-bg-opacity))}.bg-critical{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity))}.bg-critical-subdued{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-neutral{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-success{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity))}.bg-success-subdued{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity))}.bg-transparent{background-color:initial}.bg-warning-subdued{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/\[\.05\]{background-color:#ffffff0d}.bg-\[length\:16px_16px\]{background-size:16px 16px}.bg-\[8px_center\]{background-position:8px}.bg-no-repeat{background-repeat:no-repeat}.stroke-2{stroke-width:2}.p-0{padding:0}.p-6{padding:1.5rem}.px-0{padding-left:0;padding-right:0}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-1{padding-bottom:.25rem}.pb-3{padding-bottom:.75rem}.pb-6{padding-bottom:1.5rem}.pl-11{padding-left:2.75rem}.pl-8{padding-left:2rem}.pr-11{padding-right:2.75rem}.pr-2{padding-right:.5rem}.pt-3{padding-top:.75rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-10{line-height:2.5rem}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-8{line-height:2rem}.text-accent{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.text-brand-coral{--tw-text-opacity:1;color:rgb(242 170 106/var(--tw-text-opacity))}.text-brand-sea{--tw-text-opacity:1;color:rgb(28 73 87/var(--tw-text-opacity))}.text-critical{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-primary{--tw-text-opacity:1;color:rgb(3 7 18/var(--tw-text-opacity))}.text-secondary{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-white\/60{color:#fff9}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-\[inset_0_-1px\]{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[inset_0_-1px\]{--tw-shadow:inset 0 -1px;--tw-shadow-colored:inset 0 -1px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-gray-300{--tw-shadow-color:#d1d5db;--tw-shadow:var(--tw-shadow-colored)}.outline{outline-style:solid}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[padding\]{transition-property:padding;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-500{transition-duration:.5s}.backdrop\:bg-gray-950\/50::backdrop{background-color:#03071280}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-x-0:after{content:var(--tw-content);left:0;right:0}.after\:-bottom-1:after{content:var(--tw-content);bottom:-.25rem}.after\:block:after{content:var(--tw-content);display:block}.after\:h-1:after{content:var(--tw-content);height:.25rem}.after\:bg-accent:after{content:var(--tw-content);--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.open\:flex[open]{display:flex}.checked\:border-accent:checked{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity))}.checked\:bg-gradient-radial:checked{background-image:radial-gradient(var(--tw-gradient-stops))}.checked\:from-blue-600:checked{--tw-gradient-from:#2563eb var(--tw-gradient-from-position);--tw-gradient-to:#2563eb00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.checked\:from-\[50\%\]:checked{--tw-gradient-from-position:50%}.checked\:to-transparent:checked{--tw-gradient-to:#0000 var(--tw-gradient-to-position)}.checked\:to-\[54\%\]:checked{--tw-gradient-to-position:54%}.focus-within\:bg-neutral:focus-within{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:cursor-pointer:hover{cursor:pointer}.hover\:border-gray-600:hover{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}.hover\:bg-gray-100:hover,.hover\:bg-neutral:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-white\/\[\.05\]:hover{background-color:#ffffff0d}.hover\:text-accent-hover:hover{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.hover\:text-primary:hover{--tw-text-opacity:1;color:rgb(3 7 18/var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\:no-underline:hover{text-decoration-line:none}.checked\:hover\:border-accent-hover:hover:checked{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity))}.checked\:hover\:from-blue-800:hover:checked{--tw-gradient-from:#1e40af var(--tw-gradient-from-position);--tw-gradient-to:#1e40af00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.checked\:hover\:from-\[50\%\]:hover:checked{--tw-gradient-from-position:50%}.checked\:hover\:to-transparent:hover:checked{--tw-gradient-to:#0000 var(--tw-gradient-to-position)}.checked\:hover\:to-\[54\%\]:hover:checked{--tw-gradient-to-position:54%}.focus\:no-underline:focus{text-decoration-line:none}.disabled\:border-subdued:disabled,.disabled\:checked\:border-subdued:checked:disabled{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.disabled\:checked\:from-\[50\%\]:checked:disabled{--tw-gradient-from-position:50%}.disabled\:checked\:to-transparent:checked:disabled{--tw-gradient-to:#0000 var(--tw-gradient-to-position)}.disabled\:checked\:to-\[54\%\]:checked:disabled{--tw-gradient-to-position:54%}.group[aria-expanded][data-empty=true][data-loading=false] .group-aria-\[expanded\]\[data-empty\=\'true\'\]\[data-loading\=\'false\'\]\:block,.group[aria-expanded][data-loading=true] .group-aria-\[expanded\]\[data-loading\=\'true\'\]\:block{display:block}.group[data-empty=true] .group-data-\[empty\=\'true\'\]\:hidden,.group[data-loading=true] .group-data-\[loading\=\'true\'\]\:hidden{display:none}.popover-open\:block:popover-open{display:block}.\[\&\>\[aria-selected\=\'true\'\]\]\:bg-accent-subdued>[aria-selected=true]{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.\[\&\>li\]\:cursor-pointer>li{cursor:pointer}.\[\&\>li\]\:px-3>li{padding-left:.75rem;padding-right:.75rem}.\[\&\>li\]\:py-2>li{padding-top:.5rem;padding-bottom:.5rem}.side-nav-open .\[\.side-nav-open_\&\]\:w-\[3\.5rem\]{width:3.5rem}.side-nav-open .\[\.side-nav-open_\&\]\:rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.side-nav-open .\[\.side-nav-open_\&\]\:px-4{padding-left:1rem;padding-right:1rem}.side-nav-open .\[\.side-nav-open_\&\]\:opacity-0{opacity:0}
@@ -3,7 +3,9 @@
3
3
  @import "tailwindcss/utilities";
4
4
 
5
5
  @import "@oddbird/popover-polyfill/dist/popover" layer(base);
6
+ @import "choices.js/public/assets/styles/choices" layer(base);
6
7
 
7
8
  @import "components/action-menu" layer(components);
8
9
  @import "components/button" layer(components);
10
+ @import "components/choices-overrides" layer(components);
9
11
  @import "components/toast" layer(components);
@@ -0,0 +1,84 @@
1
+ .choices__inner {
2
+ min-height: 40px;
3
+ padding-bottom: 0;
4
+ font-size: 16px;
5
+ }
6
+ .choices[data-type*=select-one] .choices__inner {
7
+ padding-top: 4px;
8
+ padding-bottom: 4px;
9
+ }
10
+
11
+ .choices[data-type*=select-multiple] .choices__inner {
12
+ padding-top: 3px;
13
+ }
14
+
15
+ .choices__input.choices__input--cloned,
16
+ .choices__inner {
17
+ background: transparent;
18
+ }
19
+
20
+ .is-open .choices__inner,
21
+ .choices__inner {
22
+ border-radius: 4px;
23
+ border: 1px solid #6b7280;
24
+ }
25
+
26
+ .is-open .choices__inner {
27
+ border-bottom-left-radius: 0;
28
+ border-bottom-right-radius: 0;
29
+ }
30
+
31
+ .choices__input {
32
+ font-size: 16px;
33
+ color: inherit;
34
+ }
35
+
36
+ .choices__list--multiple .choices__item.is-highlighted,
37
+ .choices__list--multiple .choices__item {
38
+ font-size: 16px;
39
+ background: #F5F6F7;
40
+ color: #101112;
41
+ border-radius: 4px;
42
+ border: 1px solid #6b7280;
43
+ margin-bottom: 2px;
44
+ }
45
+
46
+ .choices[data-type*=select-multiple] .choices__button,
47
+ .choices[data-type*=select-one] .choices__button {
48
+ border: none;
49
+ filter: invert(1); /* hack to make the remove icon visible */
50
+ }
51
+
52
+ /* Add arrow to select-multiple */
53
+ .choices[data-type*=select-multiple]::after {
54
+ content: "";
55
+ height: 0;
56
+ width: 0;
57
+ border-style: solid;
58
+ border-color: #333 transparent transparent transparent;
59
+ border-width: 5px;
60
+ position: absolute;
61
+ right: 11.5px;
62
+ top: 50%;
63
+ margin-top: -2.5px;
64
+ pointer-events: none;
65
+ }
66
+ .choices[data-type*=select-multiple].is-open::after {
67
+ border-color: transparent transparent #333 transparent;
68
+ margin-top: -7.5px;
69
+ }
70
+ .choices[data-type*=select-multiple][dir=rtl]::after {
71
+ left: 11.5px;
72
+ right: auto;
73
+ }
74
+
75
+ /* remove choices margin if not last child */
76
+ .choices {
77
+ margin-bottom: 0;
78
+ }
79
+
80
+ .choices__list--dropdown .choices__item--selectable,
81
+ .choices__list[aria-expanded] .choices__item--selectable {
82
+ padding-right: inherit;
83
+ word-break: break-word;
84
+ }
@@ -8,6 +8,7 @@ import PopoverController from "./popover_controller";
8
8
  import Sortable from "stimulus-sortable";
9
9
  import ToastController from "./toast_controller";
10
10
  import ToggleController from "./toggle_controller";
11
+ import TypeaheadSelectController from "./typeahead_select_controller";
11
12
  import { Application } from "@hotwired/stimulus";
12
13
 
13
14
  export function registerAnchorControllers(application: Application) {
@@ -19,6 +20,7 @@ export function registerAnchorControllers(application: Application) {
19
20
  application.register("sortable", Sortable);
20
21
  application.register("toast", ToastController);
21
22
  application.register("toggle", ToggleController);
23
+ application.register("typeahead-select", TypeaheadSelectController);
22
24
  }
23
25
 
24
26
  export {
@@ -28,4 +30,5 @@ export {
28
30
  PopoverController,
29
31
  ToastController,
30
32
  ToggleController,
33
+ TypeaheadSelectController,
31
34
  };
@@ -0,0 +1,12 @@
1
+ <% results.each do |result| %>
2
+ <%= tag.li(
3
+ **merge_options(
4
+ { data: result.data },
5
+ class: "list-group-item",
6
+ data: { autocomplete_value: result.value },
7
+ role: "option",
8
+ )
9
+ ) do %>
10
+ <%= result.text %>
11
+ <% end %>
12
+ <% end %>
@@ -0,0 +1,21 @@
1
+ module Anchor
2
+ module Autocomplete
3
+ class ResultsComponent < Component
4
+ Result = Data.define(:text, :value, :data)
5
+
6
+ def initialize(data:)
7
+ @data = data
8
+
9
+ super
10
+ end
11
+
12
+ private
13
+
14
+ attr_reader :data
15
+
16
+ def results
17
+ data.map { |result| Result.new(**result) }
18
+ end
19
+ end
20
+ end
21
+ end
@@ -1,39 +1,37 @@
1
- <div
2
- data-controller="autocomplete"
3
- data-autocomplete-url-value="<%= src %>"
4
- role="combobox"
5
- class="group relative"
6
- >
7
- <%= form_builder.input(
8
- "#{name}_search".to_sym,
9
- input_html: merge_options(input_options, {
10
- data: {
11
- autocomplete_target: "input",
12
- autocomplete_min_length_value: 0,
13
- action: "click->autocomplete#onInputClick",
14
- },
15
- })
16
- ) %>
17
- <div class="hidden">
18
- <%= form_builder.input(
1
+ <%= tag.div(
2
+ data: { controller: "autocomplete", autocomplete_url_value: src },
3
+ role: "combobox",
4
+ class: "group relative"
5
+ ) do %>
6
+ <% if form_builder.class.module_parent_name == "Anchor" %>
7
+ <%= form_builder.text_field(
8
+ name,
9
+ **merge_options(input_options, default_input_options)
10
+ ) %>
11
+ <%= form_builder.text_field(
19
12
  "#{name}_id".to_sym,
20
- input_html: {
21
- data: { autocomplete_target: "hidden" }
22
- }) %>
23
- </div>
24
- <%= tag.ul(**merge_options(list_options, {
25
- class: class_names(
26
- list_box_classes,
27
- "group-data-[empty='true']:hidden group-data-[loading='true']:hidden [&>li]:py-2 [&>li]:px-3 [&>li]:cursor-pointer [&>[aria-selected='true']]:bg-accent-subdued",
28
- ),
29
- data: {
30
- autocomplete_target: "results",
31
- }
32
- })) %>
33
- <div class="<%= list_box_classes %> text-center text-gray-500 hidden group-aria-[expanded][data-empty='true'][data-loading='false']:block">
13
+ { class: "hidden", data: { autocomplete_target: "hidden" }}
14
+ ) %>
15
+ <% else %>
16
+ <%= form_builder.input(
17
+ "#{name}_search".to_sym,
18
+ input_html: merge_options(input_options, default_input_options)
19
+ ) %>
20
+ <div class="hidden">
21
+ <%= form_builder.input(
22
+ "#{name}_id".to_sym,
23
+ input_html: { data: { autocomplete_target: "hidden" } }
24
+ ) %>
25
+ </div>
26
+ <% end %>
27
+
28
+ <%= tag.ul(**merge_options(list_options, default_list_options)) %>
29
+
30
+ <%= tag.div class: no_options_classes do %>
34
31
  <%= t(".no_options") %>
35
- </div>
36
- <div class="<%= list_box_classes %> text-center text-gray-500 hidden group-aria-[expanded][data-loading='true']:block">
32
+ <% end %>
33
+
34
+ <%= tag.div class: loading_classes do %>
37
35
  <%= t(".loading") %>
38
- </div>
39
- </div>
36
+ <% end %>
37
+ <% end %>
@@ -1,5 +1,11 @@
1
1
  module Anchor
2
2
  class AutocompleteComponent < Component
3
+ COMMON_CLASSES = %w(
4
+ text-center
5
+ text-gray-500
6
+ hidden
7
+ ).freeze
8
+
3
9
  LIST_BOX_CLASSES = %w(
4
10
  absolute
5
11
  bg-white
@@ -13,7 +19,24 @@ module Anchor
13
19
  shadow-lg
14
20
  w-full
15
21
  z-10
16
- ).join(" ").freeze
22
+ ).freeze
23
+
24
+ UL_CLASSES = %w(
25
+ group-data-[empty='true']:hidden
26
+ group-data-[loading='true']:hidden
27
+ [&>li]:py-2
28
+ [&>li]:px-3
29
+ [&>li]:cursor-pointer
30
+ [&>[aria-selected='true']]:bg-accent-subdued
31
+ ).freeze
32
+
33
+ NO_OPTIONS_CLASSES = %w(
34
+ group-aria-[expanded][data-empty='true'][data-loading='false']:block
35
+ ).freeze
36
+
37
+ LOADING_CLASSES = %w(
38
+ group-aria-[expanded][data-loading='true']:block
39
+ ).freeze
17
40
 
18
41
  def initialize(
19
42
  form_builder:,
@@ -21,8 +44,6 @@ module Anchor
21
44
  src:,
22
45
  input_options: {},
23
46
  list_options: {},
24
- input_data: nil,
25
- list_data: nil,
26
47
  **kwargs
27
48
  )
28
49
  @form_builder = form_builder
@@ -30,26 +51,6 @@ module Anchor
30
51
  @input_options = input_options
31
52
  @list_options = list_options
32
53
  @src = src
33
- if input_data
34
- deprecate(
35
- arg: :input_data,
36
- options: :input_options,
37
- key: :data,
38
- value: input_data,
39
- caller:
40
- )
41
- input_options[:data] = input_data
42
- end
43
- if list_data
44
- deprecate(
45
- arg: :list_data,
46
- options: :list_options,
47
- key: :data,
48
- value: list_data,
49
- caller:
50
- )
51
- list_options[:data] = list_data
52
- end
53
54
 
54
55
  super(**kwargs)
55
56
  end
@@ -61,5 +62,30 @@ module Anchor
61
62
  private
62
63
 
63
64
  attr_reader :form_builder, :name, :input_options, :list_options, :src
65
+
66
+ def default_input_options
67
+ {
68
+ data: {
69
+ autocomplete_target: "input",
70
+ autocomplete_min_length_value: 0,
71
+ action: "click->autocomplete#onInputClick",
72
+ },
73
+ }
74
+ end
75
+
76
+ def default_list_options
77
+ {
78
+ class: class_names(list_box_classes, UL_CLASSES),
79
+ data: { autocomplete_target: "results" },
80
+ }
81
+ end
82
+
83
+ def no_options_classes
84
+ class_names(list_box_classes, COMMON_CLASSES, NO_OPTIONS_CLASSES)
85
+ end
86
+
87
+ def loading_classes
88
+ class_names(list_box_classes, COMMON_CLASSES, LOADING_CLASSES)
89
+ end
64
90
  end
65
91
  end
@@ -2,15 +2,20 @@
2
2
 
3
3
  <%= tag.dialog(**merge_options(wrapper_options, {
4
4
  aria: { labelledby: title_id },
5
- class: "w-[36rem] rounded-lg p-0 bg-white shadow-lg backdrop:bg-gray-950/50",
5
+ class: [
6
+ "open:flex",
7
+ "flex-col p-0 bg-white shadow-lg backdrop:bg-gray-950/50",
8
+ { "w-[36rem] rounded-lg" => position == :center },
9
+ { "h-[100dvh] max-h-[100dvh] w-[50vw] m-0 ml-auto" => position == :right },
10
+ ],
6
11
  data: {
7
12
  controller: "dialog",
8
13
  testid: title_id,
9
14
  },
10
15
  })) do %>
11
- <header class="p-6 flex gap-4 justify-between items-center">
16
+ <header class="px-6 pt-6 pb-3 flex gap-4 justify-between items-center">
12
17
  <%= render Anchor::TextComponent.new(
13
- variant: :heading_2xl,
18
+ variant: :heading_xl,
14
19
  tag: :h1,
15
20
  id: title_id,
16
21
  data: { testid: "#{title_id}-title" }
@@ -27,15 +32,18 @@
27
32
  </form>
28
33
  </header>
29
34
 
30
- <div class="px-6 pb-6">
31
- <%= render(Anchor::TextComponent.new(
32
- variant: :body_base,
33
- data: { testid: "#{title_id}-body" }
34
- ).with_content(body)) %>
35
- </div>
35
+ <%= tag.div(
36
+ body,
37
+ class: [
38
+ "px-6 pt-3 flex-auto overflow-y-auto",
39
+ { "pb-3" => footer? },
40
+ { "pb-6" => !footer? },
41
+ ],
42
+ data: { testid: "#{title_id}-body" },
43
+ ) %>
36
44
 
37
45
  <% if footer? %>
38
- <footer class="sticky bottom-0 bg-white px-6 pb-6 flex gap-2 justify-end">
46
+ <footer class="sticky bottom-0 bg-white px-6 pt-3 pb-6 flex gap-2 justify-end">
39
47
  <%= footer %>
40
48
  </footer>
41
49
  <% end %>
@@ -1,5 +1,8 @@
1
1
  module Anchor
2
2
  class DialogComponent < Component
3
+ POSITION_DEFAULT = :center
4
+ POSITION_OPTIONS = [POSITION_DEFAULT, :right].freeze
5
+
3
6
  renders_one :show_button, ->(**kwargs) do
4
7
  ButtonComponent.new(
5
8
  data: {
@@ -14,16 +17,19 @@ module Anchor
14
17
  renders_one :body
15
18
  renders_one :footer
16
19
 
17
- def initialize(id:, title:, **kwargs)
20
+ def initialize(id:, title:, position: POSITION_DEFAULT, **kwargs)
18
21
  @id = id
19
22
  @title = title
23
+ @position = fetch_or_fallback(
24
+ POSITION_OPTIONS, position, POSITION_DEFAULT
25
+ )
20
26
 
21
27
  super(id:, **kwargs)
22
28
  end
23
29
 
24
30
  private
25
31
 
26
- attr_reader :id, :title
32
+ attr_reader :id, :title, :position
27
33
 
28
34
  def render?
29
35
  body?
@@ -4,7 +4,8 @@
4
4
  class: ERROR_CLASSES,
5
5
  data: {
6
6
  error: true,
7
- testid: "error-#{attribute.to_s.parameterize.dasherize}"
7
+ testid: "error-#{attribute.to_s.parameterize.dasherize}",
8
+ turbo_temporary: true
8
9
  },
9
10
  )
10
11
  ) do %>
@@ -15,7 +15,5 @@
15
15
  <% end %>
16
16
  <% end %>
17
17
  <% else %>
18
- <%= tag.div **wrapper_options do %>
19
- <%= content %>
20
- <% end %>
18
+ <%= tag.div content, **wrapper_options %>
21
19
  <% end %>
@@ -0,0 +1,12 @@
1
+ import { Controller } from "@hotwired/stimulus";
2
+ import Choices from "choices.js";
3
+
4
+ export default class extends Controller<HTMLSelectElement> {
5
+ initialize(): void {
6
+ new Choices(this.element, {
7
+ allowHTML: false,
8
+ removeItemButton: this.element.multiple,
9
+ itemSelectText: "",
10
+ });
11
+ }
12
+ }
@@ -12,6 +12,16 @@ module Anchor
12
12
  )
13
13
  end
14
14
 
15
+ def autocomplete_field(attribute, options = {})
16
+ render AutocompleteComponent.new(
17
+ form_builder: self,
18
+ name: attribute,
19
+ src: options.delete(:src),
20
+ input_options: options.delete(:input_options) || {},
21
+ list_options: options.delete(:list_options) || {}
22
+ )
23
+ end
24
+
15
25
  def collection_radio_buttons(
16
26
  attribute,
17
27
  collection,
@@ -60,7 +70,7 @@ module Anchor
60
70
  if block.present?
61
71
  super
62
72
  else
63
- super(attribute, text, options) do |builder|
73
+ super(attribute, text, component.options.merge(options)) do |builder|
64
74
  capture do
65
75
  concat text || builder.translation
66
76
  concat component.optional_suffix
@@ -170,6 +180,19 @@ module Anchor
170
180
  )
171
181
  end
172
182
 
183
+ def typeahead_select(
184
+ attribute,
185
+ choices = nil,
186
+ options = {},
187
+ html_options = {},
188
+ &
189
+ )
190
+ html_options = html_options
191
+ .deep_merge(data: { controller: "typeahead-select" })
192
+
193
+ select(attribute, choices, options, html_options, &)
194
+ end
195
+
173
196
  def text_area(attribute, options = {})
174
197
  super attribute, options.merge(
175
198
  class: Anchor::InputComponent::INPUT_CLASSES +
@@ -2,7 +2,7 @@ module Anchor
2
2
  module ViewHelper
3
3
  ANCHOR_HELPERS = %i[
4
4
  action_menu
5
- autocomplete
5
+ autocomplete/results
6
6
  badge
7
7
  banner
8
8
  breadcrumbs
@@ -25,7 +25,9 @@ module Anchor
25
25
  ].freeze
26
26
 
27
27
  ANCHOR_HELPERS.each do |name|
28
- define_method "anchor_#{name}" do |content = "", *args, **kwargs, &block|
28
+ method_name = "anchor_#{name.to_s.parameterize(separator: '_')}"
29
+
30
+ define_method method_name do |content = "", *args, **kwargs, &block|
29
31
  component = "Anchor::#{name.to_s.camelize}Component".constantize
30
32
 
31
33
  if block.present?
@@ -1,5 +1,5 @@
1
1
  module Anchor
2
2
  module ViewComponents
3
- VERSION = "0.32.1".freeze
3
+ VERSION = "0.33.0".freeze
4
4
  end
5
5
  end
@@ -0,0 +1,16 @@
1
+ <%= anchor_dialog(
2
+ id: "my-dialog",
3
+ title: "Dialog Title",
4
+ position: :right,
5
+ ) do |dialog| %>
6
+ <% dialog.with_show_button_content("Show Dialog") %>
7
+
8
+ <% dialog.with_body do %>
9
+ Content
10
+ <% end %>
11
+
12
+ <% dialog.with_footer do %>
13
+ <%= anchor_button("Cancel", data: { action: "dialog#close" }) %>
14
+ <%= anchor_button("Save", variant: :primary) %>
15
+ <% end %>
16
+ <% end %>
@@ -12,6 +12,6 @@
12
12
  title: "Dialog Title",
13
13
  ) do |dialog| %>
14
14
  <% dialog.with_body do %>
15
- <%= tag.p "Content" %>
15
+ <%= anchor_text "Content" %>
16
16
  <% end %>
17
17
  <% end %>
@@ -5,7 +5,7 @@
5
5
  <% dialog.with_show_button_content("Show Dialog") %>
6
6
 
7
7
  <% dialog.with_body do %>
8
- <%= tag.p "Content" %>
8
+ <%= anchor_text "Content" %>
9
9
  <% end %>
10
10
 
11
11
  <% dialog.with_footer do %>
@@ -3,12 +3,14 @@ module Anchor
3
3
  # @param title text
4
4
  # @param body_text textarea
5
5
  # @param id text
6
+ # @param position select {{ Anchor::DialogComponent::POSITION_OPTIONS }}
6
7
  def playground(
7
8
  body_text: "Content",
8
9
  id: "unique-id",
9
- title: "Dialog Title"
10
+ title: "Dialog Title",
11
+ position: Anchor::DialogComponent::POSITION_DEFAULT
10
12
  )
11
- anchor_dialog(id:, title:) do |c|
13
+ anchor_dialog(id:, title:, position:) do |c|
12
14
  c.with_show_button_content("Show Dialog")
13
15
  c.with_body_content(body_text)
14
16
  end
@@ -16,6 +18,8 @@ module Anchor
16
18
 
17
19
  def with_footer; end
18
20
 
21
+ def positioned_right; end
22
+
19
23
  # The Dialog component has a `show_button` slot, but it’s optional and you
20
24
  # can instead provide your own button to open the Dialog, as shown in this
21
25
  # example.
@@ -7,7 +7,10 @@
7
7
 
8
8
  <%= tag.div do %>
9
9
  <%= form.label :amount %>
10
- <%= form.number_field :amount, placeholder: "0.00", step: 0.01 %>
10
+ <%= form.number_field :amount %>
11
+ <p>Note: as per our <a href="https://github.com/BuoySoftware/guides/blob/main/html/README.md">guides</a>,
12
+ we prefer <code>&lt;%= form.text_field :amount, inputmode: :numeric %></code>:</p>
13
+ <%= form.text_field :amount, inputmode: :numeric %>
11
14
  <%= form.error_message_for :amount %>
12
15
  <% end %>
13
16
 
@@ -30,4 +33,23 @@
30
33
  ) %>
31
34
  <%= form.error_message_for :choices %>
32
35
  <% end %>
36
+
37
+ <%= tag.div do %>
38
+ <%= form.label :typeahead_cities %>
39
+ <%= form.typeahead_select(
40
+ :typeahead_cities,
41
+ {
42
+ "Austin, TX" => "austin",
43
+ "Columbus, OH" => "columbus",
44
+ "New York City, NY" => "nyc",
45
+ },
46
+ { include_blank: true }
47
+ ) %>
48
+ <%= form.error_message_for :typeahead_cities %>
49
+ <% end %>
50
+
51
+ <%= tag.div do %>
52
+ <%= form.label :months %>
53
+ <%= form.autocomplete_field :months, src: months_path %>
54
+ <% end %>
33
55
  <% end %>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: anchor_view_components
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.32.1
4
+ version: 0.33.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Buoy Software
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-11-10 00:00:00.000000000 Z
11
+ date: 2023-11-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -72,10 +72,13 @@ files:
72
72
  - app/assets/stylesheets/anchor-view-components.tailwind.css
73
73
  - app/assets/stylesheets/components/action-menu.css
74
74
  - app/assets/stylesheets/components/button.css
75
+ - app/assets/stylesheets/components/choices-overrides.css
75
76
  - app/assets/stylesheets/components/toast.css
76
77
  - app/components/anchor/action_menu_component.html.erb
77
78
  - app/components/anchor/action_menu_component.rb
78
79
  - app/components/anchor/anchor_view_components.ts
80
+ - app/components/anchor/autocomplete/results_component.html.erb
81
+ - app/components/anchor/autocomplete/results_component.rb
79
82
  - app/components/anchor/autocomplete_component.en.yml
80
83
  - app/components/anchor/autocomplete_component.html.erb
81
84
  - app/components/anchor/autocomplete_component.rb
@@ -153,6 +156,7 @@ files:
153
156
  - app/components/anchor/toast_component.rb
154
157
  - app/components/anchor/toast_controller.ts
155
158
  - app/components/anchor/toggle_controller.ts
159
+ - app/components/anchor/typeahead_select_controller.ts
156
160
  - app/helpers/anchor/fetch_or_fallback_helper.rb
157
161
  - app/helpers/anchor/form_builder.rb
158
162
  - app/helpers/anchor/model_validators.rb
@@ -174,6 +178,7 @@ files:
174
178
  - previews/anchor/button_component_preview.rb
175
179
  - previews/anchor/copy_to_clipboard_component_preview.rb
176
180
  - previews/anchor/dialog_component_preview.rb
181
+ - previews/anchor/dialog_component_preview/positioned_right.html.erb
177
182
  - previews/anchor/dialog_component_preview/with_custom_show_button.html.erb
178
183
  - previews/anchor/dialog_component_preview/with_footer.html.erb
179
184
  - previews/anchor/forms_preview.rb