diff --git a/packages/theme/styles/popups.scss b/packages/theme/styles/popups.scss index af26278a1b..723d510722 100644 --- a/packages/theme/styles/popups.scss +++ b/packages/theme/styles/popups.scss @@ -94,6 +94,7 @@ } } } + .header + .header { padding: 0 1rem .5rem; } .scroll { flex-grow: 1; @@ -120,8 +121,8 @@ text-align: left; color: var(--theme-caption-color); border-radius: .25rem; - cursor: pointer; - + + &:not(.default-cursor) { cursor: pointer; } &.high { height: 3rem; } .icon, .color, .tag { @@ -159,13 +160,19 @@ overflow: hidden; color: var(--theme-caption-color); } + .tool { + visibility: hidden; + flex-shrink: 0; + } &:not(.withList) { margin: 0 .5rem; } &:not(.withList, .no-focus):focus, - &:not(.withList):hover { + &:not(.withList, .no-hover):hover { background-color: var(--theme-popup-hover); + + .tool { visibility: visible; } } } .sticky-wrapper { @@ -189,22 +196,32 @@ align-items: center; justify-content: space-between; padding: .25rem 1rem; - min-height: 2rem; font-weight: 500; font-size: .625rem; text-transform: uppercase; text-align: left; color: var(--theme-caption-color); background-color: var(--theme-popup-color); - cursor: pointer; - + + &:not(.default-cursor) { cursor: pointer; } .icon { width: .25rem; transform-origin: 40% 50%; transform: rotate(0deg); transition: transform .15s cubic-bezier(0.175, 0.885, 0.32, 1.275); } - &.show .icon { transform: rotate(90deg); } + .chevron { + width: 1rem; + height: 1rem; + color: var(--theme-trans-color); + transform-origin: center; + transform: rotate(-90deg); + transition: transform .2s ease; + } + &.show { + .icon { transform: rotate(90deg); } + .chevron { transform: rotate(0deg); } + } &:hover { color: var(--theme-caption-color); } &.show + .menu-group { height: auto; } } diff --git a/packages/ui/lang/en.json b/packages/ui/lang/en.json index 499da415c2..568714ea05 100644 --- a/packages/ui/lang/en.json +++ b/packages/ui/lang/en.json @@ -66,6 +66,8 @@ "Compact": "Compact", "ThemeLight": "Light", "ThemeDark": "Dark", - "ThemeSystem": "System" + "ThemeSystem": "System", + "NoTimeZonesFound": "No time zones found", + "Selected": "Selected:" } } diff --git a/packages/ui/lang/ru.json b/packages/ui/lang/ru.json index 721f56a6ac..288f236f71 100644 --- a/packages/ui/lang/ru.json +++ b/packages/ui/lang/ru.json @@ -66,6 +66,8 @@ "Compact": "Компактный", "ThemeLight": "Светлая", "ThemeDark": "Тёмная", - "ThemeSystem": "Системная" + "ThemeSystem": "Системная", + "NoTimeZonesFound": "Временные зоны не найдены", + "Selected": "Выбрано:" } } diff --git a/packages/ui/src/components/EditWithIcon.svelte b/packages/ui/src/components/EditWithIcon.svelte index acbeee046c..230f631268 100644 --- a/packages/ui/src/components/EditWithIcon.svelte +++ b/packages/ui/src/components/EditWithIcon.svelte @@ -54,9 +54,9 @@
-
+
{#if value} -
+
+ + + {/each} +
+
+ {/if} + {/each} + {:else} +
+
+ {/if} +
+
+ + + diff --git a/packages/ui/src/index.ts b/packages/ui/src/index.ts index 7aa0bc1864..8a8aa78ab9 100644 --- a/packages/ui/src/index.ts +++ b/packages/ui/src/index.ts @@ -39,7 +39,8 @@ export type { TSeparatedItem, SeparatedItem, DefSeparators, - SeparatedElement + SeparatedElement, + TimeZone } from './types' export { themeStore } from '@hcengineering/theme' @@ -175,6 +176,8 @@ export { default as IconLike } from './components/icons/Like.svelte' export { default as IconCollapseArrow } from './components/icons/CollapseArrow.svelte' export { default as IconEmoji } from './components/icons/Emoji.svelte' export { default as IconObjects } from './components/icons/Objects.svelte' +export { default as IconUndo } from './components/icons/Undo.svelte' +export { default as IconRedo } from './components/icons/Redo.svelte' export { default as PanelInstance } from './components/PanelInstance.svelte' export { default as Panel } from './components/Panel.svelte' diff --git a/packages/ui/src/plugin.ts b/packages/ui/src/plugin.ts index 8a3e32cedf..305df71ad6 100644 --- a/packages/ui/src/plugin.ts +++ b/packages/ui/src/plugin.ts @@ -92,7 +92,9 @@ export const uis = plugin(uiId, { Compact: '' as IntlString, ThemeLight: '' as IntlString, ThemeDark: '' as IntlString, - ThemeSystem: '' as IntlString + ThemeSystem: '' as IntlString, + NoTimeZonesFound: '' as IntlString, + Selected: '' as IntlString }, metadata: { DefaultApplication: '' as Metadata, diff --git a/packages/ui/src/types.ts b/packages/ui/src/types.ts index 5050b6bab9..2f8d392e63 100644 --- a/packages/ui/src/types.ts +++ b/packages/ui/src/types.ts @@ -473,3 +473,14 @@ export interface SelectPopupValueType { label: IntlString } } + +/** + * @public + */ +export interface TimeZone { + id: string + continent: string + city: string + short: string + offset?: number +}