diff --git a/apps/client/src/stylesheets/theme-next-dark.css b/apps/client/src/stylesheets/theme-next-dark.css index b4c3def74..248efee75 100644 --- a/apps/client/src/stylesheets/theme-next-dark.css +++ b/apps/client/src/stylesheets/theme-next-dark.css @@ -199,6 +199,10 @@ --badge-background-color: #ffffff1a; --badge-text-color: var(--muted-text-color); + --note-icon-button-background-color: #a6a6a6; + --note-icon-button-hover-background-color: #d0d0d0; + --note-icon-button-color: black; + --promoted-attribute-card-background-color: #ffffff21; --promoted-attribute-card-shadow: none; diff --git a/apps/client/src/stylesheets/theme-next-light.css b/apps/client/src/stylesheets/theme-next-light.css index 620672499..d1364ebd4 100644 --- a/apps/client/src/stylesheets/theme-next-light.css +++ b/apps/client/src/stylesheets/theme-next-light.css @@ -191,6 +191,10 @@ --badge-background-color: #00000011; --badge-text-color: var(--muted-text-color); + --note-icon-button-background-color: #4f4f4f; + --note-icon-button-hover-background-color: #737373; + --note-icon-button-color: white; + --promoted-attribute-card-background-color: #00000014; --promoted-attribute-card-shadow: none; diff --git a/apps/client/src/stylesheets/theme-next/forms.css b/apps/client/src/stylesheets/theme-next/forms.css index de76231be..2d87245d7 100644 --- a/apps/client/src/stylesheets/theme-next/forms.css +++ b/apps/client/src/stylesheets/theme-next/forms.css @@ -56,7 +56,8 @@ button.btn.btn-primary:focus-visible, button.btn.btn-secondary:focus-visible, button.btn.btn-sm:not(.select-button):focus-visible, button.btn.btn-success:focus-visible, -button.ck.ck-button:is(.ck-button-action, .ck-button-save, .ck-button-cancel, .ck-button-replaceall, .ck-button-replace).ck-button_with-text:not(.ck-disabled):focus-visible { +button.ck.ck-button:is(.ck-button-action, .ck-button-save, .ck-button-cancel, .ck-button-replaceall, .ck-button-replace).ck-button_with-text:not(.ck-disabled):focus-visible, +.tn-focusable-button:focus-visible { outline: 2px solid var(--input-focus-outline-color); } diff --git a/apps/client/src/widgets/layout/InlineTitle.css b/apps/client/src/widgets/layout/InlineTitle.css index be153dbb0..a667e35fc 100644 --- a/apps/client/src/widgets/layout/InlineTitle.css +++ b/apps/client/src/widgets/layout/InlineTitle.css @@ -7,31 +7,60 @@ } .inline-title { + margin-top: 2px; /* Allow space for the focus outline */ max-width: var(--max-content-width); + container-type: inline-size; padding-inline-start: 24px; & > .inline-title-row { + --icon-size: 35px; + --icon-padding-size: 10px; + --title-size: 1.8em; + display: flex; align-items: center; + gap: 16px; transition: var(--title-transition); &.hidden { opacity: 0; pointer-events: none; } + + .note-icon-widget { + --note-icon-size: 35px; + --note-icon-container-padding-size: 10px; + } + + .note-title-caption { + flex-grow: 1; + } + + .note-title-widget { + --note-title-size: 1.8em; + --note-title-padding-inline: 0; + } + + @container (max-width: 500px) { + .note-icon-widget { + --note-icon-size: 25px; + --note-icon-container-padding-size: 6px; + } + + .note-title-widget { + --note-title-size: 1.5em; + } + + .title-details { + display: none; + } + } } &.hidden { display: none; } - .note-icon-widget { - padding: 0; - } - - .inline-title-row { - border-bottom: 2px solid gray; - } } .title-row { @@ -59,28 +88,43 @@ body.prefers-centered-content .inline-title { display: flex; gap: 0.25em; margin: 0; - margin-top: 4px; + margin-top: .2rem; list-style-type: none; opacity: .5; - flex-wrap: wrap; + font-size: .85rem; + line-height: 1; + flex-wrap: nowrap; + white-space: nowrap; span.value { font-weight: 500; } } +@keyframes note-type-switcher-intro { + from { + opacity: 0; + } to { + opacity: 1; + } +} + .note-type-switcher { + --badge-radius: 12px; + + position: relative; + top: 5px; padding: .25em 0; display: flex; align-items: center; overflow-x: auto; min-width: 0; gap: 5px; - min-height: 40px; - --badge-radius: 12px; - + min-height: 35px; + >* { flex-shrink: 0; + animation: note-type-switcher-intro 200ms ease-in; } .ext-badge { diff --git a/apps/client/src/widgets/layout/InlineTitle.tsx b/apps/client/src/widgets/layout/InlineTitle.tsx index cdcb04442..6dec10c10 100644 --- a/apps/client/src/widgets/layout/InlineTitle.tsx +++ b/apps/client/src/widgets/layout/InlineTitle.tsx @@ -71,10 +71,12 @@ export default function InlineTitle() { >
- +
+ + +
- diff --git a/apps/client/src/widgets/note_icon.css b/apps/client/src/widgets/note_icon.css index 2163de8e5..7168daf5b 100644 --- a/apps/client/src/widgets/note_icon.css +++ b/apps/client/src/widgets/note_icon.css @@ -1,17 +1,22 @@ -.note-icon-widget { - padding-inline-start: 10px; - margin-inline-end: 0; - width: 50px; - height: 50px; +div.note-icon-widget { + /* The size of the icon */ + --note-icon-size: 30px; + /* The padding size for the icon container */ + --note-icon-container-padding-size: 10px; + contain: unset; } .note-icon-widget button.note-icon { - font-size: 180%; - background-color: transparent; + --size: calc(var(--note-icon-size) + var(--note-icon-container-padding-size) * 2); + + width: var(--size); + height: var(--size); + padding: 0; border: 1px solid transparent; - padding: 6px; - cursor: pointer; + background-color: transparent; color: var(--muted-text-color); + cursor: pointer; + font-size: var(--note-icon-size); } .note-icon-widget button.note-icon:disabled { @@ -69,3 +74,41 @@ width: 1em; height: 1em; } + +body.experimental-feature-new-layout { + .note-icon-widget button.note-icon { + --input-focus-outline-color: var(--note-icon-button-hover-background-color); + + position: relative; + background: transparent !important; + + &, &:hover { + border-radius: 50%; + } + + /* The icon */ + &::before { + position: relative; + z-index: 1; + color: var(--note-icon-button-color); + } + + /* The background circle */ + &:not(.bx-empty:disabled)::after { + content: ""; + position: absolute; + inset: 0; + border-radius: 50%; + background: var(--note-icon-button-background-color); + } + + &:focus-visible { + outline: 2px solid var(--note-icon-button-color); + } + + &:hover:not(.bx-empty:disabled)::after { + background: var(--note-icon-button-hover-background-color); + transition: background 200ms ease-out; + } + } +} \ No newline at end of file diff --git a/apps/client/src/widgets/note_icon.tsx b/apps/client/src/widgets/note_icon.tsx index 4401b013f..28b118b1a 100644 --- a/apps/client/src/widgets/note_icon.tsx +++ b/apps/client/src/widgets/note_icon.tsx @@ -42,7 +42,7 @@ export default function NoteIcon() { className="note-icon-widget" title={t("note_icon.change_note_icon")} dropdownContainerStyle={{ width: "610px" }} - buttonClassName={`note-icon ${icon ?? "bx bx-empty"}`} + buttonClassName={`note-icon tn-focusable-button ${icon ?? "bx bx-empty"}`} hideToggleArrow disabled={viewScope?.viewMode !== "default"} > diff --git a/apps/client/src/widgets/note_title.css b/apps/client/src/widgets/note_title.css index fb61d7b41..f798e83ef 100644 --- a/apps/client/src/widgets/note_title.css +++ b/apps/client/src/widgets/note_title.css @@ -1,15 +1,23 @@ -.note-title-widget { +div.note-title-widget { + /* The font size for the title */ + --note-title-size: 180%; + /* The horizontal padding of the title widget */ + --note-title-padding-inline: 12px; + flex-grow: 1000; - height: 100%; + height: auto; + contain: unset; } .note-title-widget input.note-title { - font-size: 110%; + font-size: var(--note-title-size); border: 0; - margin: 2px 0px; + border-radius: 0; min-width: 5em; width: 100%; - padding: 1px 12px; + line-height: 1; + padding-block: 0; + padding-inline: var(--note-title-padding-inline); } .note-title-widget input.note-title[readonly] { @@ -22,11 +30,7 @@ } body.mobile .note-title-widget input.note-title { - padding: 0; -} - -body.desktop .note-title-widget input.note-title { - font-size: 180%; + --note-title-padding-inline: 0; } body.experimental-feature-new-layout { @@ -40,9 +44,21 @@ body.experimental-feature-new-layout { transition: none; } + .note-icon-widget { + --note-icon-size: 16px; + --note-icon-container-padding-size: 6px; + margin-inline: 12px 8px; + } + + .note-title-widget { + --note-title-size: 18px; + --note-title-padding-inline: 0; + } + @container (max-width: 700px) { - .note-icon-widget .note-icon { - font-size: 1.3em; + .note-title-widget { + --note-title-size: 1.25rem; + --note-title-padding-inline: 4px; } .note-title-widget { diff --git a/apps/client/src/widgets/type_widgets/text/EditableText.css b/apps/client/src/widgets/type_widgets/text/EditableText.css index 8c340c738..a2e1af8c5 100644 --- a/apps/client/src/widgets/type_widgets/text/EditableText.css +++ b/apps/client/src/widgets/type_widgets/text/EditableText.css @@ -1,7 +1,6 @@ .note-detail-editable-text { font-family: var(--detail-font-family); padding-inline-start: 14px; - padding-top: 10px; height: 100%; }