diff --git a/src/scss/components/_buttons.scss b/src/scss/components/_buttons.scss index 69da530..d9a6ab2 100644 --- a/src/scss/components/_buttons.scss +++ b/src/scss/components/_buttons.scss @@ -154,11 +154,36 @@ aspect-ratio: 1 / 1; padding: 0; border-radius: $radius-md; + border-color: transparent; + background-color: transparent; + color: $neutral-700; &.btn-icon-sm { width: 32px; height: 32px; } + + &:hover:not(:disabled):not(.is-disabled), + &.is-hover:not(:disabled):not(.is-disabled) { + background-color: $neutral-100; + border-color: transparent; + color: $neutral-900; + } + + &:active:not(:disabled):not(.is-disabled), + &.is-active:not(:disabled):not(.is-disabled) { + background-color: $neutral-200; + border-color: transparent; + color: $neutral-900; + } + + &:disabled, + &.is-disabled { + background-color: transparent !important; + border-color: transparent !important; + color: $neutral-400 !important; + opacity: 1; + } } // Variants aligned with Figma Button.png diff --git a/src/scss/components/_cards.scss b/src/scss/components/_cards.scss index 27f9959..a06c533 100644 --- a/src/scss/components/_cards.scss +++ b/src/scss/components/_cards.scss @@ -245,13 +245,12 @@ .card-media { flex: 0 0 20%; + align-self: stretch; min-width: 80px; max-width: 160px; - max-height: 160px; + min-height: 100%; overflow: hidden; position: relative; - aspect-ratio: 1; - align-self: start; background: $neutral-100; img { @@ -347,6 +346,9 @@ } .login-card-submit { + min-height: 48px; + padding: $space-3 $space-5; + font-size: 15px; width: max-content; margin-top: $space-2; } diff --git a/src/scss/components/_repeater.scss b/src/scss/components/_repeater.scss index 68541af..e3ca194 100644 --- a/src/scss/components/_repeater.scss +++ b/src/scss/components/_repeater.scss @@ -27,21 +27,22 @@ .repeater-item { @include hard_panel($border-color-muted); padding: $space-3; - display: grid; - grid-template-columns: 1fr auto; + display: flex; gap: $space-3; - align-items: start; + align-items: flex-start; } .repeater-item-body { - width: 100%; + flex: 1 1 auto; + min-width: 0; } .repeater-item-actions { display: flex; - align-items: center; + align-items: flex-start; gap: $space-2; - padding-top: $space-6; + flex-shrink: 0; + padding-top: 0; } &.repeater-disabled { diff --git a/src/vue/components/GnRepeater.js b/src/vue/components/GnRepeater.js index b0b2d3e..7fb2b54 100644 --- a/src/vue/components/GnRepeater.js +++ b/src/vue/components/GnRepeater.js @@ -77,23 +77,12 @@ const body = slots.item?.(scope); const actions = slots.actions?.(scope); - const defaultActions = !slots.actions && h("button", { - type: "button", - class: cx("btn-icon", "btn-icon-sm"), - "aria-label": props.removeLabel, - disabled: !removable, - onClick: (e) => { - e.stopPropagation(); - remove(index); - } - }, [iconNode(props.removeIcon)]); - return h("div", { class: "repeater-item", key: itemKey }, [ h("div", { class: "repeater-item-body" }, body), - (actions || defaultActions) && h("div", { class: "repeater-item-actions" }, actions || [defaultActions]) + actions && h("div", { class: "repeater-item-actions" }, actions) ]); }); diff --git a/src/vue/components/GnSearchField.js b/src/vue/components/GnSearchField.js index 22488b0..2c55991 100644 --- a/src/vue/components/GnSearchField.js +++ b/src/vue/components/GnSearchField.js @@ -31,15 +31,15 @@ }; return () => h("div", { - class: cx("input-group search-field", { "input-group-compact": props.compact }) + ...attrs, + class: cx("input-group search-field", { "input-group-compact": props.compact }, attrs.class) }, [ h("span", { class: "input-group-addon" }, [iconNode("ph-magnifying-glass")]), h("input", { - ...attrs, type: "search", value: props.modelValue, placeholder: props.placeholder, - class: cx("input-group-input", attrs.class), + class: "input-group-input", onInput: event => emit("update:modelValue", eventValue(event)) }), props.clearable && props.modelValue && h("button", {