@stonecrop/aform 0.26.0 → 0.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- .aform_checkbox[data-v-ca06741d]{cursor:pointer;width:auto;margin-top:0;display:block}.aform_checkbox[data-v-ca06741d]:checked{accent-color:var(--sc-primary-color);border:1px solid black}.aform_checkbox-container[data-v-ca06741d]{width:100%;display:inline-block;text-align:left}.aform_checkbox-container input[data-v-ca06741d]{width:auto}.aform_checkbox-container:hover+.aform_field-label[data-v-ca06741d]{color:var(--sc-input-active-label-color)}.aform_form-link-wrapper[data-v-154d79c9]{position:relative}.input-group[data-v-154d79c9]{display:flex;align-items:stretch}.aform_input-field[data-v-154d79c9]{flex:1;min-width:0}.aform_form-element--embedded[data-v-154d79c9]{min-width:0;flex-grow:0}.aform_input-field--embedded[data-v-154d79c9]{outline:none;background:transparent;padding:.5ch 1ch}.aform_form-element--embedded .autocomplete-results[data-v-154d79c9]{min-width:100%;width:max-content}.aform_form-btn[data-v-154d79c9]{appearance:none;border:none;outline:1px solid var(--sc-input-border-color);outline-offset:-1px;margin-left:-2px;background:var(--sc-input-field-background, white);padding:0 .75rem;cursor:pointer}.aform_form-btn[data-v-154d79c9]:focus,.input-group:focus-within .aform_form-btn[data-v-154d79c9]{outline-color:var(--sc-input-active-border-color)}.autocomplete-results[data-v-154d79c9]{position:absolute;width:100%;z-index:100;padding:0;margin:0;list-style:none;border:1px solid var(--sc-input-active-border-color);border-top:none;border-radius:0 0 .25rem .25rem;background:#fff}.autocomplete-result[data-v-154d79c9]{padding:4px 6px;cursor:pointer;border-bottom:.5px solid lightgray}.autocomplete-result.is-active[data-v-154d79c9],.autocomplete-result[data-v-154d79c9]:hover{background-color:var(--sc-row-color-zebra-light);color:var(--sc-input-active-border-color)}.acurrency__row[data-v-15bec6ef]{display:flex;gap:1ch}.acurrency__row--base[data-v-15bec6ef]{margin-top:1.5rem}.acurrency__field[data-v-15bec6ef]{position:relative;flex:1;min-width:0}.acurrency__group[data-v-15bec6ef]{display:flex;align-items:stretch;width:100%;border:1px solid var(--sc-input-border-color);border-radius:.25rem}.acurrency__group[data-v-15bec6ef]:focus-within{border-color:var(--sc-input-active-border-color)}.acurrency__amount-wrap[data-v-15bec6ef]{position:relative;flex:1;min-width:0}.acurrency__amount-wrap .aform_field-label[data-v-15bec6ef]{font-size:.85rem}.acurrency__amount[data-v-15bec6ef]{width:100%;box-sizing:border-box;border:none;outline:none;padding:.5ch 1ch;background:transparent;border-radius:0 .25rem .25rem 0;text-align:right;appearance:textfield;-moz-appearance:textfield}.acurrency__amount[data-v-15bec6ef]::-webkit-outer-spin-button,.acurrency__amount[data-v-15bec6ef]::-webkit-inner-spin-button{appearance:none;-webkit-appearance:none;margin:0}.acurrency__currency[data-v-15bec6ef]{position:relative;flex:0 0 auto;min-width:4.5rem;background:var(--sc-gray-5);border-right:1px solid var(--sc-input-border-color);border-radius:.25rem 0 0 .25rem}.acurrency__base-field[data-v-15bec6ef]{width:100%;box-sizing:border-box;font-size:1rem;padding:.5ch 1ch;border:1px solid var(--sc-input-border-color);border-radius:.25rem;outline:none;appearance:textfield;-moz-appearance:textfield}.acurrency__base-field[data-v-15bec6ef]:disabled{color:var(--sc-gray-50, #888)}.acurrency__base-field[data-v-15bec6ef]::-webkit-outer-spin-button,.acurrency__base-field[data-v-15bec6ef]::-webkit-inner-spin-button{appearance:none;-webkit-appearance:none;margin:0}.adatepicker[data-v-322c2ceb],.adatepicker table[data-v-322c2ceb],.adatepicker tr[data-v-322c2ceb],.adatepicker td[data-v-322c2ceb],.adatepicker th[data-v-322c2ceb]{-webkit-user-select:none;-moz-user-select:none;user-select:none}.adatepicker[data-v-322c2ceb]{font-size:var(--sc-table-font-size);display:inline-table;color:var(--sc-cell-text-color);outline:none;border-collapse:collapse;margin-bottom:10px}.adatepicker tr[data-v-322c2ceb]{height:1.15rem;text-align:center;vertical-align:middle}.adatepicker td[data-v-322c2ceb]{border:2px solid transparent;outline:2px solid transparent;min-width:3ch;max-width:3ch;cursor:pointer}.adatepicker td.date-cell[data-v-322c2ceb]:hover{background:var(--sc-gray-10)}.adatepicker td[data-v-322c2ceb]:focus,.adatepicker td[data-v-322c2ceb]:focus-within{box-shadow:none;min-height:1.15em;max-height:1.15em;overflow:hidden}.adatepicker .selectedDate[data-v-322c2ceb],.adatepicker .startDate[data-v-322c2ceb],.adatepicker .endDate[data-v-322c2ceb]{background:var(--sc-gray-20);font-weight:bolder}.adatepicker .startDate[data-v-322c2ceb]{border-left:1px solid var(--sc-gray-50);background:var(--sc-gray-20)!important}.adatepicker .endDate[data-v-322c2ceb]{border-right:1px solid var(--sc-gray-50);background:var(--sc-gray-20)!important}.adatepicker .withinRange[data-v-322c2ceb]{background:var(--sc-gray-5)}.adatepicker .todaysDate[data-v-322c2ceb]{font-weight:bolder;color:#000}.days-header>td[data-v-322c2ceb]{font-weight:700}.prev-date[data-v-322c2ceb]{color:var(--sc-gray-20)}.adatepicker .date-input[data-v-322c2ceb]{display:flex;width:100%;gap:5px;align-items:center}.adatepicker .date-input>input[data-v-322c2ceb]{width:50%;padding:2px}p.aform_error[data-v-322c2ceb]{position:static;display:block;color:var(--sc-brand-danger, red);font-size:.7rem;margin:.25rem 0 0}.adate_time[data-v-95ad0aa4]{width:auto;padding:10px;box-sizing:border-box;font-size:1rem;background:var(--sc-gray-10)}.adate_time_fields[data-v-95ad0aa4]{display:flex;align-items:stretch;gap:5px;justify-content:flex-start}.adate_time_fields>input[data-v-95ad0aa4]{min-width:30px;padding:2px;text-align:center;display:inline-block;flex-basis:0}.meridiem-selector[data-v-95ad0aa4]{cursor:pointer;display:inline-block;flex-basis:0;padding:5px;-webkit-user-select:none;user-select:none}.meridiem-selector[data-v-95ad0aa4]:focus{outline:2px solid black;outline-offset:-2px}.adate_time_segment[data-v-95ad0aa4]{display:flex;flex-direction:column;width:40px}.colon[data-v-95ad0aa4]{display:flex;align-items:normal}.aform_form-btn[data-v-95ad0aa4]{cursor:pointer}.aform-select[data-v-95ad0aa4]{border:1px solid rgb(118,118,118);font-size:1rem;padding:0rem;margin:0;border-radius:0;box-sizing:border-box;min-height:auto;position:relative;color:var(--sc-cell-text-color)}.meridiem-selector[data-v-95ad0aa4]{margin-left:6px}.adate-selection[data-v-602dfd69]{display:inline-block;border:1px solid var(--sc-gray-80);padding:10px;background:var(--sc-form-background)}.adate-selection__end-label[data-v-602dfd69]{font-size:.8em;font-weight:700;color:var(--sc-input-active-label-color, #555);margin-top:8px;margin-bottom:2px;padding-left:2px}.empty[data-v-602dfd69]{color:#ccc;padding:10px;text-align:center;border:1px solid #ccc}.adate-picker[data-v-5de3fe7a]{position:absolute;top:100%;left:0;z-index:1000;margin-top:.25rem}.autocomplete[data-v-11fc3569]{position:relative}.autocomplete-results[data-v-11fc3569]{position:absolute;left:0;right:0;z-index:100;padding:0;margin:0;color:var(--sc-input-active-border-color);border:1px solid var(--sc-input-active-border-color);border-radius:0;border-top:none;background-color:var(--sc-input-field-background, #fff);list-style:none}.autocomplete-result[data-v-11fc3569]{text-align:left;padding:4px 6px;cursor:pointer;border-bottom:.5px solid lightgray}.autocomplete-result.is-active[data-v-11fc3569],.autocomplete-result[data-v-11fc3569]:hover{background-color:var(--sc-row-color-zebra-light);color:var(--sc-input-active-border-color)}.abadge[data-v-4f364f5f]{display:block;box-sizing:border-box;font:inherit;line-height:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.abadge--cell-fill[data-v-4f364f5f]{display:block;box-sizing:border-box;width:100%;min-height:calc(var(--sc-atable-row-height, 1.5em) + 2 * var(--sc-atable-row-padding, .125rem));line-height:calc(var(--sc-atable-row-height, 1.5em) + 2 * var(--sc-atable-row-padding, .125rem));margin:0;padding:0 .5ch;border-radius:0;text-align:inherit;background:var(--sc-badge-bg);color:var(--sc-badge-text)}.abadge--cell-fill.abadge--neutral[data-v-4f364f5f]{--sc-badge-bg: var(--sc-badge-neutral-bg);--sc-badge-text: var(--sc-badge-neutral-text)}.abadge--cell-fill.abadge--success[data-v-4f364f5f]{--sc-badge-bg: var(--sc-badge-success-bg);--sc-badge-text: var(--sc-badge-success-text)}.abadge--cell-fill.abadge--warning[data-v-4f364f5f]{--sc-badge-bg: var(--sc-badge-warning-bg);--sc-badge-text: var(--sc-badge-warning-text)}.abadge--cell-fill.abadge--danger[data-v-4f364f5f]{--sc-badge-bg: var(--sc-badge-danger-bg);--sc-badge-text: var(--sc-badge-danger-text)}.abadge--cell-fill.abadge--brand[data-v-4f364f5f]{--sc-badge-bg: var(--sc-badge-brand-bg);--sc-badge-text: var(--sc-badge-brand-text)}.abadge--input-accent[data-v-4f364f5f]{background:var(--sc-input-field-background, #ffffff);color:inherit;border-left:4px solid var(--sc-badge-accent);padding-left:calc(1ch - 4px)}.abadge--input-accent.abadge--neutral[data-v-4f364f5f]{--sc-badge-accent: var(--sc-badge-neutral-accent)}.abadge--input-accent.abadge--success[data-v-4f364f5f]{--sc-badge-accent: var(--sc-badge-success-accent)}.abadge--input-accent.abadge--warning[data-v-4f364f5f]{--sc-badge-accent: var(--sc-badge-warning-accent)}.abadge--input-accent.abadge--danger[data-v-4f364f5f]{--sc-badge-accent: var(--sc-badge-danger-accent)}.abadge--input-accent.abadge--brand[data-v-4f364f5f]{--sc-badge-accent: var(--sc-badge-brand-accent)}.adatetime-picker[data-v-b0fa488b]{position:absolute;top:100%;left:0;z-index:1000;margin-top:.25rem}.aduration[data-v-2e4dd7dd]{position:relative;min-width:40ch;width:100%}.aduration__summary[data-v-2e4dd7dd]{display:flex;gap:6px;align-items:baseline;margin-top:6px;font-size:.9em}.aduration__label[data-v-2e4dd7dd]{font-weight:700;color:var(--sc-input-active-label-color, #555)}.aduration__value[data-v-2e4dd7dd]{color:var(--sc-cell-text-color, #000)}.aduration__ms[data-v-2e4dd7dd]{color:var(--sc-gray-50, #888);font-size:.85em}.aduration__footer[data-v-2e4dd7dd]{margin-top:8px}.adaterange-picker[data-v-f8dad4d3]{position:absolute;top:100%;left:0;z-index:1000;margin-top:.25rem}.aform input{font-family:var(--sc-font-family);border:none}.aform_form-element{padding:0;margin:0;position:relative;box-sizing:border-box;flex-grow:1;min-width:20ch}.aform__grid--full{flex-basis:100%;width:100%}.aform_input-field{outline:1px solid var(--sc-input-border-color);outline-offset:-1px;font-size:1rem;padding:.5rem;margin:0;border-radius:0;box-sizing:border-box;width:100%;min-height:auto;position:relative;color:var(--sc-cell-text-color);background:var(--sc-input-field-background);font-family:var(--sc-font-family)}.aform_input-field:focus{outline:1px solid var(--sc-input-active-border-color)}.aform_display-value{display:block;padding:.5rem;min-height:2rem;color:var(--sc-cell-text-color);word-break:break-word}.aform_input-field:focus+.aform_field-label{color:var(--sc-input-active-label-color)}.aform_field-label{color:var(--sc-input-label-color);display:inline-block;position:absolute;padding:0 .25rem;margin:0rem;z-index:1;font-size:.7rem;font-weight:300;letter-spacing:.05rem;background:linear-gradient(var(--sc-form-background) 50%,var(--sc-input-field-background) 50%);width:auto;box-sizing:border-box;background:#fff;margin:0;grid-row:1;top:0;left:10px;border:none;line-height:0;transform:translateY(-50%)}.aform_input-field:disabled,.aform_checkbox-container:has(.aform_checkbox:disabled){background:var(--sc-input-field-disabled-background)}.aform_input-field:disabled+.aform_field-label,.aform_checkbox-container:has(.aform_checkbox:disabled)+.aform_field-label{background:linear-gradient(var(--sc-form-background) 50%,var(--sc-input-field-disabled-background) 50%)}.aform_input-field:disabled~p.aform_error,.aform_checkbox-container:has(.aform_checkbox:disabled)~p.aform_error{background:linear-gradient(var(--sc-form-background) 50%,var(--sc-input-field-disabled-background) 50%)}.aform_field-label:after{margin:0;padding:0;box-sizing:border-box;content:"";line-height:normal}p.aform_error{display:inline-block;background:linear-gradient(var(--sc-form-background) 50%,var(--sc-input-field-background) 50%);padding:0 .25rem;margin:0rem;width:auto;color:var(--sc-brand-danger);font-size:.7rem;position:absolute;right:0;top:0;line-height:0;background:#fff;padding:.25rem;transform:translate(-1rem,-50%);margin:0}.aform[data-v-bb17171c]{display:flex;flex-wrap:wrap;gap:1rem;padding:1rem;border:1px solid var(--sc-form-border);border-left:4px solid var(--sc-form-border);margin-bottom:1rem;max-width:100%}@media screen and (max-width:400px){.aform[data-v-bb17171c]{flex-direction:column}}.aform-nested-section[data-v-bb17171c]{width:100%;padding:.5rem 0}.aform-nested-label[data-v-bb17171c]{font-size:.9rem;font-weight:600;margin:0 0 .5rem;color:var(--sc-input-label-color, #666)}.aform-nested-section .aform[data-v-bb17171c]{border-left-width:2px;margin-left:.5rem}.collapse-button[data-v-6f1c1b45]{width:2ch;min-width:calc(66px - 4ch);background-color:transparent;font-size:150%;text-align:center;border:none;margin-top:-.5rem}.rotated[data-v-6f1c1b45]{transform:rotate(45deg);-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transition:transform .25s;transform-origin:center center}.unrotated[data-v-6f1c1b45]{transform:rotate(0);-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);-o-transform:rotate(0deg);transition:transform .25s}fieldset[data-v-162e7317]{max-width:100%;width:100%;margin-right:2ch;border:1px solid transparent;border-bottom:1px solid var(--sc-gray-50)}legend[data-v-162e7317]{width:100%;height:1.15rem;border:1px solid transparent;padding-bottom:.5rem;font-size:110%;font-weight:600;-webkit-user-select:none;user-select:none}.collapse-button[data-v-162e7317]{float:right}.aform_file-attach[data-v-8eefd179]{padding:1rem;display:flex;flex-wrap:wrap;gap:1rem;flex-direction:row;justify-content:center;align-items:center;border:1px dashed var(--sc-input-border-color);width:100%}@media screen and (max-width:400px){.aform_file-attach>.aform_form-btn[data-v-8eefd179]{width:100%}}.aform_file-attach-feedback[data-v-8eefd179]{color:var(--sc-input-label-color);width:100%;padding:.5rem;text-align:center;align-self:center}.aform_file-attach-feedback>li[data-v-8eefd179]{list-style:none;font-style:italic}.aform_file-attach-feedback>p[data-v-8eefd179]{margin-top:0}.aform_form-btn[data-v-8eefd179]{padding:.5rem 2rem;width:auto;border:1px solid var(--sc-input-border-color);color:var(--sc-input-label-color);cursor:pointer;background-color:#fff}.aform_form-btn[data-v-8eefd179]:disabled{background-color:var(--sc-gray-5)}.aquantity__row[data-v-0b714861]{display:flex;gap:1ch}.aquantity__row--stock[data-v-0b714861]{margin-top:1.5rem}.aquantity__field[data-v-0b714861]{position:relative;flex:1;min-width:0}.aquantity__group[data-v-0b714861]{display:flex;align-items:stretch;width:100%;border:1px solid var(--sc-input-border-color);border-radius:.25rem}.aquantity__group[data-v-0b714861]:focus-within{border-color:var(--sc-input-active-border-color)}.aquantity__qty[data-v-0b714861]{flex:1;min-width:0;border:none;outline:none;padding:.5ch 1ch;background:transparent;border-radius:.25rem 0 0 .25rem;appearance:textfield;-moz-appearance:textfield}.aquantity__qty[data-v-0b714861]::-webkit-outer-spin-button,.aquantity__qty[data-v-0b714861]::-webkit-inner-spin-button{appearance:none;-webkit-appearance:none;margin:0}.aquantity__uom[data-v-0b714861]{position:relative;flex:0 0 auto;border-left:1px solid var(--sc-input-border-color)}.aquantity__uom-toggle[data-v-0b714861]{display:flex;align-items:center;gap:.75ch;height:100%;padding:.5ch 1ch;background:var(--sc-gray-5);border:none;border-radius:0 .25rem .25rem 0;white-space:nowrap;cursor:pointer}.aquantity__uom-toggle[data-v-0b714861]:disabled{cursor:not-allowed;color:var(--sc-gray-50, #888)}.aquantity__caret[data-v-0b714861]{display:inline-block;width:0;height:0;border-left:.3em solid transparent;border-right:.3em solid transparent;border-top:.3em solid currentColor}.aquantity__uom-menu[data-v-0b714861]{position:absolute;top:100%;right:0;z-index:100;min-width:100%;margin:.15rem 0 0;padding:.25rem 0;list-style:none;background:var(--sc-input-field-background, #fff);border:1px solid var(--sc-input-active-border-color);border-radius:.25rem}.aquantity__uom-option[data-v-0b714861]{padding:.4ch 1ch;white-space:nowrap;cursor:pointer}.aquantity__uom-option.is-active[data-v-0b714861],.aquantity__uom-option[data-v-0b714861]:hover{background-color:var(--sc-row-color-zebra-light)}.aquantity__stock-field[data-v-0b714861]{width:100%;font-size:1rem;padding:.5ch 1ch;border:1px solid var(--sc-input-border-color);border-radius:.25rem;outline:none}.aquantity__stock-field[data-v-0b714861]:disabled{color:var(--sc-gray-50, #888)}.aform_textbox[data-v-2a9c793b]{resize:vertical;line-height:1.5;min-height:4rem;font-family:inherit}.aform_textbox-display[data-v-2a9c793b]{white-space:pre-wrap}.login-container[data-v-2c0f0634]{width:100%;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--sc-font-family)}.account-container[data-v-2c0f0634]{width:100%;margin-left:auto;margin-top:.5rem;margin-right:auto;display:flex;flex-direction:column;justify-content:center}.account-header[data-v-2c0f0634]{display:flex;flex-direction:column;text-align:center;margin-top:.5rem}#account-title[data-v-2c0f0634]{font-size:1.5rem;line-height:2rem;font-weight:600;letter-spacing:-.025em;margin:0}#account-subtitle[data-v-2c0f0634]{font-size:.875rem;line-height:1.25rem;margin:1rem}.login-form-container[data-v-2c0f0634]{display:grid;gap:.5rem}.login-form-element[data-v-2c0f0634]{display:grid;margin:.5rem 0;position:relative}.login-field[data-v-2c0f0634]{padding:.5rem .25rem .25rem .5rem;outline:1px solid transparent;border:1px solid var(--sc-input-border-color);border-radius:.25rem}.login-field[data-v-2c0f0634]:focus{border:1px solid black}.btn[data-v-2c0f0634]{background-color:var(--sc-btn-color);color:var(--sc-btn-label-color);border:1px solid var(--sc-btn-border);margin:.5rem 0;padding:.25rem;position:relative;cursor:pointer}.btn[data-v-2c0f0634]:hover{background-color:var(--sc-btn-hover)}.btn[data-v-2c0f0634]:disabled{background-color:var(--sc-input-field-disabled-background)}.disabled[data-v-2c0f0634]{opacity:.5}.loading-icon[data-v-2c0f0634]{animation:spin-2c0f0634 1s linear infinite forwards;display:inline-block;margin-right:.2rem;line-height:0;font-size:1rem;position:relative;top:.2rem}@keyframes spin-2c0f0634{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.aform-loading[data-v-274f5ba3]{width:100%;border:1px solid var(--sc-form-border);border-left:4px solid var(--sc-form-border);padding:1rem;margin-bottom:1rem;box-sizing:border-box;position:relative;overflow:hidden;background:var(--sc-input-field-background, #fff)}.aform-loading__label[data-v-274f5ba3]{font-size:.9rem;color:var(--sc-cell-text-color);z-index:1;position:relative}.aform-loading__label[data-v-274f5ba3]:not(:empty):after{content:"...";animation:ellipsis-274f5ba3 2s infinite}.aform-loading__bar[data-v-274f5ba3]{width:100%;height:100%;position:absolute;left:-100%;top:0;background:linear-gradient(90deg,rgba(var(--sc-table-loading-color),0),rgba(var(--sc-table-loading-color),1),rgba(var(--sc-table-loading-color),0));animation:bar-sweep-274f5ba3 2s infinite;z-index:0}@keyframes bar-sweep-274f5ba3{0%{left:-100%}to{left:100%}}@keyframes ellipsis-274f5ba3{0%,20%{content:""}40%{content:"."}60%{content:".."}80%,to{content:"..."}}
1
+ .aform_checkbox[data-v-ca06741d]{cursor:pointer;width:auto;margin-top:0;display:block}.aform_checkbox[data-v-ca06741d]:checked{accent-color:var(--sc-primary-color);border:1px solid black}.aform_checkbox-container[data-v-ca06741d]{width:100%;display:inline-block;text-align:left}.aform_checkbox-container input[data-v-ca06741d]{width:auto}.aform_checkbox-container:hover+.aform_field-label[data-v-ca06741d]{color:var(--sc-input-active-label-color)}.aform_form-link-wrapper[data-v-154d79c9]{position:relative}.input-group[data-v-154d79c9]{display:flex;align-items:stretch}.aform_input-field[data-v-154d79c9]{flex:1;min-width:0}.aform_form-element--embedded[data-v-154d79c9]{min-width:0;flex-grow:0}.aform_input-field--embedded[data-v-154d79c9]{outline:none;background:transparent;padding:.5ch 1ch}.aform_form-element--embedded .autocomplete-results[data-v-154d79c9]{min-width:100%;width:max-content}.aform_form-btn[data-v-154d79c9]{appearance:none;border:none;outline:1px solid var(--sc-input-border-color);outline-offset:-1px;margin-left:-2px;background:var(--sc-input-field-background, white);padding:0 .75rem;cursor:pointer}.aform_form-btn[data-v-154d79c9]:focus,.input-group:focus-within .aform_form-btn[data-v-154d79c9]{outline-color:var(--sc-input-active-border-color)}.autocomplete-results[data-v-154d79c9]{position:absolute;width:100%;z-index:100;padding:0;margin:0;list-style:none;border:1px solid var(--sc-input-active-border-color);border-top:none;border-radius:0 0 .25rem .25rem;background:#fff}.autocomplete-result[data-v-154d79c9]{padding:4px 6px;cursor:pointer;border-bottom:.5px solid lightgray}.autocomplete-result.is-active[data-v-154d79c9],.autocomplete-result[data-v-154d79c9]:hover{background-color:var(--sc-row-color-zebra-light);color:var(--sc-input-active-border-color)}.acurrency__row[data-v-15bec6ef]{display:flex;gap:1ch}.acurrency__row--base[data-v-15bec6ef]{margin-top:1.5rem}.acurrency__field[data-v-15bec6ef]{position:relative;flex:1;min-width:0}.acurrency__group[data-v-15bec6ef]{display:flex;align-items:stretch;width:100%;border:1px solid var(--sc-input-border-color);border-radius:.25rem}.acurrency__group[data-v-15bec6ef]:focus-within{border-color:var(--sc-input-active-border-color)}.acurrency__amount-wrap[data-v-15bec6ef]{position:relative;flex:1;min-width:0}.acurrency__amount-wrap .aform_field-label[data-v-15bec6ef]{font-size:.85rem}.acurrency__amount[data-v-15bec6ef]{width:100%;box-sizing:border-box;border:none;outline:none;padding:.5ch 1ch;background:transparent;border-radius:0 .25rem .25rem 0;text-align:right;appearance:textfield;-moz-appearance:textfield}.acurrency__amount[data-v-15bec6ef]::-webkit-outer-spin-button,.acurrency__amount[data-v-15bec6ef]::-webkit-inner-spin-button{appearance:none;-webkit-appearance:none;margin:0}.acurrency__currency[data-v-15bec6ef]{position:relative;flex:0 0 auto;min-width:4.5rem;background:var(--sc-gray-5);border-right:1px solid var(--sc-input-border-color);border-radius:.25rem 0 0 .25rem}.acurrency__base-field[data-v-15bec6ef]{width:100%;box-sizing:border-box;font-size:1rem;padding:.5ch 1ch;border:1px solid var(--sc-input-border-color);border-radius:.25rem;outline:none;appearance:textfield;-moz-appearance:textfield}.acurrency__base-field[data-v-15bec6ef]:disabled{color:var(--sc-gray-50, #888)}.acurrency__base-field[data-v-15bec6ef]::-webkit-outer-spin-button,.acurrency__base-field[data-v-15bec6ef]::-webkit-inner-spin-button{appearance:none;-webkit-appearance:none;margin:0}.adatepicker[data-v-322c2ceb],.adatepicker table[data-v-322c2ceb],.adatepicker tr[data-v-322c2ceb],.adatepicker td[data-v-322c2ceb],.adatepicker th[data-v-322c2ceb]{-webkit-user-select:none;-moz-user-select:none;user-select:none}.adatepicker[data-v-322c2ceb]{font-size:var(--sc-table-font-size);display:inline-table;color:var(--sc-cell-text-color);outline:none;border-collapse:collapse;margin-bottom:10px}.adatepicker tr[data-v-322c2ceb]{height:1.15rem;text-align:center;vertical-align:middle}.adatepicker td[data-v-322c2ceb]{border:2px solid transparent;outline:2px solid transparent;min-width:3ch;max-width:3ch;cursor:pointer}.adatepicker td.date-cell[data-v-322c2ceb]:hover{background:var(--sc-gray-10)}.adatepicker td[data-v-322c2ceb]:focus,.adatepicker td[data-v-322c2ceb]:focus-within{box-shadow:none;min-height:1.15em;max-height:1.15em;overflow:hidden}.adatepicker .selectedDate[data-v-322c2ceb],.adatepicker .startDate[data-v-322c2ceb],.adatepicker .endDate[data-v-322c2ceb]{background:var(--sc-gray-20);font-weight:bolder}.adatepicker .startDate[data-v-322c2ceb]{border-left:1px solid var(--sc-gray-50);background:var(--sc-gray-20)!important}.adatepicker .endDate[data-v-322c2ceb]{border-right:1px solid var(--sc-gray-50);background:var(--sc-gray-20)!important}.adatepicker .withinRange[data-v-322c2ceb]{background:var(--sc-gray-5)}.adatepicker .todaysDate[data-v-322c2ceb]{font-weight:bolder;color:#000}.days-header>td[data-v-322c2ceb]{font-weight:700}.prev-date[data-v-322c2ceb]{color:var(--sc-gray-20)}.adatepicker .date-input[data-v-322c2ceb]{display:flex;width:100%;gap:5px;align-items:center}.adatepicker .date-input>input[data-v-322c2ceb]{width:50%;padding:2px}p.aform_error[data-v-322c2ceb]{position:static;display:block;color:var(--sc-brand-danger, red);font-size:.7rem;margin:.25rem 0 0}.adate_time[data-v-95ad0aa4]{width:auto;padding:10px;box-sizing:border-box;font-size:1rem;background:var(--sc-gray-10)}.adate_time_fields[data-v-95ad0aa4]{display:flex;align-items:stretch;gap:5px;justify-content:flex-start}.adate_time_fields>input[data-v-95ad0aa4]{min-width:30px;padding:2px;text-align:center;display:inline-block;flex-basis:0}.meridiem-selector[data-v-95ad0aa4]{cursor:pointer;display:inline-block;flex-basis:0;padding:5px;-webkit-user-select:none;user-select:none}.meridiem-selector[data-v-95ad0aa4]:focus{outline:2px solid black;outline-offset:-2px}.adate_time_segment[data-v-95ad0aa4]{display:flex;flex-direction:column;width:40px}.colon[data-v-95ad0aa4]{display:flex;align-items:normal}.aform_form-btn[data-v-95ad0aa4]{cursor:pointer}.aform-select[data-v-95ad0aa4]{border:1px solid rgb(118,118,118);font-size:1rem;padding:0rem;margin:0;border-radius:0;box-sizing:border-box;min-height:auto;position:relative;color:var(--sc-cell-text-color)}.meridiem-selector[data-v-95ad0aa4]{margin-left:6px}.adate-selection[data-v-602dfd69]{display:inline-block;border:1px solid var(--sc-gray-80);padding:10px;background:var(--sc-form-background)}.adate-selection__end-label[data-v-602dfd69]{font-size:.8em;font-weight:700;color:var(--sc-input-active-label-color, #555);margin-top:8px;margin-bottom:2px;padding-left:2px}.empty[data-v-602dfd69]{color:#ccc;padding:10px;text-align:center;border:1px solid #ccc}.adate-picker[data-v-5de3fe7a]{position:absolute;top:100%;left:0;z-index:1000;margin-top:.25rem}.autocomplete[data-v-11fc3569]{position:relative}.autocomplete-results[data-v-11fc3569]{position:absolute;left:0;right:0;z-index:100;padding:0;margin:0;color:var(--sc-input-active-border-color);border:1px solid var(--sc-input-active-border-color);border-radius:0;border-top:none;background-color:var(--sc-input-field-background, #fff);list-style:none}.autocomplete-result[data-v-11fc3569]{text-align:left;padding:4px 6px;cursor:pointer;border-bottom:.5px solid lightgray}.autocomplete-result.is-active[data-v-11fc3569],.autocomplete-result[data-v-11fc3569]:hover{background-color:var(--sc-row-color-zebra-light);color:var(--sc-input-active-border-color)}.abadge[data-v-4f364f5f]{display:block;box-sizing:border-box;font:inherit;line-height:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.abadge--cell-fill[data-v-4f364f5f]{display:block;box-sizing:border-box;width:100%;min-height:calc(var(--sc-atable-row-height, 1.5em) + 2 * var(--sc-atable-row-padding, .125rem));line-height:calc(var(--sc-atable-row-height, 1.5em) + 2 * var(--sc-atable-row-padding, .125rem));margin:0;padding:0 .5ch;border-radius:0;text-align:inherit;background:var(--sc-badge-bg);color:var(--sc-badge-text)}.abadge--cell-fill.abadge--neutral[data-v-4f364f5f]{--sc-badge-bg: var(--sc-badge-neutral-bg);--sc-badge-text: var(--sc-badge-neutral-text)}.abadge--cell-fill.abadge--success[data-v-4f364f5f]{--sc-badge-bg: var(--sc-badge-success-bg);--sc-badge-text: var(--sc-badge-success-text)}.abadge--cell-fill.abadge--warning[data-v-4f364f5f]{--sc-badge-bg: var(--sc-badge-warning-bg);--sc-badge-text: var(--sc-badge-warning-text)}.abadge--cell-fill.abadge--danger[data-v-4f364f5f]{--sc-badge-bg: var(--sc-badge-danger-bg);--sc-badge-text: var(--sc-badge-danger-text)}.abadge--cell-fill.abadge--brand[data-v-4f364f5f]{--sc-badge-bg: var(--sc-badge-brand-bg);--sc-badge-text: var(--sc-badge-brand-text)}.abadge--input-accent[data-v-4f364f5f]{background:var(--sc-input-field-background, #ffffff);color:inherit;border-left:4px solid var(--sc-badge-accent);padding-left:calc(1ch - 4px)}.abadge--input-accent.abadge--neutral[data-v-4f364f5f]{--sc-badge-accent: var(--sc-badge-neutral-accent)}.abadge--input-accent.abadge--success[data-v-4f364f5f]{--sc-badge-accent: var(--sc-badge-success-accent)}.abadge--input-accent.abadge--warning[data-v-4f364f5f]{--sc-badge-accent: var(--sc-badge-warning-accent)}.abadge--input-accent.abadge--danger[data-v-4f364f5f]{--sc-badge-accent: var(--sc-badge-danger-accent)}.abadge--input-accent.abadge--brand[data-v-4f364f5f]{--sc-badge-accent: var(--sc-badge-brand-accent)}.aform_segmented-control--xs.aform_form-element[data-v-23f09651]{min-width:0;padding-top:0;max-width:none}.aform_segmented-control--xs[data-v-23f09651]:not(:has(.aform_segmented-sr-label)){padding-top:.5rem}.aform_segmented-sr-label[data-v-23f09651]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.aform_segmented-track[data-v-23f09651]{display:inline-flex;flex-wrap:wrap;align-items:stretch;gap:.125rem;padding:.125rem;width:auto;min-width:0;min-height:2rem;outline:1px solid var(--sc-input-border-color);outline-offset:-1px;border-radius:0;box-sizing:border-box;background:var(--sc-input-field-disabled-background);font-family:var(--sc-font-family)}.aform_segmented-control--xs .aform_segmented-track[data-v-23f09651]{min-height:1.5rem;font-size:.875rem}.aform_segmented-control--equal .aform_segmented-track[data-v-23f09651]{display:flex;width:100%}.aform_segmented-segment[data-v-23f09651]{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;margin:0;padding:.125rem .5rem;min-height:1.5rem;border-radius:0;color:var(--sc-input-label-color);font-family:inherit;font-size:inherit;font-weight:400;line-height:1.25;cursor:pointer;-webkit-user-select:none;user-select:none;box-sizing:border-box}.aform_segmented-control--sm .aform_segmented-segment[data-v-23f09651]{min-height:1.75rem;padding:.125rem .75rem;font-size:var(--sc-font-size)}.aform_segmented-control--equal .aform_segmented-segment[data-v-23f09651]{flex:1 1 0}.aform_segmented-input[data-v-23f09651]{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.aform_segmented-label[data-v-23f09651]{pointer-events:none}.aform_segmented-segment[data-v-23f09651]:not(.aform_segmented-segment--badge):has(.aform_segmented-input:checked){background:var(--sc-input-field-background);color:var(--sc-cell-text-color);font-weight:500}.aform_segmented-segment--badge[data-v-23f09651]:has(.aform_segmented-input:checked){font-weight:500}.aform_segmented-segment--badge:has(.aform_segmented-input:checked).aform_segmented-segment--neutral[data-v-23f09651]{background:var(--sc-badge-neutral-bg);color:var(--sc-badge-neutral-text)}.aform_segmented-segment--badge:has(.aform_segmented-input:checked).aform_segmented-segment--success[data-v-23f09651]{background:var(--sc-badge-success-bg);color:var(--sc-badge-success-text)}.aform_segmented-segment--badge:has(.aform_segmented-input:checked).aform_segmented-segment--warning[data-v-23f09651]{background:var(--sc-badge-warning-bg);color:var(--sc-badge-warning-text)}.aform_segmented-segment--badge:has(.aform_segmented-input:checked).aform_segmented-segment--danger[data-v-23f09651]{background:var(--sc-badge-danger-bg);color:var(--sc-badge-danger-text)}.aform_segmented-segment--badge:has(.aform_segmented-input:checked).aform_segmented-segment--brand[data-v-23f09651]{background:var(--sc-badge-brand-bg);color:var(--sc-badge-brand-text)}.aform_segmented-segment--badge:has(.aform_segmented-input:checked)[style*=--sc-badge-bg][data-v-23f09651]{background:var(--sc-badge-bg);color:var(--sc-badge-text)}.aform_segmented-segment[data-v-23f09651]:has(.aform_segmented-input:focus-visible){outline:1px solid var(--sc-input-active-border-color);outline-offset:-1px}.aform_segmented-segment[data-v-23f09651]:hover:has(.aform_segmented-input:not(:disabled):not(:checked)){background:color-mix(in srgb,var(--sc-input-field-background) 50%,transparent)}.aform_segmented-segment[data-v-23f09651]:has(.aform_segmented-input:disabled){cursor:not-allowed;opacity:.5}.aform_segmented-track[data-v-23f09651]:has(.aform_segmented-input:focus-visible){outline-color:var(--sc-input-active-border-color)}.aform_segmented-display-badge[data-v-23f09651]{display:block;padding:.5rem;min-height:2rem;box-sizing:border-box}@media(prefers-reduced-motion:no-preference){.aform_segmented-segment[data-v-23f09651]{transition:background-color .1s ease-out,color .1s ease-out}}@media(prefers-reduced-motion:reduce){.aform_segmented-segment[data-v-23f09651]{transition:none}}.adatetime-picker[data-v-b0fa488b]{position:absolute;top:100%;left:0;z-index:1000;margin-top:.25rem}.aduration[data-v-2e4dd7dd]{position:relative;min-width:40ch;width:100%}.aduration__summary[data-v-2e4dd7dd]{display:flex;gap:6px;align-items:baseline;margin-top:6px;font-size:.9em}.aduration__label[data-v-2e4dd7dd]{font-weight:700;color:var(--sc-input-active-label-color, #555)}.aduration__value[data-v-2e4dd7dd]{color:var(--sc-cell-text-color, #000)}.aduration__ms[data-v-2e4dd7dd]{color:var(--sc-gray-50, #888);font-size:.85em}.aduration__footer[data-v-2e4dd7dd]{margin-top:8px}.adaterange-picker[data-v-f8dad4d3]{position:absolute;top:100%;left:0;z-index:1000;margin-top:.25rem}.aform input{font-family:var(--sc-font-family);border:none}.aform_form-element{padding:0;margin:0;position:relative;box-sizing:border-box;flex-grow:1;min-width:20ch}.aform__grid--full{flex-basis:100%;width:100%}.aform_input-field{outline:1px solid var(--sc-input-border-color);outline-offset:-1px;font-size:1rem;padding:.5rem;margin:0;border-radius:0;box-sizing:border-box;width:100%;min-height:auto;position:relative;color:var(--sc-cell-text-color);background:var(--sc-input-field-background);font-family:var(--sc-font-family)}.aform_input-field:focus{outline:1px solid var(--sc-input-active-border-color)}.aform_display-value{display:block;padding:.5rem;min-height:2rem;color:var(--sc-cell-text-color);word-break:break-word}.aform_input-field:focus+.aform_field-label{color:var(--sc-input-active-label-color)}.aform_field-label{color:var(--sc-input-label-color);display:inline-block;position:absolute;padding:0 .25rem;margin:0rem;z-index:1;font-size:.7rem;font-weight:300;letter-spacing:.05rem;background:linear-gradient(var(--sc-form-background) 50%,var(--sc-input-field-background) 50%);width:auto;box-sizing:border-box;background:#fff;margin:0;grid-row:1;top:0;left:10px;border:none;line-height:0;transform:translateY(-50%)}.aform_input-field:disabled,.aform_checkbox-container:has(.aform_checkbox:disabled){background:var(--sc-input-field-disabled-background)}.aform_input-field:disabled+.aform_field-label,.aform_checkbox-container:has(.aform_checkbox:disabled)+.aform_field-label{background:linear-gradient(var(--sc-form-background) 50%,var(--sc-input-field-disabled-background) 50%)}.aform_input-field:disabled~p.aform_error,.aform_checkbox-container:has(.aform_checkbox:disabled)~p.aform_error{background:linear-gradient(var(--sc-form-background) 50%,var(--sc-input-field-disabled-background) 50%)}.aform_field-label:after{margin:0;padding:0;box-sizing:border-box;content:"";line-height:normal}p.aform_error{display:inline-block;background:linear-gradient(var(--sc-form-background) 50%,var(--sc-input-field-background) 50%);padding:0 .25rem;margin:0rem;width:auto;color:var(--sc-brand-danger);font-size:.7rem;position:absolute;right:0;top:0;line-height:0;background:#fff;padding:.25rem;transform:translate(-1rem,-50%);margin:0}.aform[data-v-16a61857]{display:flex;flex-wrap:wrap;gap:1rem;padding:1rem;border:1px solid var(--sc-form-border);border-left:4px solid var(--sc-form-border);margin-bottom:1rem;max-width:100%}@media screen and (max-width:400px){.aform[data-v-16a61857]{flex-direction:column}}.aform-nested-section[data-v-16a61857]{width:100%;padding:.5rem 0}.aform-nested-label[data-v-16a61857]{font-size:.9rem;font-weight:600;margin:0 0 .5rem;color:var(--sc-input-label-color, #666)}.aform-nested-section .aform[data-v-16a61857]{border-left-width:2px;margin-left:.5rem}.collapse-button[data-v-6f1c1b45]{width:2ch;min-width:calc(66px - 4ch);background-color:transparent;font-size:150%;text-align:center;border:none;margin-top:-.5rem}.rotated[data-v-6f1c1b45]{transform:rotate(45deg);-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transition:transform .25s;transform-origin:center center}.unrotated[data-v-6f1c1b45]{transform:rotate(0);-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);-o-transform:rotate(0deg);transition:transform .25s}fieldset[data-v-162e7317]{max-width:100%;width:100%;margin-right:2ch;border:1px solid transparent;border-bottom:1px solid var(--sc-gray-50)}legend[data-v-162e7317]{width:100%;height:1.15rem;border:1px solid transparent;padding-bottom:.5rem;font-size:110%;font-weight:600;-webkit-user-select:none;user-select:none}.collapse-button[data-v-162e7317]{float:right}.aform_file-attach[data-v-8eefd179]{padding:1rem;display:flex;flex-wrap:wrap;gap:1rem;flex-direction:row;justify-content:center;align-items:center;border:1px dashed var(--sc-input-border-color);width:100%}@media screen and (max-width:400px){.aform_file-attach>.aform_form-btn[data-v-8eefd179]{width:100%}}.aform_file-attach-feedback[data-v-8eefd179]{color:var(--sc-input-label-color);width:100%;padding:.5rem;text-align:center;align-self:center}.aform_file-attach-feedback>li[data-v-8eefd179]{list-style:none;font-style:italic}.aform_file-attach-feedback>p[data-v-8eefd179]{margin-top:0}.aform_form-btn[data-v-8eefd179]{padding:.5rem 2rem;width:auto;border:1px solid var(--sc-input-border-color);color:var(--sc-input-label-color);cursor:pointer;background-color:#fff}.aform_form-btn[data-v-8eefd179]:disabled{background-color:var(--sc-gray-5)}.aquantity__row[data-v-0b714861]{display:flex;gap:1ch}.aquantity__row--stock[data-v-0b714861]{margin-top:1.5rem}.aquantity__field[data-v-0b714861]{position:relative;flex:1;min-width:0}.aquantity__group[data-v-0b714861]{display:flex;align-items:stretch;width:100%;border:1px solid var(--sc-input-border-color);border-radius:.25rem}.aquantity__group[data-v-0b714861]:focus-within{border-color:var(--sc-input-active-border-color)}.aquantity__qty[data-v-0b714861]{flex:1;min-width:0;border:none;outline:none;padding:.5ch 1ch;background:transparent;border-radius:.25rem 0 0 .25rem;appearance:textfield;-moz-appearance:textfield}.aquantity__qty[data-v-0b714861]::-webkit-outer-spin-button,.aquantity__qty[data-v-0b714861]::-webkit-inner-spin-button{appearance:none;-webkit-appearance:none;margin:0}.aquantity__uom[data-v-0b714861]{position:relative;flex:0 0 auto;border-left:1px solid var(--sc-input-border-color)}.aquantity__uom-toggle[data-v-0b714861]{display:flex;align-items:center;gap:.75ch;height:100%;padding:.5ch 1ch;background:var(--sc-gray-5);border:none;border-radius:0 .25rem .25rem 0;white-space:nowrap;cursor:pointer}.aquantity__uom-toggle[data-v-0b714861]:disabled{cursor:not-allowed;color:var(--sc-gray-50, #888)}.aquantity__caret[data-v-0b714861]{display:inline-block;width:0;height:0;border-left:.3em solid transparent;border-right:.3em solid transparent;border-top:.3em solid currentColor}.aquantity__uom-menu[data-v-0b714861]{position:absolute;top:100%;right:0;z-index:100;min-width:100%;margin:.15rem 0 0;padding:.25rem 0;list-style:none;background:var(--sc-input-field-background, #fff);border:1px solid var(--sc-input-active-border-color);border-radius:.25rem}.aquantity__uom-option[data-v-0b714861]{padding:.4ch 1ch;white-space:nowrap;cursor:pointer}.aquantity__uom-option.is-active[data-v-0b714861],.aquantity__uom-option[data-v-0b714861]:hover{background-color:var(--sc-row-color-zebra-light)}.aquantity__stock-field[data-v-0b714861]{width:100%;font-size:1rem;padding:.5ch 1ch;border:1px solid var(--sc-input-border-color);border-radius:.25rem;outline:none}.aquantity__stock-field[data-v-0b714861]:disabled{color:var(--sc-gray-50, #888)}.aform_textbox[data-v-2a9c793b]{resize:vertical;line-height:1.5;min-height:4rem;font-family:inherit}.aform_textbox-display[data-v-2a9c793b]{white-space:pre-wrap}.login-container[data-v-2c0f0634]{width:100%;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--sc-font-family)}.account-container[data-v-2c0f0634]{width:100%;margin-left:auto;margin-top:.5rem;margin-right:auto;display:flex;flex-direction:column;justify-content:center}.account-header[data-v-2c0f0634]{display:flex;flex-direction:column;text-align:center;margin-top:.5rem}#account-title[data-v-2c0f0634]{font-size:1.5rem;line-height:2rem;font-weight:600;letter-spacing:-.025em;margin:0}#account-subtitle[data-v-2c0f0634]{font-size:.875rem;line-height:1.25rem;margin:1rem}.login-form-container[data-v-2c0f0634]{display:grid;gap:.5rem}.login-form-element[data-v-2c0f0634]{display:grid;margin:.5rem 0;position:relative}.login-field[data-v-2c0f0634]{padding:.5rem .25rem .25rem .5rem;outline:1px solid transparent;border:1px solid var(--sc-input-border-color);border-radius:.25rem}.login-field[data-v-2c0f0634]:focus{border:1px solid black}.btn[data-v-2c0f0634]{background-color:var(--sc-btn-color);color:var(--sc-btn-label-color);border:1px solid var(--sc-btn-border);margin:.5rem 0;padding:.25rem;position:relative;cursor:pointer}.btn[data-v-2c0f0634]:hover{background-color:var(--sc-btn-hover)}.btn[data-v-2c0f0634]:disabled{background-color:var(--sc-input-field-disabled-background)}.disabled[data-v-2c0f0634]{opacity:.5}.loading-icon[data-v-2c0f0634]{animation:spin-2c0f0634 1s linear infinite forwards;display:inline-block;margin-right:.2rem;line-height:0;font-size:1rem;position:relative;top:.2rem}@keyframes spin-2c0f0634{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.aform-loading[data-v-274f5ba3]{width:100%;border:1px solid var(--sc-form-border);border-left:4px solid var(--sc-form-border);padding:1rem;margin-bottom:1rem;box-sizing:border-box;position:relative;overflow:hidden;background:var(--sc-input-field-background, #fff)}.aform-loading__label[data-v-274f5ba3]{font-size:.9rem;color:var(--sc-cell-text-color);z-index:1;position:relative}.aform-loading__label[data-v-274f5ba3]:not(:empty):after{content:"...";animation:ellipsis-274f5ba3 2s infinite}.aform-loading__bar[data-v-274f5ba3]{width:100%;height:100%;position:absolute;left:-100%;top:0;background:linear-gradient(90deg,rgba(var(--sc-table-loading-color),0),rgba(var(--sc-table-loading-color),1),rgba(var(--sc-table-loading-color),0));animation:bar-sweep-274f5ba3 2s infinite;z-index:0}@keyframes bar-sweep-274f5ba3{0%{left:-100%}to{left:100%}}@keyframes ellipsis-274f5ba3{0%,20%{content:""}40%{content:"."}60%{content:".."}80%,to{content:"..."}}.expansion-index[data-v-df191efe]{color:var(--sc-header-text-color, #333);font-weight:700;font-size:11px;line-height:1;text-align:center;-webkit-user-select:none;user-select:none;width:2ch;min-width:1.25rem;height:1.25rem;padding:0;border:none;background:transparent;cursor:pointer;box-sizing:border-box}
@@ -8,6 +8,7 @@ import ACheckbox from './components/form/ACheckbox.vue';
8
8
  import ACurrencyInput from './components/form/ACurrencyInput.vue';
9
9
  import ADate from './components/form/ADate.vue';
10
10
  import ADropdown from './components/form/ADropdown.vue';
11
+ import ASegmentedControl from './components/form/ASegmentedControl.vue';
11
12
  import ABadge from './components/form/ABadge.vue';
12
13
  import ADatePicker from './components/form/ADatePicker.vue';
13
14
  import ADateTime from './components/form/ADateTime.vue';
@@ -25,6 +26,7 @@ import ATextInput from './components/form/ATextInput.vue';
25
26
  import ATextboxInput from './components/form/ATextboxInput.vue';
26
27
  import Login from './components/utilities/Login.vue';
27
28
  import AFormLoading from './components/AFormLoading.vue';
29
+ import ExpandButton from './components/base/ExpandButton.vue';
28
30
  export type * from './types';
29
31
  /**
30
32
  * Install all AForm components
@@ -32,5 +34,5 @@ export type * from './types';
32
34
  * @public
33
35
  */
34
36
  declare function install(app: App): void;
35
- export { ACheckbox, ACurrencyInput, ADate, ADropdown, ABadge, ADatePicker, ADateRange, ADateSelection, ADuration, ADateTime, ADateTimeInput, AFieldset, AFileAttach, AForm, AFormLink, ANumericInput, AQuantityInput, ATextInput, ATextboxInput, Login, AFormLoading, install, };
37
+ export { ACheckbox, ACurrencyInput, ADate, ADropdown, ASegmentedControl, ABadge, ADatePicker, ADateRange, ADateSelection, ADuration, ADateTime, ADateTimeInput, AFieldset, AFileAttach, AForm, AFormLink, ANumericInput, AQuantityInput, ATextInput, ATextboxInput, Login, AFormLoading, ExpandButton, install, };
36
38
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,yBAAyB,CAAA;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AACzD,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAEtE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAE9B,OAAO,SAAS,MAAM,iCAAiC,CAAA;AACvD,OAAO,cAAc,MAAM,sCAAsC,CAAA;AACjE,OAAO,KAAK,MAAM,6BAA6B,CAAA;AAC/C,OAAO,SAAS,MAAM,iCAAiC,CAAA;AACvD,OAAO,MAAM,MAAM,8BAA8B,CAAA;AACjD,OAAO,WAAW,MAAM,mCAAmC,CAAA;AAC3D,OAAO,SAAS,MAAM,iCAAiC,CAAA;AACvD,OAAO,cAAc,MAAM,sCAAsC,CAAA;AACjE,OAAO,cAAc,MAAM,sCAAsC,CAAA;AACjE,OAAO,SAAS,MAAM,iCAAiC,CAAA;AACvD,OAAO,UAAU,MAAM,kCAAkC,CAAA;AACzD,OAAO,SAAS,MAAM,iCAAiC,CAAA;AACvD,OAAO,WAAW,MAAM,mCAAmC,CAAA;AAC3D,OAAO,KAAK,MAAM,wBAAwB,CAAA;AAC1C,OAAO,SAAS,MAAM,iCAAiC,CAAA;AACvD,OAAO,aAAa,MAAM,qCAAqC,CAAA;AAC/D,OAAO,cAAc,MAAM,sCAAsC,CAAA;AACjE,OAAO,UAAU,MAAM,kCAAkC,CAAA;AACzD,OAAO,aAAa,MAAM,qCAAqC,CAAA;AAC/D,OAAO,KAAK,MAAM,kCAAkC,CAAA;AACpD,OAAO,YAAY,MAAM,+BAA+B,CAAA;AAExD,mBAAmB,SAAS,CAAA;AAE5B;;;;GAIG;AACH,iBAAS,OAAO,CAAC,GAAG,EAAE,GAAG,QAuBxB;AAED,OAAO,EACN,SAAS,EACT,cAAc,EACd,KAAK,EACL,SAAS,EACT,MAAM,EACN,WAAW,EACX,UAAU,EACV,cAAc,EACd,SAAS,EACT,SAAS,EACT,cAAc,EACd,SAAS,EACT,WAAW,EACX,KAAK,EACL,SAAS,EACT,aAAa,EACb,cAAc,EACd,UAAU,EACV,aAAa,EACb,KAAK,EACL,YAAY,EACZ,OAAO,GACP,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,yBAAyB,CAAA;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AACzD,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAEtE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAE9B,OAAO,SAAS,MAAM,iCAAiC,CAAA;AACvD,OAAO,cAAc,MAAM,sCAAsC,CAAA;AACjE,OAAO,KAAK,MAAM,6BAA6B,CAAA;AAC/C,OAAO,SAAS,MAAM,iCAAiC,CAAA;AACvD,OAAO,iBAAiB,MAAM,yCAAyC,CAAA;AACvE,OAAO,MAAM,MAAM,8BAA8B,CAAA;AACjD,OAAO,WAAW,MAAM,mCAAmC,CAAA;AAC3D,OAAO,SAAS,MAAM,iCAAiC,CAAA;AACvD,OAAO,cAAc,MAAM,sCAAsC,CAAA;AACjE,OAAO,cAAc,MAAM,sCAAsC,CAAA;AACjE,OAAO,SAAS,MAAM,iCAAiC,CAAA;AACvD,OAAO,UAAU,MAAM,kCAAkC,CAAA;AACzD,OAAO,SAAS,MAAM,iCAAiC,CAAA;AACvD,OAAO,WAAW,MAAM,mCAAmC,CAAA;AAC3D,OAAO,KAAK,MAAM,wBAAwB,CAAA;AAC1C,OAAO,SAAS,MAAM,iCAAiC,CAAA;AACvD,OAAO,aAAa,MAAM,qCAAqC,CAAA;AAC/D,OAAO,cAAc,MAAM,sCAAsC,CAAA;AACjE,OAAO,UAAU,MAAM,kCAAkC,CAAA;AACzD,OAAO,aAAa,MAAM,qCAAqC,CAAA;AAC/D,OAAO,KAAK,MAAM,kCAAkC,CAAA;AACpD,OAAO,YAAY,MAAM,+BAA+B,CAAA;AACxD,OAAO,YAAY,MAAM,oCAAoC,CAAA;AAE7D,mBAAmB,SAAS,CAAA;AAE5B;;;;GAIG;AACH,iBAAS,OAAO,CAAC,GAAG,EAAE,GAAG,QAyBxB;AAED,OAAO,EACN,SAAS,EACT,cAAc,EACd,KAAK,EACL,SAAS,EACT,iBAAiB,EACjB,MAAM,EACN,WAAW,EACX,UAAU,EACV,cAAc,EACd,SAAS,EACT,SAAS,EACT,cAAc,EACd,SAAS,EACT,WAAW,EACX,KAAK,EACL,SAAS,EACT,aAAa,EACb,cAAc,EACd,UAAU,EACV,aAAa,EACb,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,OAAO,GACP,CAAA"}
package/dist/src/index.js CHANGED
@@ -6,6 +6,7 @@ import ACheckbox from './components/form/ACheckbox.vue';
6
6
  import ACurrencyInput from './components/form/ACurrencyInput.vue';
7
7
  import ADate from './components/form/ADate.vue';
8
8
  import ADropdown from './components/form/ADropdown.vue';
9
+ import ASegmentedControl from './components/form/ASegmentedControl.vue';
9
10
  import ABadge from './components/form/ABadge.vue';
10
11
  import ADatePicker from './components/form/ADatePicker.vue';
11
12
  import ADateTime from './components/form/ADateTime.vue';
@@ -23,6 +24,7 @@ import ATextInput from './components/form/ATextInput.vue';
23
24
  import ATextboxInput from './components/form/ATextboxInput.vue';
24
25
  import Login from './components/utilities/Login.vue';
25
26
  import AFormLoading from './components/AFormLoading.vue';
27
+ import ExpandButton from './components/base/ExpandButton.vue';
26
28
  /**
27
29
  * Install all AForm components
28
30
  * @param app - Vue app instance
@@ -34,6 +36,7 @@ function install(app /* options */) {
34
36
  app.component('ACurrencyInput', ACurrencyInput);
35
37
  app.component('ADate', ADate);
36
38
  app.component('ADropdown', ADropdown);
39
+ app.component('ASegmentedControl', ASegmentedControl);
37
40
  app.component('ABadge', ABadge);
38
41
  app.component('ADatePicker', ADatePicker);
39
42
  app.component('ADateTime', ADateTime);
@@ -50,5 +53,6 @@ function install(app /* options */) {
50
53
  app.component('ATextboxInput', ATextboxInput);
51
54
  app.component('ADuration', ADuration);
52
55
  app.component('AFormLoading', AFormLoading);
56
+ app.component('ExpandButton', ExpandButton);
53
57
  }
54
- export { ACheckbox, ACurrencyInput, ADate, ADropdown, ABadge, ADatePicker, ADateRange, ADateSelection, ADuration, ADateTime, ADateTimeInput, AFieldset, AFileAttach, AForm, AFormLink, ANumericInput, AQuantityInput, ATextInput, ATextboxInput, Login, AFormLoading, install, };
58
+ export { ACheckbox, ACurrencyInput, ADate, ADropdown, ASegmentedControl, ABadge, ADatePicker, ADateRange, ADateSelection, ADuration, ADateTime, ADateTimeInput, AFieldset, AFileAttach, AForm, AFormLink, ANumericInput, AQuantityInput, ATextInput, ATextboxInput, Login, AFormLoading, ExpandButton, install, };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stonecrop/aform",
3
- "version": "0.26.0",
3
+ "version": "0.27.0",
4
4
  "description": "Schema-driven form components for Stonecrop",
5
5
  "bugs": {
6
6
  "url": "https://github.com/agritheory/stonecrop/issues"
@@ -35,10 +35,10 @@
35
35
  "dependencies": {
36
36
  "@vueuse/components": "^14.2.1",
37
37
  "@vueuse/core": "^14.2.1",
38
- "@stonecrop/atable": "0.26.0",
39
- "@stonecrop/schema": "0.26.0",
40
- "@stonecrop/themes": "0.26.0",
41
- "@stonecrop/utilities": "0.26.0"
38
+ "@stonecrop/atable": "0.27.0",
39
+ "@stonecrop/themes": "0.27.0",
40
+ "@stonecrop/utilities": "0.27.0",
41
+ "@stonecrop/schema": "0.27.0"
42
42
  },
43
43
  "devDependencies": {
44
44
  "@microsoft/api-documenter": "^7.30.5",
@@ -94,7 +94,7 @@ const componentProps = (componentObj: ResolvedField) => {
94
94
  for (const [key, value] of Object.entries(componentObj)) {
95
95
  // 'mode' is excluded here because it is handled by resolvedMode()
96
96
  // and passed explicitly via :mode to avoid conflicting with the form-level defaults.
97
- if (!['component', 'primaryKey', 'computed', 'language', 'hidden', 'mode', 'width'].includes(key)) {
97
+ if (!['component', 'primaryKey', 'computed', 'language', 'hidden', 'mode', 'width', 'height'].includes(key)) {
98
98
  propsToPass[key] = value
99
99
  }
100
100
  }
@@ -111,9 +111,18 @@ const componentProps = (componentObj: ResolvedField) => {
111
111
 
112
112
  const fieldStyle = (componentObj: ResolvedField): Record<string, string> => {
113
113
  if (componentObj.kind !== 'field') return {}
114
- const width = componentObj.width
115
- if (!width) return {}
116
- return { flexBasis: width, width }
114
+ const style: Record<string, string> = {}
115
+ if (componentObj.width) {
116
+ style.flexBasis = componentObj.width
117
+ style.width = componentObj.width
118
+ }
119
+ if (componentObj.height) {
120
+ style.height = componentObj.height
121
+ style.minHeight = '0'
122
+ style.flexGrow = '1'
123
+ style.alignSelf = 'stretch'
124
+ }
125
+ return style
117
126
  }
118
127
 
119
128
  const effectiveFormMode = computed(() => mode ?? 'edit')
@@ -0,0 +1,34 @@
1
+ <template>
2
+ <button
3
+ type="button"
4
+ class="expansion-index"
5
+ :aria-expanded="expanded"
6
+ :aria-label="expanded ? 'Collapse' : 'Expand'">
7
+ {{ expanded ? '▼' : '►' }}
8
+ </button>
9
+ </template>
10
+
11
+ <script setup lang="ts">
12
+ defineProps<{
13
+ expanded: boolean
14
+ }>()
15
+ </script>
16
+
17
+ <style scoped>
18
+ .expansion-index {
19
+ color: var(--sc-header-text-color, #333);
20
+ font-weight: bold;
21
+ font-size: 11px;
22
+ line-height: 1;
23
+ text-align: center;
24
+ user-select: none;
25
+ width: 2ch;
26
+ min-width: 1.25rem;
27
+ height: 1.25rem;
28
+ padding: 0;
29
+ border: none;
30
+ background: transparent;
31
+ cursor: pointer;
32
+ box-sizing: border-box;
33
+ }
34
+ </style>
@@ -0,0 +1,342 @@
1
+ <template>
2
+ <div
3
+ class="aform_form-element aform_segmented-control"
4
+ :class="{
5
+ 'aform_segmented-control--xs': size === 'xs',
6
+ 'aform_segmented-control--sm': size === 'sm',
7
+ 'aform_segmented-control--equal': equal,
8
+ }">
9
+ <template v-if="mode === 'display'">
10
+ <label class="aform_field-label" :class="{ 'aform_segmented-sr-label': hideLabel }">{{ label }}</label>
11
+ <ABadge
12
+ v-if="displayBadge"
13
+ class="aform_display-value aform_segmented-display-badge"
14
+ :value="displayBadgeValue"
15
+ :options="options"
16
+ presentation="input-accent" />
17
+ <span v-else class="aform_display-value">{{ displayText }}</span>
18
+ </template>
19
+ <template v-else>
20
+ <label :id="labelId" class="aform_field-label" :class="{ 'aform_segmented-sr-label': hideLabel }">
21
+ {{ label }}
22
+ </label>
23
+ <div
24
+ :role="multiple ? 'group' : 'radiogroup'"
25
+ class="aform_segmented-track"
26
+ :aria-labelledby="groupAriaLabel ? undefined : labelId"
27
+ :aria-label="groupAriaLabel"
28
+ :aria-busy="busy || undefined">
29
+ <label
30
+ v-for="choice in choices"
31
+ :key="choice"
32
+ class="aform_segmented-segment"
33
+ :class="segmentClasses(choice)"
34
+ :style="segmentStyle(choice)"
35
+ :data-segment-value="choice">
36
+ <input
37
+ v-if="multiple"
38
+ v-model="selectedMany"
39
+ type="checkbox"
40
+ class="aform_segmented-input"
41
+ :name="groupName"
42
+ :value="choice"
43
+ :disabled="mode === 'read'" />
44
+ <input
45
+ v-else
46
+ v-model="selected"
47
+ type="radio"
48
+ class="aform_segmented-input"
49
+ :name="groupName"
50
+ :value="choice"
51
+ :disabled="mode === 'read'" />
52
+ <span class="aform_segmented-label">{{ segmentLabel(choice) }}</span>
53
+ </label>
54
+ </div>
55
+ <p v-show="errorText" class="aform_error" v-html="errorText"></p>
56
+ </template>
57
+ </div>
58
+ </template>
59
+
60
+ <script setup lang="ts">
61
+ import type { BadgeVariant, FieldOptions } from '@stonecrop/schema'
62
+ import { hasBadgeOptions, lookupBadge, selectChoices } from '@stonecrop/schema'
63
+ import { computed, useId, type CSSProperties } from 'vue'
64
+
65
+ import type { ComponentProps } from '../../types'
66
+ import ABadge from './ABadge.vue'
67
+
68
+ const {
69
+ label,
70
+ options = undefined,
71
+ mode,
72
+ uuid,
73
+ errors,
74
+ validation = { errorMessage: '' },
75
+ size = 'sm',
76
+ equal = false,
77
+ hideLabel = false,
78
+ ariaLabel = undefined,
79
+ busy = false,
80
+ multiple = false,
81
+ } = defineProps<
82
+ ComponentProps & {
83
+ options?: FieldOptions
84
+ size?: 'xs' | 'sm'
85
+ equal?: boolean
86
+ hideLabel?: boolean
87
+ ariaLabel?: string
88
+ busy?: boolean
89
+ multiple?: boolean
90
+ }
91
+ >()
92
+
93
+ const selected = defineModel<string | string[]>({ default: '' })
94
+
95
+ const selectedMany = computed({
96
+ get: () => (Array.isArray(selected.value) ? selected.value : []),
97
+ set: (value: string[]) => {
98
+ selected.value = value
99
+ },
100
+ })
101
+
102
+ const errorText = computed(() => (errors?.length ? errors.join('; ') : (validation.errorMessage ?? '')))
103
+
104
+ const fallbackId = useId()
105
+ const groupName = computed(() => uuid ?? `aform-segmented-${fallbackId}`)
106
+ const labelId = computed(() => `${groupName.value}-label`)
107
+
108
+ // aria-labelledby outranks aria-label in the accessible-name algorithm, so the two are mutually
109
+ // exclusive here: emitting both would silently leave `ariaLabel` inert. It only applies while the
110
+ // label element is visually hidden — overriding a *visible* label would break WCAG 2.5.3.
111
+ const groupAriaLabel = computed(() => (hideLabel ? ariaLabel : undefined))
112
+
113
+ const choices = computed(() => selectChoices(options))
114
+ const badgeOptions = computed(() => hasBadgeOptions(options))
115
+
116
+ function segmentLabel(choice: string): string {
117
+ return lookupBadge(options, choice)?.label ?? choice
118
+ }
119
+
120
+ function segmentVariant(choice: string): BadgeVariant {
121
+ return lookupBadge(options, choice)?.variant ?? 'neutral'
122
+ }
123
+
124
+ function isChoiceSelected(choice: string): boolean {
125
+ if (multiple) return selectedMany.value.includes(choice)
126
+ return selected.value === choice
127
+ }
128
+
129
+ function segmentClasses(choice: string): Record<string, boolean> {
130
+ if (!badgeOptions.value) return {}
131
+ return {
132
+ 'aform_segmented-segment--badge': true,
133
+ [`aform_segmented-segment--${segmentVariant(choice)}`]: isChoiceSelected(choice),
134
+ }
135
+ }
136
+
137
+ function segmentStyle(choice: string): CSSProperties {
138
+ if (!badgeOptions.value || !isChoiceSelected(choice)) return {}
139
+ const color = lookupBadge(options, choice)?.color
140
+ if (!color) return {}
141
+ return {
142
+ '--sc-badge-bg': color,
143
+ '--sc-badge-text': color,
144
+ } as CSSProperties
145
+ }
146
+
147
+ const displayText = computed(() => {
148
+ if (multiple) {
149
+ return selectedMany.value.map(segmentLabel).filter(Boolean).join(', ')
150
+ }
151
+ const value = selected.value
152
+ if (typeof value !== 'string' || value === '') return ''
153
+ return segmentLabel(value)
154
+ })
155
+
156
+ const displayBadge = computed(() => {
157
+ if (!badgeOptions.value) return false
158
+ if (multiple) return selectedMany.value.length === 1
159
+ return typeof selected.value === 'string' && selected.value !== ''
160
+ })
161
+
162
+ const displayBadgeValue = computed(() => {
163
+ if (multiple) return selectedMany.value[0] ?? ''
164
+ return typeof selected.value === 'string' ? selected.value : ''
165
+ })
166
+ </script>
167
+
168
+ <style scoped>
169
+ .aform_segmented-control--xs.aform_form-element {
170
+ min-width: 0;
171
+ padding-top: 0;
172
+ max-width: none;
173
+ }
174
+
175
+ .aform_segmented-control--xs:not(:has(.aform_segmented-sr-label)) {
176
+ padding-top: 0.5rem;
177
+ }
178
+
179
+ .aform_segmented-sr-label {
180
+ position: absolute;
181
+ width: 1px;
182
+ height: 1px;
183
+ padding: 0;
184
+ margin: -1px;
185
+ overflow: hidden;
186
+ clip: rect(0, 0, 0, 0);
187
+ white-space: nowrap;
188
+ border: 0;
189
+ }
190
+
191
+ .aform_segmented-track {
192
+ display: inline-flex;
193
+ flex-wrap: wrap;
194
+ align-items: stretch;
195
+ gap: 0.125rem;
196
+ padding: 0.125rem;
197
+ width: auto;
198
+ min-width: 0;
199
+ min-height: 2rem;
200
+ outline: 1px solid var(--sc-input-border-color);
201
+ outline-offset: -1px;
202
+ border-radius: 0;
203
+ box-sizing: border-box;
204
+ background: var(--sc-input-field-disabled-background);
205
+ font-family: var(--sc-font-family);
206
+ }
207
+
208
+ .aform_segmented-control--xs .aform_segmented-track {
209
+ min-height: 1.5rem;
210
+ font-size: 0.875rem;
211
+ }
212
+
213
+ .aform_segmented-control--equal .aform_segmented-track {
214
+ display: flex;
215
+ width: 100%;
216
+ }
217
+
218
+ .aform_segmented-segment {
219
+ position: relative;
220
+ display: inline-flex;
221
+ align-items: center;
222
+ justify-content: center;
223
+ flex: none;
224
+ margin: 0;
225
+ padding: 0.125rem 0.5rem;
226
+ min-height: 1.5rem;
227
+ border-radius: 0;
228
+ color: var(--sc-input-label-color);
229
+ font-family: inherit;
230
+ font-size: inherit;
231
+ font-weight: 400;
232
+ line-height: 1.25;
233
+ cursor: pointer;
234
+ user-select: none;
235
+ box-sizing: border-box;
236
+ }
237
+
238
+ .aform_segmented-control--sm .aform_segmented-segment {
239
+ min-height: 1.75rem;
240
+ padding: 0.125rem 0.75rem;
241
+ font-size: var(--sc-font-size);
242
+ }
243
+
244
+ .aform_segmented-control--equal .aform_segmented-segment {
245
+ flex: 1 1 0;
246
+ }
247
+
248
+ .aform_segmented-input {
249
+ position: absolute;
250
+ inline-size: 1px;
251
+ block-size: 1px;
252
+ padding: 0;
253
+ margin: -1px;
254
+ overflow: hidden;
255
+ clip: rect(0, 0, 0, 0);
256
+ white-space: nowrap;
257
+ border: 0;
258
+ }
259
+
260
+ .aform_segmented-label {
261
+ pointer-events: none;
262
+ }
263
+
264
+ .aform_segmented-segment:not(.aform_segmented-segment--badge):has(.aform_segmented-input:checked) {
265
+ background: var(--sc-input-field-background);
266
+ color: var(--sc-cell-text-color);
267
+ font-weight: 500;
268
+ }
269
+
270
+ .aform_segmented-segment--badge:has(.aform_segmented-input:checked) {
271
+ font-weight: 500;
272
+ }
273
+
274
+ .aform_segmented-segment--badge:has(.aform_segmented-input:checked).aform_segmented-segment--neutral {
275
+ background: var(--sc-badge-neutral-bg);
276
+ color: var(--sc-badge-neutral-text);
277
+ }
278
+
279
+ .aform_segmented-segment--badge:has(.aform_segmented-input:checked).aform_segmented-segment--success {
280
+ background: var(--sc-badge-success-bg);
281
+ color: var(--sc-badge-success-text);
282
+ }
283
+
284
+ .aform_segmented-segment--badge:has(.aform_segmented-input:checked).aform_segmented-segment--warning {
285
+ background: var(--sc-badge-warning-bg);
286
+ color: var(--sc-badge-warning-text);
287
+ }
288
+
289
+ .aform_segmented-segment--badge:has(.aform_segmented-input:checked).aform_segmented-segment--danger {
290
+ background: var(--sc-badge-danger-bg);
291
+ color: var(--sc-badge-danger-text);
292
+ }
293
+
294
+ .aform_segmented-segment--badge:has(.aform_segmented-input:checked).aform_segmented-segment--brand {
295
+ background: var(--sc-badge-brand-bg);
296
+ color: var(--sc-badge-brand-text);
297
+ }
298
+
299
+ .aform_segmented-segment--badge:has(.aform_segmented-input:checked)[style*='--sc-badge-bg'] {
300
+ background: var(--sc-badge-bg);
301
+ color: var(--sc-badge-text);
302
+ }
303
+
304
+ .aform_segmented-segment:has(.aform_segmented-input:focus-visible) {
305
+ outline: 1px solid var(--sc-input-active-border-color);
306
+ outline-offset: -1px;
307
+ }
308
+
309
+ .aform_segmented-segment:hover:has(.aform_segmented-input:not(:disabled):not(:checked)) {
310
+ background: color-mix(in srgb, var(--sc-input-field-background) 50%, transparent);
311
+ }
312
+
313
+ .aform_segmented-segment:has(.aform_segmented-input:disabled) {
314
+ cursor: not-allowed;
315
+ opacity: 0.5;
316
+ }
317
+
318
+ .aform_segmented-track:has(.aform_segmented-input:focus-visible) {
319
+ outline-color: var(--sc-input-active-border-color);
320
+ }
321
+
322
+ .aform_segmented-display-badge {
323
+ display: block;
324
+ padding: 0.5rem;
325
+ min-height: 2rem;
326
+ box-sizing: border-box;
327
+ }
328
+
329
+ @media (prefers-reduced-motion: no-preference) {
330
+ .aform_segmented-segment {
331
+ transition:
332
+ background-color 0.1s ease-out,
333
+ color 0.1s ease-out;
334
+ }
335
+ }
336
+
337
+ @media (prefers-reduced-motion: reduce) {
338
+ .aform_segmented-segment {
339
+ transition: none;
340
+ }
341
+ }
342
+ </style>
package/src/index.ts CHANGED
@@ -10,6 +10,7 @@ import ACheckbox from './components/form/ACheckbox.vue'
10
10
  import ACurrencyInput from './components/form/ACurrencyInput.vue'
11
11
  import ADate from './components/form/ADate.vue'
12
12
  import ADropdown from './components/form/ADropdown.vue'
13
+ import ASegmentedControl from './components/form/ASegmentedControl.vue'
13
14
  import ABadge from './components/form/ABadge.vue'
14
15
  import ADatePicker from './components/form/ADatePicker.vue'
15
16
  import ADateTime from './components/form/ADateTime.vue'
@@ -27,6 +28,7 @@ import ATextInput from './components/form/ATextInput.vue'
27
28
  import ATextboxInput from './components/form/ATextboxInput.vue'
28
29
  import Login from './components/utilities/Login.vue'
29
30
  import AFormLoading from './components/AFormLoading.vue'
31
+ import ExpandButton from './components/base/ExpandButton.vue'
30
32
 
31
33
  export type * from './types'
32
34
 
@@ -42,6 +44,7 @@ function install(app: App /* options */) {
42
44
  app.component('ACurrencyInput', ACurrencyInput)
43
45
  app.component('ADate', ADate)
44
46
  app.component('ADropdown', ADropdown)
47
+ app.component('ASegmentedControl', ASegmentedControl)
45
48
  app.component('ABadge', ABadge)
46
49
  app.component('ADatePicker', ADatePicker)
47
50
  app.component('ADateTime', ADateTime)
@@ -58,6 +61,7 @@ function install(app: App /* options */) {
58
61
  app.component('ATextboxInput', ATextboxInput)
59
62
  app.component('ADuration', ADuration)
60
63
  app.component('AFormLoading', AFormLoading)
64
+ app.component('ExpandButton', ExpandButton)
61
65
  }
62
66
 
63
67
  export {
@@ -65,6 +69,7 @@ export {
65
69
  ACurrencyInput,
66
70
  ADate,
67
71
  ADropdown,
72
+ ASegmentedControl,
68
73
  ABadge,
69
74
  ADatePicker,
70
75
  ADateRange,
@@ -82,5 +87,6 @@ export {
82
87
  ATextboxInput,
83
88
  Login,
84
89
  AFormLoading,
90
+ ExpandButton,
85
91
  install,
86
92
  }