@stonecrop/aform 0.22.0 → 0.24.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-2b75e2d5]{position:relative}.input-wrapper[data-v-2b75e2d5]{border:1px solid transparent;padding:0rem;margin:0rem;margin-right:1ch}input[data-v-2b75e2d5]{width:calc(100% - 1ch);outline:1px solid transparent;border:1px solid var(--sc-input-border-color);padding:1ch .5ch .5ch 1ch;margin:.575rem 0 0;min-height:1.15rem;border-radius:.25rem;font-family:var(--sc-font-family)}input[data-v-2b75e2d5]:focus{border:1px solid var(--sc-input-active-border-color);border-radius:.25rem .25rem 0 0;border-bottom:none}label[data-v-2b75e2d5]{display:block;min-height:1.15rem;padding:0rem;margin:0rem 0rem .25rem;border:1px solid transparent;z-index:0;font-size:80%;position:absolute;background:#fff;margin:-2.575rem 0 0 1ch;padding:0 .25ch}.autocomplete-results[data-v-2b75e2d5]{position:absolute;width:calc(100% - 1ch + 1.5px);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 0 .25rem .25rem;border-top:none;background-color:#fff}.autocomplete-result[data-v-2b75e2d5]{list-style:none;text-align:left;padding:4px 6px;cursor:pointer;border-bottom:.5px solid lightgray}.autocomplete-result.is-active[data-v-2b75e2d5],.autocomplete-result[data-v-2b75e2d5]:hover{background-color:var(--sc-row-color-zebra-light);color:var(--sc-input-active-border-color)}p.aform_error[data-v-2b75e2d5]{position:static;display:block;color:var(--sc-brand-danger, red);font-size:.7rem;margin:.25rem 0 0}.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)}.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,10 +1,13 @@
1
1
  export type * from '@stonecrop/atable/types';
2
2
  export { deserializeFunction } from './utils/deserialize';
3
+ export { badgeInputAccentStyle, resolveFieldBadge } from './utils/badge';
4
+ export type { BadgeFormatContext, BadgeFormatFn } from './utils/badge';
3
5
  import type { App } from 'vue';
4
6
  import ACheckbox from './components/form/ACheckbox.vue';
5
7
  import ACurrencyInput from './components/form/ACurrencyInput.vue';
6
8
  import ADate from './components/form/ADate.vue';
7
9
  import ADropdown from './components/form/ADropdown.vue';
10
+ import ABadge from './components/form/ABadge.vue';
8
11
  import ADatePicker from './components/form/ADatePicker.vue';
9
12
  import ADateTime from './components/form/ADateTime.vue';
10
13
  import ADateTimeInput from './components/form/ADateTimeInput.vue';
@@ -28,5 +31,5 @@ export type * from './types';
28
31
  * @public
29
32
  */
30
33
  declare function install(app: App): void;
31
- export { ACheckbox, ACurrencyInput, ADate, ADropdown, ADatePicker, ADateRange, ADateSelection, ADuration, ADateTime, ADateTimeInput, AFieldset, AFileAttach, AForm, AFormLink, ANumericInput, AQuantityInput, ATextInput, ATextboxInput, Login, AFormLoading, install, };
34
+ export { ACheckbox, ACurrencyInput, ADate, ADropdown, ABadge, ADatePicker, ADateRange, ADateSelection, ADuration, ADateTime, ADateTimeInput, AFieldset, AFileAttach, AForm, AFormLink, ANumericInput, AQuantityInput, ATextInput, ATextboxInput, Login, AFormLoading, install, };
32
35
  //# 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;AAEzD,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,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,QAsBxB;AAED,OAAO,EACN,SAAS,EACT,cAAc,EACd,KAAK,EACL,SAAS,EACT,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,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"}
package/dist/src/index.js CHANGED
@@ -1,9 +1,11 @@
1
1
  export { deserializeFunction } from './utils/deserialize';
2
+ export { badgeInputAccentStyle, resolveFieldBadge } from './utils/badge';
2
3
  import { install as installATable } from '@stonecrop/atable';
3
4
  import ACheckbox from './components/form/ACheckbox.vue';
4
5
  import ACurrencyInput from './components/form/ACurrencyInput.vue';
5
6
  import ADate from './components/form/ADate.vue';
6
7
  import ADropdown from './components/form/ADropdown.vue';
8
+ import ABadge from './components/form/ABadge.vue';
7
9
  import ADatePicker from './components/form/ADatePicker.vue';
8
10
  import ADateTime from './components/form/ADateTime.vue';
9
11
  import ADateTimeInput from './components/form/ADateTimeInput.vue';
@@ -31,6 +33,7 @@ function install(app /* options */) {
31
33
  app.component('ACurrencyInput', ACurrencyInput);
32
34
  app.component('ADate', ADate);
33
35
  app.component('ADropdown', ADropdown);
36
+ app.component('ABadge', ABadge);
34
37
  app.component('ADatePicker', ADatePicker);
35
38
  app.component('ADateTime', ADateTime);
36
39
  app.component('ADateTimeInput', ADateTimeInput);
@@ -47,4 +50,4 @@ function install(app /* options */) {
47
50
  app.component('ADuration', ADuration);
48
51
  app.component('AFormLoading', AFormLoading);
49
52
  }
50
- export { ACheckbox, ACurrencyInput, ADate, ADropdown, ADatePicker, ADateRange, ADateSelection, ADuration, ADateTime, ADateTimeInput, AFieldset, AFileAttach, AForm, AFormLink, ANumericInput, AQuantityInput, ATextInput, ATextboxInput, Login, AFormLoading, install, };
53
+ export { ACheckbox, ACurrencyInput, ADate, ADropdown, ABadge, ADatePicker, ADateRange, ADateSelection, ADuration, ADateTime, ADateTimeInput, AFieldset, AFileAttach, AForm, AFormLink, ANumericInput, AQuantityInput, ATextInput, ATextboxInput, Login, AFormLoading, install, };
@@ -0,0 +1,25 @@
1
+ import type { BadgeDescriptor, FieldOptions } from '@stonecrop/schema';
2
+ /**
3
+ * Row context passed to badge `format` functions in form fields.
4
+ * @public
5
+ */
6
+ export type BadgeFormatContext = {
7
+ record?: Record<string, unknown>;
8
+ row?: Record<string, unknown>;
9
+ };
10
+ /**
11
+ * Badge-aware field `format` function signature.
12
+ * @public
13
+ */
14
+ export type BadgeFormatFn = (value: unknown, context: BadgeFormatContext) => string | BadgeDescriptor;
15
+ /**
16
+ * Resolve a field value to a badge descriptor using format (if present) then options map.
17
+ * @public
18
+ */
19
+ export declare function resolveFieldBadge(value: unknown, options: FieldOptions | undefined, format: string | BadgeFormatFn | undefined, context?: BadgeFormatContext): BadgeDescriptor | undefined;
20
+ /**
21
+ * CSS custom properties for input-accent styling on a native input.
22
+ * @public
23
+ */
24
+ export declare function badgeInputAccentStyle(descriptor: BadgeDescriptor | undefined): Record<string, string> | undefined;
25
+ //# sourceMappingURL=badge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"badge.d.ts","sourceRoot":"","sources":["../../../src/utils/badge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAKtE;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC7B,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,kBAAkB,KAAK,MAAM,GAAG,eAAe,CAAA;AAErG;;;GAGG;AACH,wBAAgB,iBAAiB,CAChC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,YAAY,GAAG,SAAS,EACjC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,EAC1C,OAAO,GAAE,kBAAuB,GAC9B,eAAe,GAAG,SAAS,CAqB7B;AAqBD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,eAAe,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAkBjH"}
@@ -0,0 +1,71 @@
1
+ import { isBadgeDescriptor, lookupBadge } from '@stonecrop/schema';
2
+ import { deserializeFunction } from './deserialize';
3
+ /**
4
+ * Resolve a field value to a badge descriptor using format (if present) then options map.
5
+ * @public
6
+ */
7
+ export function resolveFieldBadge(value, options, format, context = {}) {
8
+ if (format) {
9
+ let formatted;
10
+ if (typeof format === 'function') {
11
+ formatted = format(value, context);
12
+ }
13
+ else {
14
+ const formatFn = deserializeFunction(format);
15
+ formatted = formatFn(value, context);
16
+ }
17
+ if (isBadgeDescriptor(formatted)) {
18
+ const label = formatted.label.trim();
19
+ return label ? formatted : undefined;
20
+ }
21
+ if (typeof formatted === 'string' && formatted !== '') {
22
+ return lookupBadge(options, formatted) ?? { label: formatted, variant: 'neutral' };
23
+ }
24
+ }
25
+ const key = badgeLookupKey(value);
26
+ if (key === undefined)
27
+ return undefined;
28
+ return lookupBadge(options, key);
29
+ }
30
+ /**
31
+ * Stored choice value as an options-map key. Only primitives can match a declared choice, so
32
+ * anything else yields undefined rather than the '[object Object]' that String() would produce.
33
+ */
34
+ function badgeLookupKey(value) {
35
+ switch (typeof value) {
36
+ case 'string':
37
+ return value === '' ? undefined : value;
38
+ case 'number':
39
+ case 'boolean':
40
+ case 'bigint':
41
+ return String(value);
42
+ default:
43
+ return undefined;
44
+ }
45
+ }
46
+ const BADGE_VARIANTS = new Set(['neutral', 'success', 'warning', 'danger', 'brand']);
47
+ /**
48
+ * CSS custom properties for input-accent styling on a native input.
49
+ * @public
50
+ */
51
+ export function badgeInputAccentStyle(descriptor) {
52
+ if (!descriptor?.label?.trim())
53
+ return undefined;
54
+ const variant = descriptor.variant ?? 'neutral';
55
+ if (descriptor.color) {
56
+ return {
57
+ borderLeftWidth: '4px',
58
+ borderLeftStyle: 'solid',
59
+ borderLeftColor: descriptor.color,
60
+ paddingLeft: 'calc(1ch - 4px)',
61
+ };
62
+ }
63
+ if (!BADGE_VARIANTS.has(variant))
64
+ return undefined;
65
+ return {
66
+ borderLeftWidth: '4px',
67
+ borderLeftStyle: 'solid',
68
+ borderLeftColor: `var(--sc-badge-${variant}-accent)`,
69
+ paddingLeft: 'calc(1ch - 4px)',
70
+ };
71
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stonecrop/aform",
3
- "version": "0.22.0",
3
+ "version": "0.24.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.22.0",
39
- "@stonecrop/schema": "0.22.0",
40
- "@stonecrop/themes": "0.22.0",
41
- "@stonecrop/utilities": "0.22.0"
38
+ "@stonecrop/schema": "0.24.0",
39
+ "@stonecrop/themes": "0.24.0",
40
+ "@stonecrop/utilities": "0.24.0",
41
+ "@stonecrop/atable": "0.24.0"
42
42
  },
43
43
  "devDependencies": {
44
44
  "@microsoft/api-documenter": "^7.30.5",
@@ -0,0 +1,135 @@
1
+ <template>
2
+ <span v-if="displayLabel" :class="classes" :style="styleVars">{{ displayLabel }}</span>
3
+ </template>
4
+
5
+ <script setup lang="ts">
6
+ import type { BadgeDescriptor, BadgePresentation, BadgeVariant, FieldOptions } from '@stonecrop/schema'
7
+ import { lookupBadge } from '@stonecrop/schema'
8
+ import { computed, type CSSProperties } from 'vue'
9
+
10
+ const props = defineProps<
11
+ Partial<BadgeDescriptor> & {
12
+ /** Defaults to `cell-fill`: every call site fully determines this, so omitting it should
13
+ * degrade to the common case rather than rendering an unstyled badge. */
14
+ presentation?: BadgePresentation
15
+ /** Stored field value — used with `options` when `label` is omitted. */
16
+ value?: unknown
17
+ options?: FieldOptions
18
+ }
19
+ >()
20
+
21
+ const resolved = computed((): BadgeDescriptor | undefined => {
22
+ if (props.label?.trim()) {
23
+ return {
24
+ label: props.label.trim(),
25
+ variant: props.variant,
26
+ color: props.color,
27
+ }
28
+ }
29
+ if (props.value === null || props.value === undefined || props.value === '') return undefined
30
+ const key = typeof props.value === 'string' ? props.value : String(props.value)
31
+ return lookupBadge(props.options, key)
32
+ })
33
+
34
+ const displayLabel = computed(() => resolved.value?.label?.trim() ?? '')
35
+
36
+ const activeVariant = computed((): BadgeVariant => resolved.value?.variant ?? props.variant ?? 'neutral')
37
+
38
+ const activeColor = computed(() => resolved.value?.color ?? props.color)
39
+
40
+ const classes = computed(() => [
41
+ 'abadge',
42
+ `abadge--${props.presentation ?? 'cell-fill'}`,
43
+ `abadge--${activeVariant.value}`,
44
+ ])
45
+
46
+ const styleVars = computed((): CSSProperties => {
47
+ const color = activeColor.value
48
+ if (!color) return {}
49
+ return {
50
+ '--sc-badge-bg': color,
51
+ '--sc-badge-text': color,
52
+ '--sc-badge-accent': color,
53
+ } as CSSProperties
54
+ })
55
+
56
+ export type { BadgePresentation, BadgeVariant }
57
+ </script>
58
+
59
+ <style scoped>
60
+ .abadge {
61
+ display: block;
62
+ box-sizing: border-box;
63
+ font: inherit;
64
+ line-height: inherit;
65
+ white-space: nowrap;
66
+ overflow: hidden;
67
+ text-overflow: ellipsis;
68
+ }
69
+
70
+ .abadge--cell-fill {
71
+ display: block;
72
+ box-sizing: border-box;
73
+ width: 100%;
74
+ min-height: calc(var(--sc-atable-row-height, 1.5em) + 2 * var(--sc-atable-row-padding, 0.125rem));
75
+ line-height: calc(var(--sc-atable-row-height, 1.5em) + 2 * var(--sc-atable-row-padding, 0.125rem));
76
+ margin: 0;
77
+ padding: 0 0.5ch;
78
+ border-radius: 0;
79
+ text-align: inherit;
80
+ background: var(--sc-badge-bg);
81
+ color: var(--sc-badge-text);
82
+ }
83
+
84
+ .abadge--cell-fill.abadge--neutral {
85
+ --sc-badge-bg: var(--sc-badge-neutral-bg);
86
+ --sc-badge-text: var(--sc-badge-neutral-text);
87
+ }
88
+
89
+ .abadge--cell-fill.abadge--success {
90
+ --sc-badge-bg: var(--sc-badge-success-bg);
91
+ --sc-badge-text: var(--sc-badge-success-text);
92
+ }
93
+
94
+ .abadge--cell-fill.abadge--warning {
95
+ --sc-badge-bg: var(--sc-badge-warning-bg);
96
+ --sc-badge-text: var(--sc-badge-warning-text);
97
+ }
98
+
99
+ .abadge--cell-fill.abadge--danger {
100
+ --sc-badge-bg: var(--sc-badge-danger-bg);
101
+ --sc-badge-text: var(--sc-badge-danger-text);
102
+ }
103
+
104
+ .abadge--cell-fill.abadge--brand {
105
+ --sc-badge-bg: var(--sc-badge-brand-bg);
106
+ --sc-badge-text: var(--sc-badge-brand-text);
107
+ }
108
+
109
+ .abadge--input-accent {
110
+ background: var(--sc-input-field-background, #ffffff);
111
+ color: inherit;
112
+ border-left: 4px solid var(--sc-badge-accent);
113
+ padding-left: calc(1ch - 4px);
114
+ }
115
+
116
+ .abadge--input-accent.abadge--neutral {
117
+ --sc-badge-accent: var(--sc-badge-neutral-accent);
118
+ }
119
+
120
+ .abadge--input-accent.abadge--success {
121
+ --sc-badge-accent: var(--sc-badge-success-accent);
122
+ }
123
+
124
+ .abadge--input-accent.abadge--warning {
125
+ --sc-badge-accent: var(--sc-badge-warning-accent);
126
+ }
127
+
128
+ .abadge--input-accent.abadge--danger {
129
+ --sc-badge-accent: var(--sc-badge-danger-accent);
130
+ }
131
+
132
+ .abadge--input-accent.abadge--brand {
133
+ --sc-badge-accent: var(--sc-badge-brand-accent);
134
+ }
135
+ </style>