diff --git a/packages/theme/styles/_colors.scss b/packages/theme/styles/_colors.scss
index 059b824e11..656632e404 100644
--- a/packages/theme/styles/_colors.scss
+++ b/packages/theme/styles/_colors.scss
@@ -308,6 +308,27 @@
--theme-clockface-min-arrow: conic-gradient(at 50% -10px, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0) 49%, #2F2F3A 50%, rgba(0, 0, 0, 0) 51%, rgba(0, 0, 0, 0) 100%);
--theme-clockface-arrows-holder: radial-gradient(at top center, #2F2F3A, #555555);
--theme-clockface-arrows-shadow: 0 0 1px white;
+
+ --theme-dialog-border-color: rgba(255, 255, 255, 0.1);
+ --theme-dialog-background-color: #2a2938;
+ --theme-dialog-back-color: #848484;
+ --theme-icon-stroke: #e8e9e9;
+ --theme-state-ghost-color: rgba(123, 123, 123, 0.6);
+ --theme-state-ghost-background-color: rgba(123, 123, 123, 0.1);
+ --theme-state-ghost-border-color: transparent;
+ --theme-state-negative-color: #dc5147;
+ --theme-state-negative-background-color: rgba(220, 81, 71, 0.1);
+ --theme-state-negative-border-color: rgba(220, 81, 71, 0.15);
+ --theme-state-positive-color: #139d4a;
+ --theme-state-positive-background-color: rgba(19, 157, 74, 0.1);
+ --theme-state-positive-border-color: rgba(19, 157, 74, 0.15);
+ --theme-state-primary-color: #3070dc;
+ --theme-state-primary-background-color: rgba(48, 112, 220, 0.1);
+ --theme-state-primary-border-color: rgba(48, 112, 220, 0.15);
+ --theme-state-regular-color: #7b7b7b;
+ --theme-state-regular-background-color: rgba(123, 123, 123, 0.1);
+ --theme-state-regular-border-color: rgba(123, 123, 123, 0.15);
+ --theme-wizard-not-visited-color: #34343c;
}
/* Light Theme */
@@ -536,4 +557,25 @@
--theme-clockface-min-arrow: conic-gradient(at 50% -10px, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 49%, white 50%, rgba(255, 255, 255, 0) 51%, rgba(255, 255, 255, 0) 100%);
--theme-clockface-arrows-holder: radial-gradient(at top center, #eee, #aaa);
--theme-clockface-arrows-shadow: 0 0 1px black;
+
+ --theme-icon-stroke: #1f212b;
+ --theme-dialog-border-color: rgba(0, 0, 0, 0.1);
+ --theme-dialog-background-color: #ffffff;
+ --theme-dialog-back-color: #616161;
+ --theme-state-ghost-color: rgba(123, 123, 123, 0.6);
+ --theme-state-ghost-background-color: rgba(123, 123, 123, 0.1);
+ --theme-state-ghost-border-color: transparent;
+ --theme-state-negative-color: #dc5147;
+ --theme-state-negative-background-color: rgba(220, 81, 71, 0.1);
+ --theme-state-negative-border-color: rgba(220, 81, 71, 0.15);
+ --theme-state-positive-color: #139d4a;
+ --theme-state-positive-background-color: rgba(19, 157, 74, 0.1);
+ --theme-state-positive-border-color: rgba(19, 157, 74, 0.15);
+ --theme-state-primary-color: #3070dc;
+ --theme-state-primary-background-color: rgba(48, 112, 220, 0.1);
+ --theme-state-primary-border-color: rgba(48, 112, 220, 0.15);
+ --theme-state-regular-color: #7b7b7b;
+ --theme-state-regular-background-color: rgba(123, 123, 123, 0.1);
+ --theme-state-regular-border-color: rgba(123, 123, 123, 0.15);
+ --theme-wizard-not-visited-color: #e8e9e9;
}
diff --git a/packages/ui/lang/en.json b/packages/ui/lang/en.json
index aee3003d14..72b9fbd5ad 100644
--- a/packages/ui/lang/en.json
+++ b/packages/ui/lang/en.json
@@ -86,6 +86,9 @@
"NoTimeZonesFound": "No time zones found",
"Selected": "Selected:",
"Spanish": "Spanish",
- "Portuguese": "Portuguese"
+ "Portuguese": "Portuguese",
+ "Submit": "Submit",
+ "NextStep": "Next step",
+ "TypeHere": "Type here..."
}
}
\ No newline at end of file
diff --git a/packages/ui/lang/es.json b/packages/ui/lang/es.json
index 853e50aa1b..23e749ab66 100644
--- a/packages/ui/lang/es.json
+++ b/packages/ui/lang/es.json
@@ -84,6 +84,9 @@
"ThemeDark": "Oscuro",
"ThemeSystem": "Sistema",
"NoTimeZonesFound": "No se encontraron zonas horarias",
- "Selected": "Seleccionado:"
+ "Selected": "Seleccionado:",
+ "Submit": "Enviar",
+ "NextStep": "Siguiente paso",
+ "TypeHere": "Escribe aquí..."
}
}
\ No newline at end of file
diff --git a/packages/ui/lang/pt.json b/packages/ui/lang/pt.json
index 0f12aeb636..efceb804d7 100644
--- a/packages/ui/lang/pt.json
+++ b/packages/ui/lang/pt.json
@@ -84,6 +84,9 @@
"ThemeDark": "Escuro",
"ThemeSystem": "Sistema",
"NoTimeZonesFound": "Nenhum fuso horário encontrado",
- "Selected": "Selecionado:"
+ "Selected": "Selecionado:",
+ "Submit": "Enviar",
+ "NextStep": "Seguinte passo",
+ "TypeHere": "Escreva aqui..."
}
}
\ No newline at end of file
diff --git a/packages/ui/lang/ru.json b/packages/ui/lang/ru.json
index f2169e1111..6e0492a4bc 100644
--- a/packages/ui/lang/ru.json
+++ b/packages/ui/lang/ru.json
@@ -84,6 +84,9 @@
"ThemeDark": "Тёмная",
"ThemeSystem": "Системная",
"NoTimeZonesFound": "Временные зоны не найдены",
- "Selected": "Выбрано:"
+ "Selected": "Выбрано:",
+ "Submit": "Отправить",
+ "NextStep": "Следующий шаг",
+ "TypeHere": "Вводите здесь..."
}
}
\ No newline at end of file
diff --git a/packages/ui/src/components/ModernDialog.svelte b/packages/ui/src/components/ModernDialog.svelte
new file mode 100644
index 0000000000..7fcf88f560
--- /dev/null
+++ b/packages/ui/src/components/ModernDialog.svelte
@@ -0,0 +1,257 @@
+
+
+
+ {
+ dispatch('changeContent')
+ }}
+ style:width
+>
+
+
+ {#if scrollableContent}
+
+
+ {#if !noContentPadding}
+
+ {/if}
+
+ {#if !noContentPadding}
+
+ {/if}
+
+
+ {:else}
+
+ {#if !noContentPadding}
+
+ {/if}
+
+ {#if !noContentPadding}
+
+ {/if}
+
+ {/if}
+
+ {#if !withoutFooter || $$slots.footerExtra || $$slots.footerButtons || $$slots.btnsXtraStart || $$slots.btnsXtraBetween || $$slots.btnsXtraEnd}
+
+ {/if}
+
+
+
diff --git a/packages/ui/src/components/PlainTextEditor.svelte b/packages/ui/src/components/PlainTextEditor.svelte
new file mode 100644
index 0000000000..f5cd09934a
--- /dev/null
+++ b/packages/ui/src/components/PlainTextEditor.svelte
@@ -0,0 +1,96 @@
+
+
+
+
+
+
diff --git a/packages/ui/src/components/StateTag.svelte b/packages/ui/src/components/StateTag.svelte
new file mode 100644
index 0000000000..2d0f7981e4
--- /dev/null
+++ b/packages/ui/src/components/StateTag.svelte
@@ -0,0 +1,79 @@
+
+
+
+
+
+
+
+
diff --git a/packages/ui/src/components/icons/Checkmark.svelte b/packages/ui/src/components/icons/Checkmark.svelte
new file mode 100644
index 0000000000..b269234bb5
--- /dev/null
+++ b/packages/ui/src/components/icons/Checkmark.svelte
@@ -0,0 +1,26 @@
+
+
+
+
diff --git a/packages/ui/src/components/icons/Left.svelte b/packages/ui/src/components/icons/Left.svelte
new file mode 100644
index 0000000000..1a92254498
--- /dev/null
+++ b/packages/ui/src/components/icons/Left.svelte
@@ -0,0 +1,10 @@
+
+
+
diff --git a/packages/ui/src/components/wizard/ModernWizardBar.svelte b/packages/ui/src/components/wizard/ModernWizardBar.svelte
new file mode 100644
index 0000000000..19d3bb2557
--- /dev/null
+++ b/packages/ui/src/components/wizard/ModernWizardBar.svelte
@@ -0,0 +1,105 @@
+
+
+
+
+ {#each steps as step, idx}
+ {@const isCurrent = idx === selectedIdx}
+ {@const isPast = idx < selectedIdx}
+ {#if idx !== 0}
+
+ {/if}
+
+ {#if isPast}
+
+ {/if}
+
+
+ {#if idx !== steps.length - 1}
+
+ {/if}
+ {/each}
+
+
+
diff --git a/packages/ui/src/components/wizard/ModernWizardDialog.svelte b/packages/ui/src/components/wizard/ModernWizardDialog.svelte
new file mode 100644
index 0000000000..a0adc68ba9
--- /dev/null
+++ b/packages/ui/src/components/wizard/ModernWizardDialog.svelte
@@ -0,0 +1,144 @@
+
+
+
+
+
+
+
+ {#if hasBack}
+
+ {/if}
+
+
+
+ {#if hasSubmit}
+
+ {/if}
+ {#if hasNext}
+
+ {/if}
+
+
+
+
diff --git a/packages/ui/src/index.ts b/packages/ui/src/index.ts
index a1f61332fb..c01e35f90c 100644
--- a/packages/ui/src/index.ts
+++ b/packages/ui/src/index.ts
@@ -55,6 +55,7 @@ export { default as Button } from './components/Button.svelte'
export { default as ButtonWithDropdown } from './components/ButtonWithDropdown.svelte'
export { default as ButtonGroup } from './components/ButtonGroup.svelte'
export { default as Status } from './components/Status.svelte'
+export { default as StateTag } from './components/StateTag.svelte'
export { default as Component } from './components/Component.svelte'
export { default as Icon } from './components/Icon.svelte'
export { default as ActionIcon } from './components/ActionIcon.svelte'
@@ -62,6 +63,7 @@ export { default as Toggle } from './components/Toggle.svelte'
export { default as RadioButton } from './components/RadioButton.svelte'
export { default as RadioGroup } from './components/RadioGroup.svelte'
export { default as Dialog } from './components/Dialog.svelte'
+export { default as ModernDialog } from './components/ModernDialog.svelte'
export { default as ModernToggle } from './components/ModernToggle.svelte'
export { default as ToggleWithLabel } from './components/ToggleWithLabel.svelte'
export { default as MiniToggle } from './components/MiniToggle.svelte'
@@ -77,6 +79,7 @@ export { default as SelectPopup } from './components/SelectPopup.svelte'
export { default as ColorPopup } from './components/ColorPopup.svelte'
export { default as TextArea } from './components/TextArea.svelte'
export { default as TextAreaEditor } from './components/TextAreaEditor.svelte'
+export { default as PlainTextEditor } from './components/PlainTextEditor.svelte'
export { default as Section } from './components/Section.svelte'
export { default as DatePicker } from './components/calendar/DatePicker.svelte'
export { default as DateRangePicker } from './components/calendar/DateRangePicker.svelte'
@@ -145,6 +148,8 @@ export { default as AccordionItem } from './components/AccordionItem.svelte'
export { default as NotificationToast } from './components/NotificationToast.svelte'
export { default as Hotkey } from './components/Hotkey.svelte'
export { default as HotkeyGroup } from './components/HotkeyGroup.svelte'
+export { default as ModernWizardDialog } from './components/wizard/ModernWizardDialog.svelte'
+export { default as ModernWizardBar } from './components/wizard/ModernWizardBar.svelte'
export { default as IconAdd } from './components/icons/Add.svelte'
export { default as IconCircleAdd } from './components/icons/CircleAdd.svelte'
@@ -167,6 +172,7 @@ export { default as IconExpand } from './components/icons/Expand.svelte'
export { default as IconActivity } from './components/icons/Activity.svelte'
export { default as IconUp } from './components/icons/Up.svelte'
export { default as IconDown } from './components/icons/Down.svelte'
+export { default as IconLeft } from './components/icons/Left.svelte'
export { default as IconUpOutline } from './components/icons/UpOutline.svelte'
export { default as IconDownOutline } from './components/icons/DownOutline.svelte'
export { default as IconDropdown } from './components/icons/Dropdown.svelte'
@@ -220,6 +226,7 @@ export { default as IconDropdownRight } from './components/icons/DropdownRight.s
export { default as IconKeyCommand } from './components/icons/KeyCommand.svelte'
export { default as IconKeyOption } from './components/icons/KeyOption.svelte'
export { default as IconKeyShift } from './components/icons/KeyShift.svelte'
+export { default as IconCheckmark } from './components/icons/Checkmark.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 67a15ea656..17282da71f 100644
--- a/packages/ui/src/plugin.ts
+++ b/packages/ui/src/plugin.ts
@@ -110,7 +110,10 @@ export const uis = plugin(uiId, {
ThemeDark: '' as IntlString,
ThemeSystem: '' as IntlString,
NoTimeZonesFound: '' as IntlString,
- Selected: '' as IntlString
+ Selected: '' as IntlString,
+ Submit: '' as IntlString,
+ NextStep: '' as IntlString,
+ TypeHere: '' as IntlString
},
metadata: {
DefaultApplication: '' as Metadata,
diff --git a/packages/ui/src/types.ts b/packages/ui/src/types.ts
index 22377626b3..c26801f167 100644
--- a/packages/ui/src/types.ts
+++ b/packages/ui/src/types.ts
@@ -512,3 +512,16 @@ export type MouseTargetEvent = MouseEvent & { currentTarget: EventTarget & HTMLE
export interface ScrollParams {
autoScrolling: boolean
}
+
+export interface IWizardStep {
+ id: T
+ title: IntlString
+}
+
+export enum StateType {
+ Ghost,
+ Negative,
+ Positive,
+ Primary,
+ Regular
+}
diff --git a/plugins/contact-resources/src/components/UserBoxItems.svelte b/plugins/contact-resources/src/components/UserBoxItems.svelte
index 566fd188f6..74319b856d 100644
--- a/plugins/contact-resources/src/components/UserBoxItems.svelte
+++ b/plugins/contact-resources/src/components/UserBoxItems.svelte
@@ -13,20 +13,21 @@
// limitations under the License.
-->
{#if request}
diff --git a/plugins/request-resources/src/index.ts b/plugins/request-resources/src/index.ts
index ffe6d89bd5..9c5c5b64f3 100644
--- a/plugins/request-resources/src/index.ts
+++ b/plugins/request-resources/src/index.ts
@@ -21,6 +21,9 @@ import RequestPresenter from './components/RequestPresenter.svelte'
import RequestView from './components/RequestView.svelte'
import NotificationRequestView from './components/NotificationRequestView.svelte'
+export { default as RequestStatusPresenter } from './components/RequestStatusPresenter.svelte'
+export { default as RequestDetailPopup } from './components/RequestDetailPopup.svelte'
+
export default async (): Promise => ({
activity: {
RequestLabel,
diff --git a/plugins/view-resources/src/components/ViewletPanelHeader.svelte b/plugins/view-resources/src/components/ViewletPanelHeader.svelte
new file mode 100644
index 0000000000..c1cb6e5b91
--- /dev/null
+++ b/plugins/view-resources/src/components/ViewletPanelHeader.svelte
@@ -0,0 +1,65 @@
+
+
+
+
+
+ (resultQuery = { ...e.detail })} />
diff --git a/plugins/view-resources/src/index.ts b/plugins/view-resources/src/index.ts
index f4f6e7762a..ab00f2bd00 100644
--- a/plugins/view-resources/src/index.ts
+++ b/plugins/view-resources/src/index.ts
@@ -71,6 +71,7 @@ import UpDownNavigator from './components/UpDownNavigator.svelte'
import ValueSelector from './components/ValueSelector.svelte'
import ViewletContentView from './components/ViewletContentView.svelte'
import ViewletSettingButton from './components/ViewletSettingButton.svelte'
+import ViewletPanelHeader from './components/ViewletPanelHeader.svelte'
import ArrayFilter from './components/filter/ArrayFilter.svelte'
import DateFilter from './components/filter/DateFilter.svelte'
import DateFilterPresenter from './components/filter/DateFilterPresenter.svelte'
@@ -220,7 +221,8 @@ export {
TreeNode,
UpDownNavigator,
ViewletContentView,
- ViewletSettingButton
+ ViewletSettingButton,
+ ViewletPanelHeader
}
function PositionElementAlignment (e?: Event): PopupAlignment | undefined {