FormFieldLabel components add labels and descriptions to inputs+ +
Only Label+
Label with HelpText+
Only SubText+
SubText with DocLink+
Label + SubText+
Label with HelpText + SubText with DocLink+
FormField components are field elements associated with a particular model.+ + {{#let + (array + (hash editType="boolean" variants=(array "base" "with label" "with helpText + subText + docLink" "checked" "disabled")) + (hash + editType="checkboxList" + variants=(array "base" "with label" "with helpText + subText + docLink" "with validation error") + ) + (hash + editType="dateTimeLocal" + variants=(array "base" "with label" "with helpText + subText + docLink" "with value" "with validation error") + ) + (hash editType="file" variants=(array "base" "with label" "with helpText + subText + docLink" "with validation error")) + (hash + editType="input" + attrType="string" + variants=(array + "base" + "with label" + "with helpText + subText + docLink" + "with placeholder" + "with value" + "with character limit" + "with validation error" + "readonly" + "disabled" + ) + ) + (hash + editType="json" + attrType="string" + variants=(array "base" "with label" "with helpText" "with value" "with value + restore") + ) + (hash + editType="kv" + variants=(array + "base" + "with label" + "with label as section header" + "with helpText + subText" + "with key/value placeholders" + "single row" + "with value" + "with validation error" + "with whitespace in key" + ) + ) + (hash editType="mountAccessor" variants=(array "base" "with label" "with helpText" "with value")) + (hash editType="object" attrType="object" variants=(array "base" "with label" "with helpText" "with value")) + (hash + editType="optionalText" + variants=(array + "base" "with label" "with subText + docLink" "with default subText" "with value" "with value + subText + docLink" + ) + ) + (hash + editType="password" + attrType="string" + variants=(array "base" "with label" "with helpText + subText + docLink" "with value") + ) + (hash + editType="radio" + variants=(array + "base" "with label" "with helpText + subText + docLink" "with item subText" "with item helpText" "disabled" + ) + ) + (hash editType="regex" variants=(array "base" "with label" "with helpText + subText + docLink" "with value")) + (hash + editType="searchSelect" + variants=(array "base" "with label" "with label as section header" "with helpText + subText" "with value") + ) + (hash + editType="select" + variants=(array "base" "with label" "with helpText + subText" "with no default" "with value" "with validation error") + ) + (hash editType="stringArray" variants=(array "base" "with label" "with helpText + subText" "with value")) + (hash editType="sensitive" variants=(array "base" "with label" "with value" "with copy")) + (hash + editType="textarea" + attrType="string" + variants=(array "base" "with label" "with helpText + subText + docLink" "with value" "with validation error") + ) + (hash + editType="ttl" + variants=(array + "base" + "with helpText" + "with custom helper texts" + "with value" + "with value 0s" + "with value 1h" + "with validation error" + "with hidden toggle" + ) + ) + (hash editType="yield" variants=(array "yielded content")) + ) + as |FormFieldTypes| + }} + {{#each FormFieldTypes as |FormFieldType index|}} + {{#unless (eq index 0)}} +
{{capitalize variant}}+
Yielded text+
Save+
Save / Loading state (isSaving=true)+
Save + Cancel (onCancel)+
Save + Cancel (cancelLinkParams)+
Save (isSaving=true / saveButtonText="Loading") + Cancel+
Without top border (includeBox=false)+
{{capitalize variant}}+
TODO
+ +TODO
+ +TODO
+ +{{capitalize variant}}+
Not used in the codebase
+ +EnableInput components render a disabled input with a hardcoded masked value beside an "Edit" button to + "enable" the input. Clicking "Edit" hides the disabled input and renders the yielded component. This way any data + management is handled by the parent. These are useful for editing inputs of sensitive values not returned by the API. The + extra click ensures the user is intentionally editing the field.+ +
With generic input / with Input placeholder (@label)+
With generic input / with ReadonlyFormField placeholder (@attr)+
Base+
With value+
With icon hidden+
This component renders an input that fires a callback on "keyup" containing the input's value+ +
Base+
With label+
With subText+
With placeholder+
With value+
Input component that fetches secrets at a provided mount path and displays them as suggestions in a dropdown. + As the user types the result set will be filtered providing suggestions for the user to select. After the input debounce + wait time (500ms), if the value ends in a slash, secrets will be fetched at that path. The new result set will then be + displayed in the dropdown as suggestions for the newly inputted path. Selecting a suggestion will append it to the input + value. This allows the user to build a full path to a secret for the provided mount. This is useful for helping the user + find deeply nested secrets given the path based policy system. If the user does not have list permission they are still + able to enter a path to a secret but will not see suggestions. Input is disabled when mount path is not provided+ + {{#let (array "base" "with label" "with subText" "no mountpath") as |variants index|}} + {{#each variants as |variant|}} + {{#unless (eq index 0)}} +
{{capitalize variant}}+
MaskedInput components are textarea inputs where the input is hidden. They are used to enter sensitive + information like passwords.+ + {{#let + (array + "base" + "with label" + "with value" + "allow download" + "allow copy + download" + "display only" + "display only with value" + "display only with empty string as value" + ) + as |variants index| + }} + {{#each variants as |variant|}} + {{#unless (eq index 0)}} +
{{capitalize variant}}+
NavigateInput components are used to filter list data.+ + {{#let (array "base" "with placeholder" "with value") as |variants index|}} + {{#each variants as |variant|}} + {{#unless (eq index 0)}} +
{{capitalize variant}}+
ObjectListInput components are used to render a variable number of text inputs in a single row with an "Add" + button at the end of the row. Clicking 'add' generates a new row of empty inputs. Each input field is generated by an + object in the @objectKeys array. Labels render above each column.+ + {{#let + (array "base" "with single set of values" "with multiple sets of values" "with validation error") + as |variants index| + }} + {{#each variants as |variant|}} + {{#unless (eq index 0)}} +
{{capitalize variant}}+
{{capitalize variant}}+ + {{/each}} + {{/let}} + +
TextFile components render a file upload input with the option to toggle a "Enter as text" button that changes + the input into a textarea+ + {{#let + (array "base" "base / upload only" "with label" "with helpText + subText + docLink" "with validation error") + as |variants index| + }} + {{#each variants as |variant|}} + {{#unless (eq index 0)}} +
{{capitalize variant}}+