mirror of https://github.com/hashicorp/consul
bf42dd6c4c
* server: run the api checks against the path without params (#19205) * Clone proto into deepcopy correctly (#19204) * chore: update version and nightly CI for 1.17 (#19208) Update version file to 1.18-dev, and replace 1.13 nightly test with 1.17. * mesh: add validation hook to proxy configuration (#19186) * mesh: add more validations to Destinations resource (#19202) * catalog, mesh: implement missing ACL hooks (#19143) This change adds ACL hooks to the remaining catalog and mesh resources, excluding any computed ones. Those will for now continue using the default operator:x permissions. It refactors a lot of the common testing functions so that they can be re-used between resources. There are also some types that we don't yet support (e.g. virtual IPs) that this change adds ACL hooks to for future-proofing. * NET-5073 - ProxyConfiguration: implement various connection options (#19187) * NET-5073 - ProxyConfiguration: implement various connection options * PR feedback - LocalConnection and InboundConnection do not affect exposed routes. configure L7 route destinations. fix connection proto sequence numbers. * add timeout to L7 Route Destinations * Relplat 897 copywrite bot workarounds (#19200) Co-authored-by: Ronald Ekambi <ronekambi@gmail.com> * mesh: add xRoute ACL hook tenancy tests (#19177) Enhance the xRoute ACL hook tests to cover tenanted situations. These tests will only execute in enterprise. * resource: enforce lowercase v2 resource names (#19218) * mesh: add DestinationPolicy ACL hook tenancy tests (#19178) Enhance the DestinationPolicy ACL hook tests to cover tenanted situations. These tests will only execute in enterprise. * catalog: add FailoverPolicy ACL hook tenancy test (#19179) * Upgrade @hashicorp/design-system-tokens to 1.9.0 * Upgrade @hashicorp/design-system-components to 1.8.1 * Upgrade @hashicorp/design-system-components and ember-in-viewport * Explicitly install ember-modifier@4.1.0 * rename copy-button * backport of commit |
||
---|---|---|
.. | ||
README.mdx | ||
debug.scss | ||
index.scss | ||
layout.scss | ||
skin.scss |
README.mdx
--- class: css --- # horizontal-kv-list Provides a horizontally stacked list of key/value pairs, commonly used with a definition/description list. The keys can be configured to be either, visible, invisible, or with an icon. - **Icon Configuration:** Add a `class` that describes the key/value pair and configure the icon for that class in the CSS - **Visible Title Configuration:** Add an empty `class` attribute. A trailing `:` will be added to the title (ensure you collapse the whitespace in the `dt`). - **Invisible Title Configuration:** Don't add a `class` attribute at all, i.e. by default the title is not shown. If you are providing an icon, you should also use the `{{tooltip}}` modifier to provide a textual tooltip for the icon. Using the `{{tooltip}}` modifier with no arguments will make it use the text/DOM content of the DOM element it is attached to, see below for a full usage example. `<ConsulCopyButton />` components are commonly added to the value, and can be added to the left or right of the value. ```hbs preview-template <figure> <figcaption> All KVs can be specified in a single list </figcaption> <dl> <dt class="kind-terminating-gateway">Kind</dt> <dd> Terminating Gateway </dd> {{#if true}} <dt {{tooltip}} class="lock-delay" > Lock Delay </dt> <dd>10ms</dd> {{/if}} <dt {{tooltip}} class="ttl" > TTL </dt> <dd> <ConsulCopyButton @value={{"1m30s10ms"}} @name="TTL" /> 1m30s10ms </dd> <dt> Invisible title </dt> <dd> local </dd> <dt class>Visible title</dt> <dd> global </dd> </dl> </figure> <hr /> <figure> <figcaption>...or they can all be specified as individual lists (for if you have a component that is already wrapped in a dl, such as our TagList)</figcaption> <dl> <dt class="service-identity" > Service Identity </dt> <dd>service-0</dd> </dl><dl> <dt {{tooltip}} class="lock-delay" > Lock Delay </dt> <dd>10ms</dd> </dl><dl> <dt {{tooltip}} class="ttl" > TTL </dt> <dd> 1m30s10ms <ConsulCopyButton @value={{"1m30s10ms"}} @name="TTL" /> </dd> </dl><dl> <dt> No visible title </dt> <dd>local</dd> </dl><dl> <dt class>Visible title</dt> <dd>global</dd> </dl><!-- Collapse the whitespace but keep our indentation --><TagList @tags={{array 'one' 'two'}} /> </figure> <hr /> <figure class="reversed"> <figcaption>When reversing, you'll probably want to use indiviudual dl's so as to not reverse the order of the KV pairs</figcaption> <dl> <dt class="kind-terminating-gateway">Kind</dt> <dd> Terminating Gateway </dd> </dl> <dl> <dt class="service-identity" > Service Identity </dt> <dd>service-0</dd> </dl> <dl> <dt {{tooltip}} class="lock-delay" > Lock Delay </dt> <dd>10ms</dd> </dl><dl> <dt {{tooltip}} class="ttl" > TTL </dt> <dd> <ConsulCopyButton @value={{"1m30s10ms"}} @name="TTL" /> 1m30s10ms </dd> </dl><dl> <dt> No visible title </dt> <dd>local</dd> </dl><dl> <dt class>Visible title</dt> <dd>global</dd> </dl> </figure> ``` When conditionally listing key/values within a single `dl`, be aware that if no key/values should be shown, then you will be left with an empty `dl`. If you collapse the whitespace using handlebars whitespace collapsing `~`, then this empty `dl` will be removed from the flow via CSS. Alternatively consider using multiple `dl`s which can be wrapped with conditionals individually and therefore leave no empty DOM. When using as individual `dl` lists be aware of whitespace between `dl`s. There are various ways you can counter this: 1. remove the whitespace `</dl><dl>`. 2. Wrap the whitespace in comments `</dl><!-- carriage return --><dl>` 3. Use handlebars whitespace removal `~` as above. 4. Put a `display: inline-flex` on the parent element (this can affect other layout). Depending on your exact usecase one of the above options may be more suited than others. ```hbs preview-template <figure> <figcaption> Conditionally showing multiple key/values sometimes means that you insert an empty `dl` into the DOM </figcaption> <dl> {{~#if false}} <dt>Something that might not be set</dt> <dd>No value!</dd> {{/if~}} {{~#if false}} <dt>Something that might not be set</dt> <dd>No value!</dd> {{/if~}} </dl> </figure> ``` ```css dl { @extend %horizontal-kv-list; } .lock-delay::before { @extend %with-delay-mask, %as-pseudo; color: var(--token-color-foreground-faint); } .ttl::before { @extend %with-history-mask, %as-pseudo; color: var(--token-color-foreground-action); } .service-identity { @extend %badge; } .kind-terminating-gateway { @extend %badge, %badge-with-icon; } .kind-terminating-gateway::before { @extend %with-gateway-mask, %as-pseudo; } .reversed > dl { @extend %horizontal-kv-list-reversed; } .reversed .service-identity { @extend %badge-reversed; } .reversed .kind-terminating-gateway { @extend %badge-with-icon-reversed; } ``` ## Properties | Property | Type | Default | Description | | --- | --- | --- | --- | | `--horizontal-kv-list-separator-width` | `length-percentage` | `18px` | The width of the whitespace between two sets of key/value pairs | | `--horizontal-kv-list-key-separator` | `string` | `:` | Separator used for between `Key: Value` for textual key/values | | `--horizontal-kv-list-key-wrapper-start` | `string` | `(` | Starting wrapper used for wrapping `Value (Key)` for reversed textual key/values | | `--horizontal-kv-list-key-wrapper-end` | `string` | `)` | Ending wrapper used for wrapping `Value (Key)` for reversed textual key/values |