purity-world-ui 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +39 -0
- package/index.cjs +397 -0
- package/index.d.ts +1 -0
- package/index.js +1939 -0
- package/package.json +46 -0
- package/style.css +1 -0
- package/style.d.ts +1 -0
- package/styles/_base.scss +525 -0
- package/styles/_mixins.scss +57 -0
- package/styles/_theme-dark.scss +103 -0
- package/styles/_theme-light.scss +103 -0
- package/styles/_themes.scss +34 -0
- package/styles/_ui.scss +28 -0
- package/styles/_variables.scss +72 -0
- package/styles/index.scss +7 -0
- package/types/app/shared/behaviors/draggable/draggable.d.ts +14 -0
- package/types/app/shared/behaviors/draggable/draggable.d.ts.map +1 -0
- package/types/app/shared/behaviors/droppable/droppable.d.ts +23 -0
- package/types/app/shared/behaviors/droppable/droppable.d.ts.map +1 -0
- package/types/app/shared/components/date-time-picker/date-time-picker.component.d.ts +91 -0
- package/types/app/shared/components/date-time-picker/date-time-picker.component.d.ts.map +1 -0
- package/types/app/shared/components/expander/expander.component.d.ts +36 -0
- package/types/app/shared/components/expander/expander.component.d.ts.map +1 -0
- package/types/app/shared/components/loader/loader.component.d.ts +21 -0
- package/types/app/shared/components/loader/loader.component.d.ts.map +1 -0
- package/types/app/shared/components/modal/modal-view.component.d.ts +19 -0
- package/types/app/shared/components/modal/modal-view.component.d.ts.map +1 -0
- package/types/app/shared/components/navigation-menu/navigation-menu.component.d.ts +19 -0
- package/types/app/shared/components/navigation-menu/navigation-menu.component.d.ts.map +1 -0
- package/types/app/shared/components/notification/notification.component.d.ts +13 -0
- package/types/app/shared/components/notification/notification.component.d.ts.map +1 -0
- package/types/app/shared/components/popover/popover.component.d.ts +45 -0
- package/types/app/shared/components/popover/popover.component.d.ts.map +1 -0
- package/types/app/shared/components/radial-context-menu/radial-context-menu.component.d.ts +57 -0
- package/types/app/shared/components/radial-context-menu/radial-context-menu.component.d.ts.map +1 -0
- package/types/app/shared/components/switch-button/switch-button.component.d.ts +27 -0
- package/types/app/shared/components/switch-button/switch-button.component.d.ts.map +1 -0
- package/types/app/shared/directives/dropdown/dropdown.directive.d.ts +35 -0
- package/types/app/shared/directives/dropdown/dropdown.directive.d.ts.map +1 -0
- package/types/app/shared/directives/highlight/highlight.directive.d.ts +11 -0
- package/types/app/shared/directives/highlight/highlight.directive.d.ts.map +1 -0
- package/types/app/shared/interceptors/auth.interceptor.d.ts +11 -0
- package/types/app/shared/interceptors/auth.interceptor.d.ts.map +1 -0
- package/types/app/shared/interceptors/logging.interceptor.d.ts +9 -0
- package/types/app/shared/interceptors/logging.interceptor.d.ts.map +1 -0
- package/types/app/shared/pipes/date.pipe.d.ts +10 -0
- package/types/app/shared/pipes/date.pipe.d.ts.map +1 -0
- package/types/app/shared/pipes/transform-sample.pipe.d.ts +5 -0
- package/types/app/shared/pipes/transform-sample.pipe.d.ts.map +1 -0
- package/types/app/shared/pipes/uppercase.pipe.d.ts +5 -0
- package/types/app/shared/pipes/uppercase.pipe.d.ts.map +1 -0
- package/types/app/shared/validators/forms-validation.validator.d.ts +6 -0
- package/types/app/shared/validators/forms-validation.validator.d.ts.map +1 -0
- package/types/app/shared/widgets/analogue-clock/analogue-clock.component.d.ts +84 -0
- package/types/app/shared/widgets/analogue-clock/analogue-clock.component.d.ts.map +1 -0
- package/types/data/notify.service.d.ts +65 -0
- package/types/data/notify.service.d.ts.map +1 -0
- package/types/data/theme.service.d.ts +20 -0
- package/types/data/theme.service.d.ts.map +1 -0
- package/types/framework/bootstrap.d.ts +42 -0
- package/types/framework/bootstrap.d.ts.map +1 -0
- package/types/framework/component.d.ts +57 -0
- package/types/framework/component.d.ts.map +1 -0
- package/types/framework/core.d.ts +46 -0
- package/types/framework/core.d.ts.map +1 -0
- package/types/framework/di.d.ts +53 -0
- package/types/framework/di.d.ts.map +1 -0
- package/types/framework/directive.d.ts +47 -0
- package/types/framework/directive.d.ts.map +1 -0
- package/types/framework/http.d.ts +211 -0
- package/types/framework/http.d.ts.map +1 -0
- package/types/framework/pipe.d.ts +34 -0
- package/types/framework/pipe.d.ts.map +1 -0
- package/types/framework/router.d.ts +145 -0
- package/types/framework/router.d.ts.map +1 -0
- package/types/framework/seo.d.ts +134 -0
- package/types/framework/seo.d.ts.map +1 -0
- package/types/framework/validator.d.ts +73 -0
- package/types/framework/validator.d.ts.map +1 -0
- package/types/framework/virtual-for.d.ts +36 -0
- package/types/framework/virtual-for.d.ts.map +1 -0
- package/types/ui.d.ts +30 -0
- package/types/ui.d.ts.map +1 -0
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/* ==========================================================================
|
|
2
|
+
Purity Design System - Light Theme (GNOME Adwaita Light)
|
|
3
|
+
========================================================================== */
|
|
4
|
+
|
|
5
|
+
@mixin theme-light-variables {
|
|
6
|
+
/* Surfaces & Glassmorphism */
|
|
7
|
+
--gnome-bg: #f6f5f4;
|
|
8
|
+
--gnome-surface: rgba(255, 255, 255, 0.84);
|
|
9
|
+
--gnome-surface-solid: #ffffff;
|
|
10
|
+
--gnome-header: rgba(255, 255, 255, 0.92);
|
|
11
|
+
--gnome-card: rgba(0, 0, 0, 0.04);
|
|
12
|
+
--gnome-hover: rgba(0, 0, 0, 0.06);
|
|
13
|
+
--gnome-active: rgba(0, 0, 0, 0.1);
|
|
14
|
+
--gnome-subtle: rgba(0, 0, 0, 0.02);
|
|
15
|
+
|
|
16
|
+
/* Form Inputs & Controls */
|
|
17
|
+
--gnome-input: rgba(0, 0, 0, 0.05);
|
|
18
|
+
--gnome-input-hover: rgba(0, 0, 0, 0.08);
|
|
19
|
+
--gnome-input-focus: rgba(255, 255, 255, 0.95);
|
|
20
|
+
--select-chevron-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231c71d8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
|
|
21
|
+
|
|
22
|
+
/* Borders & Lines */
|
|
23
|
+
--gnome-border: rgba(0, 0, 0, 0.16);
|
|
24
|
+
--gnome-border-subtle: rgba(0, 0, 0, 0.09);
|
|
25
|
+
--gnome-border-focus: rgba(28, 113, 216, 0.7);
|
|
26
|
+
|
|
27
|
+
/* Typography & Text */
|
|
28
|
+
--text-main: #1c1c1c;
|
|
29
|
+
--text-secondary: #5e5c64;
|
|
30
|
+
--text-muted: #8a8886;
|
|
31
|
+
--text-off: rgba(0, 0, 0, 0.35);
|
|
32
|
+
--text-inverse: #ffffff;
|
|
33
|
+
|
|
34
|
+
/* Primary Accent - Vibrant Adwaita Blue */
|
|
35
|
+
--accent: #1c71d8;
|
|
36
|
+
--accent-hover: #3584e4;
|
|
37
|
+
--accent-active: #1a5fb4;
|
|
38
|
+
--accent-shadow: rgba(28, 113, 216, 0.28);
|
|
39
|
+
--accent-subtle: rgba(28, 113, 216, 0.12);
|
|
40
|
+
|
|
41
|
+
/* Semantic Status Colors */
|
|
42
|
+
--gnome-success: #26a269;
|
|
43
|
+
--gnome-error: #c01c28;
|
|
44
|
+
--gnome-info: #1c71d8;
|
|
45
|
+
--gnome-warn: #cd9309;
|
|
46
|
+
--gnome-success-bg: rgba(38, 162, 105, 0.15);
|
|
47
|
+
--gnome-error-bg: rgba(192, 28, 40, 0.15);
|
|
48
|
+
--gnome-info-bg: rgba(28, 113, 216, 0.15);
|
|
49
|
+
--gnome-warn-bg: rgba(205, 147, 9, 0.15);
|
|
50
|
+
|
|
51
|
+
/* Shadows */
|
|
52
|
+
--shadow-deep: 0 16px 40px rgba(0, 0, 0, 0.08), 0 2px 6px rgba(0, 0, 0, 0.04);
|
|
53
|
+
--shadow-popup: 0 16px 40px rgba(0, 0, 0, 0.14), 0 2px 10px rgba(0, 0, 0, 0.08), inset 0 1px rgba(255, 255, 255, 0.9);
|
|
54
|
+
--shadow-control: 0 2px 6px rgba(0, 0, 0, 0.06), inset 0 1px rgba(255, 255, 255, 0.6);
|
|
55
|
+
|
|
56
|
+
/* Global Dynamic Wallpaper */
|
|
57
|
+
--wallpaper: radial-gradient(circle at top left, rgba(53, 132, 228, 0.22), transparent 45%),
|
|
58
|
+
radial-gradient(circle at bottom right, rgba(145, 65, 172, 0.22), transparent 45%),
|
|
59
|
+
#f6f5f4;
|
|
60
|
+
--wallpaper-bg-color: #f6f5f4;
|
|
61
|
+
|
|
62
|
+
/* DatePicker Specific Tokens */
|
|
63
|
+
--dp-surface-bg: rgba(255, 255, 255, 0.88);
|
|
64
|
+
--dp-surface-blur-bg: rgba(255, 255, 255, 0.65);
|
|
65
|
+
--dp-text-main: var(--text-main);
|
|
66
|
+
--dp-text-secondary: var(--text-secondary);
|
|
67
|
+
--dp-border: var(--gnome-border);
|
|
68
|
+
--dp-shadow: var(--shadow-popup);
|
|
69
|
+
|
|
70
|
+
/* Dropdown Specific Tokens */
|
|
71
|
+
--dropdown-bg: rgba(255, 255, 255, 0.96);
|
|
72
|
+
--dropdown-blur-bg: rgba(255, 255, 255, 0.90);
|
|
73
|
+
--dropdown-border: var(--gnome-border);
|
|
74
|
+
--dropdown-shadow: var(--shadow-popup);
|
|
75
|
+
|
|
76
|
+
/* Popover Specific Tokens */
|
|
77
|
+
--popover-bg: rgba(255, 255, 255, 0.96);
|
|
78
|
+
--popover-blur-bg: rgba(255, 255, 255, 0.92);
|
|
79
|
+
--popover-border: rgba(0, 0, 0, 0.18);
|
|
80
|
+
--popover-shadow: 0 16px 38px rgba(0, 0, 0, 0.18), 0 4px 14px rgba(0, 0, 0, 0.10), 0 0 0 1px rgba(0, 0, 0, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.95);
|
|
81
|
+
|
|
82
|
+
/* Radial Context Menu Specific Tokens */
|
|
83
|
+
--radial-bg: rgba(255, 255, 255, 0.94);
|
|
84
|
+
--radial-blur-bg: rgba(255, 255, 255, 0.82);
|
|
85
|
+
--radial-segment-bg: rgba(240, 240, 240, 0.85);
|
|
86
|
+
--radial-text: #1c1c1c;
|
|
87
|
+
--radial-border: rgba(0, 0, 0, 0.12);
|
|
88
|
+
|
|
89
|
+
/* Code & Syntax Highlighting Tokens */
|
|
90
|
+
--code-bg: #f6f8fa;
|
|
91
|
+
--code-border: rgba(0, 0, 0, 0.12);
|
|
92
|
+
--code-text: #24292f;
|
|
93
|
+
--code-kw: #cf222e;
|
|
94
|
+
--code-dec: #8250df;
|
|
95
|
+
--code-fn: #0550ae;
|
|
96
|
+
--code-typ: #953800;
|
|
97
|
+
--code-str: #0a3069;
|
|
98
|
+
--code-num: #0550ae;
|
|
99
|
+
--code-cmt: #6e7781;
|
|
100
|
+
--code-tag: #116329;
|
|
101
|
+
--code-attr: #0550ae;
|
|
102
|
+
--code-expr: #953800;
|
|
103
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/* ==========================================================================
|
|
2
|
+
Purity Design System - Theme Engine
|
|
3
|
+
Dark theme is the base foundation.
|
|
4
|
+
========================================================================== */
|
|
5
|
+
|
|
6
|
+
@use './theme-dark' as dark;
|
|
7
|
+
@use './theme-light' as light;
|
|
8
|
+
|
|
9
|
+
/* 1. Base / Default is Dark theme on :root, html, and body */
|
|
10
|
+
:root {
|
|
11
|
+
@include dark.theme-dark-variables;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
html,
|
|
15
|
+
body {
|
|
16
|
+
@include dark.theme-dark-variables;
|
|
17
|
+
color-scheme: dark;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/* 2. Explicit Dark theme */
|
|
21
|
+
html[data-theme='dark'],
|
|
22
|
+
body[data-theme='dark'],
|
|
23
|
+
[data-theme='dark'] {
|
|
24
|
+
@include dark.theme-dark-variables;
|
|
25
|
+
color-scheme: dark;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/* 3. Explicit Light theme */
|
|
29
|
+
html[data-theme='light'],
|
|
30
|
+
body[data-theme='light'],
|
|
31
|
+
[data-theme='light'] {
|
|
32
|
+
@include light.theme-light-variables;
|
|
33
|
+
color-scheme: light;
|
|
34
|
+
}
|
package/styles/_ui.scss
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/* ==========================================================================
|
|
2
|
+
Purity Framework - Shared UI Components, Directives & Widgets Stylesheet
|
|
3
|
+
Imports all Adwaita glassmorphic component styles and tokens.
|
|
4
|
+
========================================================================== */
|
|
5
|
+
|
|
6
|
+
@use './index' as *;
|
|
7
|
+
|
|
8
|
+
// Behaviors
|
|
9
|
+
@use '../app/shared/behaviors/draggable/draggable';
|
|
10
|
+
@use '../app/shared/behaviors/droppable/droppable';
|
|
11
|
+
|
|
12
|
+
// Directives
|
|
13
|
+
@use '../app/shared/directives/highlight/highlight.directive';
|
|
14
|
+
@use '../app/shared/directives/dropdown/dropdown.directive';
|
|
15
|
+
|
|
16
|
+
// Components
|
|
17
|
+
@use '../app/shared/components/date-time-picker/date-time-picker.component';
|
|
18
|
+
@use '../app/shared/components/expander/expander.component';
|
|
19
|
+
@use '../app/shared/components/loader/loader.component';
|
|
20
|
+
@use '../app/shared/components/modal/modal-view.component';
|
|
21
|
+
@use '../app/shared/components/navigation-menu/navigation-menu.component';
|
|
22
|
+
@use '../app/shared/components/notification/notification.component';
|
|
23
|
+
@use '../app/shared/components/popover/popover.component';
|
|
24
|
+
@use '../app/shared/components/radial-context-menu/radial-context-menu.component';
|
|
25
|
+
@use '../app/shared/components/switch-button/switch-button.component';
|
|
26
|
+
|
|
27
|
+
// Widgets
|
|
28
|
+
@use '../app/shared/widgets/analogue-clock/analogue-clock.component';
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/* ==========================================================================
|
|
2
|
+
Purity Design System - Global Variables & Constants
|
|
3
|
+
Non-theme specific geometry, typography, spacing, and transition constants.
|
|
4
|
+
========================================================================== */
|
|
5
|
+
|
|
6
|
+
:root {
|
|
7
|
+
/* Typography */
|
|
8
|
+
--font-mono: 'Adwaita Mono', 'Source Code Pro', monospace;
|
|
9
|
+
--font-main: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
|
10
|
+
--font-size-xs: 12px;
|
|
11
|
+
--font-size-sm: 13.5px;
|
|
12
|
+
--font-size-base: 15px;
|
|
13
|
+
--font-size-lg: 18px;
|
|
14
|
+
--font-size-xl: 24px;
|
|
15
|
+
--font-size-xxl: 32px;
|
|
16
|
+
|
|
17
|
+
/* Geometry & Radii */
|
|
18
|
+
--radius-window: 16px;
|
|
19
|
+
--radius-control: 8px;
|
|
20
|
+
--radius-pill: 999px;
|
|
21
|
+
--radius-card: 12px;
|
|
22
|
+
|
|
23
|
+
/* Spacing Scale */
|
|
24
|
+
--spacing-xs: 4px;
|
|
25
|
+
--spacing-sm: 8px;
|
|
26
|
+
--spacing-md: 12px;
|
|
27
|
+
--spacing-lg: 16px;
|
|
28
|
+
--spacing-xl: 24px;
|
|
29
|
+
--spacing-xxl: 32px;
|
|
30
|
+
--header-max-width: 1366px;
|
|
31
|
+
|
|
32
|
+
/* Transitions & Animations */
|
|
33
|
+
--transition-fast: 0.18s;
|
|
34
|
+
--transition-normal: 0.28s;
|
|
35
|
+
--transition-slow: 0.45s;
|
|
36
|
+
--ease-gnome: cubic-bezier(0.25, 0.8, 0.25, 1);
|
|
37
|
+
--ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
|
|
38
|
+
|
|
39
|
+
/* Glassmorphism Blur Filters */
|
|
40
|
+
--blur-subtle: blur(10px) saturate(150%);
|
|
41
|
+
--blur-effect: blur(20px) saturate(175%);
|
|
42
|
+
--blur-heavy: blur(32px) saturate(190%);
|
|
43
|
+
|
|
44
|
+
/* Breeze Cursor Theme Tokens */
|
|
45
|
+
--cursor-default: url('/cursors/default.svg') 4 4, default;
|
|
46
|
+
--cursor-pointer: url('/cursors/pointer.svg') 16 4, pointer;
|
|
47
|
+
--cursor-text: url('/cursors/text.svg') 16 15, text;
|
|
48
|
+
--cursor-grab: url('/cursors/openhand.svg') 16 16, grab;
|
|
49
|
+
--cursor-grabbing: url('/cursors/dnd-move.svg') 16 16, grabbing;
|
|
50
|
+
--cursor-not-allowed: url('/cursors/not-allowed.svg') 16 15, not-allowed;
|
|
51
|
+
--cursor-crosshair: url('/cursors/crosshair.svg') 17 17, crosshair;
|
|
52
|
+
--cursor-help: url('/cursors/help.svg') 4 4, help;
|
|
53
|
+
--cursor-move: url('/cursors/all-scroll.svg') 15 15, move;
|
|
54
|
+
--cursor-col-resize: url('/cursors/col-resize.svg') 16 15, col-resize;
|
|
55
|
+
--cursor-row-resize: url('/cursors/row-resize.svg') 16 15, row-resize;
|
|
56
|
+
--cursor-ew-resize: url('/cursors/size_hor.svg') 16 15, ew-resize;
|
|
57
|
+
--cursor-ns-resize: url('/cursors/size_ver.svg') 16 15, ns-resize;
|
|
58
|
+
--cursor-nwse-resize: url('/cursors/size_bdiag.svg') 16 15, nwse-resize;
|
|
59
|
+
--cursor-nesw-resize: url('/cursors/size_fdiag.svg') 16 15, nesw-resize;
|
|
60
|
+
--cursor-zoom-in: url('/cursors/zoom-in.svg') 15 15, zoom-in;
|
|
61
|
+
--cursor-zoom-out: url('/cursors/zoom-out.svg') 15 15, zoom-out;
|
|
62
|
+
--cursor-context-menu: url('/cursors/context-menu.svg') 4 4, context-menu;
|
|
63
|
+
--cursor-progress: url('/cursors/progress-01.svg') 4 4, progress;
|
|
64
|
+
--cursor-wait: url('/cursors/wait-01.svg') 16 15, wait;
|
|
65
|
+
--cursor-copy: url('/cursors/copy.svg') 16 4, copy;
|
|
66
|
+
--cursor-alias: url('/cursors/alias.svg') 16 4, alias;
|
|
67
|
+
--cursor-cell: url('/cursors/cell.svg') 16 16, cell;
|
|
68
|
+
--cursor-color-picker: url('/cursors/color-picker.svg') 4 16, crosshair;
|
|
69
|
+
--cursor-pencil: url('/cursors/pencil.svg') 4 16, crosshair;
|
|
70
|
+
--cursor-vertical-text: url('/cursors/vertical-text.svg') 16 15, vertical-text;
|
|
71
|
+
--cursor-dnd-no-drop: url('/cursors/dnd-no-drop.svg') 16 15, no-drop;
|
|
72
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/* ==========================================================================
|
|
2
|
+
Purity Design System - Styles Module Index
|
|
3
|
+
Exposes variables and mixins for @use '@styles' as *; across components.
|
|
4
|
+
========================================================================== */
|
|
5
|
+
|
|
6
|
+
@forward './variables';
|
|
7
|
+
@forward './mixins';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import './draggable.scss';
|
|
2
|
+
export interface DraggableOptions {
|
|
3
|
+
selector: string;
|
|
4
|
+
constrainTo?: string;
|
|
5
|
+
handle?: string;
|
|
6
|
+
snapTo?: string;
|
|
7
|
+
onDragStart?: (el: HTMLElement) => void;
|
|
8
|
+
onDragMove?: (el: HTMLElement, x: number, y: number) => void;
|
|
9
|
+
onDragEnd?: (el: HTMLElement) => void;
|
|
10
|
+
}
|
|
11
|
+
export declare function drag(options: DraggableOptions): {
|
|
12
|
+
destroy: () => void;
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=draggable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"draggable.d.ts","sourceRoot":"","sources":["../../../../../../src/app/shared/behaviors/draggable/draggable.ts"],"names":[],"mappings":"AACA,OAAO,kBAAkB,CAAC;AAG1B,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,IAAI,CAAC;IACxC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,IAAI,CAAC;CACzC;AAED,wBAAgB,IAAI,CAAC,OAAO,EAAE,gBAAgB;;EAqO7C"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import './droppable.scss';
|
|
2
|
+
export interface DroppableOptions {
|
|
3
|
+
selector: string;
|
|
4
|
+
accepts?: string;
|
|
5
|
+
hoverClass?: string;
|
|
6
|
+
onDrop?: (draggedEl: HTMLElement) => void;
|
|
7
|
+
onEnter?: (draggedEl: HTMLElement) => void;
|
|
8
|
+
onLeave?: (draggedEl: HTMLElement) => void;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Registers an element as a drop target.
|
|
12
|
+
*/
|
|
13
|
+
export declare function droppable(options: DroppableOptions): {
|
|
14
|
+
destroy: () => void;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Internal helper for Draggable to find valid targets at coordinates without forced layout recalculations.
|
|
18
|
+
*/
|
|
19
|
+
export declare function findDropTarget(x: number, y: number, draggedEl: HTMLElement): {
|
|
20
|
+
element: HTMLElement;
|
|
21
|
+
options: DroppableOptions;
|
|
22
|
+
} | null;
|
|
23
|
+
//# sourceMappingURL=droppable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"droppable.d.ts","sourceRoot":"","sources":["../../../../../../src/app/shared/behaviors/droppable/droppable.ts"],"names":[],"mappings":"AACA,OAAO,kBAAkB,CAAC;AAE1B,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,KAAK,IAAI,CAAC;IAC1C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,KAAK,IAAI,CAAC;IAC3C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,KAAK,IAAI,CAAC;CAC9C;AAID;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,gBAAgB;;EAelD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW;aAzBrC,WAAW;aAAW,gBAAgB;SA0C3E"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import './date-time-picker.component.scss';
|
|
2
|
+
export interface DateRestriction {
|
|
3
|
+
minDate?: Date;
|
|
4
|
+
maxDate?: Date;
|
|
5
|
+
daysBack?: number;
|
|
6
|
+
daysForward?: number;
|
|
7
|
+
weeksBack?: number;
|
|
8
|
+
weeksForward?: number;
|
|
9
|
+
monthsBack?: number;
|
|
10
|
+
monthsForward?: number;
|
|
11
|
+
yearsBack?: number;
|
|
12
|
+
yearsForward?: number;
|
|
13
|
+
pastOnly?: boolean;
|
|
14
|
+
futureOnly?: boolean;
|
|
15
|
+
disabledDates?: Date[];
|
|
16
|
+
minTime?: string;
|
|
17
|
+
maxTime?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface CalendarDay {
|
|
20
|
+
date: Date;
|
|
21
|
+
time: number;
|
|
22
|
+
dateNum: number;
|
|
23
|
+
isCurrentMonth: boolean;
|
|
24
|
+
isToday: boolean;
|
|
25
|
+
isSelected: boolean;
|
|
26
|
+
isDisabled: boolean;
|
|
27
|
+
cellClass: string;
|
|
28
|
+
}
|
|
29
|
+
export declare class DateTimePickerComponent {
|
|
30
|
+
isOpen: import("purity-world/core").Signal<boolean>;
|
|
31
|
+
selectedDate: import("purity-world/core").Signal<Date | null>;
|
|
32
|
+
viewDate: import("purity-world/core").Signal<Date>;
|
|
33
|
+
enableBlur: import("purity-world/core").Signal<boolean>;
|
|
34
|
+
restrictions: import("purity-world/core").Signal<DateRestriction | null>;
|
|
35
|
+
workingDate: import("purity-world/core").Signal<Date | null>;
|
|
36
|
+
workingHours: import("purity-world/core").Signal<number>;
|
|
37
|
+
workingMinutes: import("purity-world/core").Signal<number>;
|
|
38
|
+
viewMode: import("purity-world/core").Signal<"calendar" | "year">;
|
|
39
|
+
placement: import("purity-world/core").Signal<"placement-bottom" | "placement-top">;
|
|
40
|
+
alignPlacement: import("purity-world/core").Signal<"align-left" | "align-right">;
|
|
41
|
+
onDateSelected?: (date: Date) => void;
|
|
42
|
+
private _hostEl?;
|
|
43
|
+
private _overlayEl?;
|
|
44
|
+
private _openedAt;
|
|
45
|
+
private _boundDocClick?;
|
|
46
|
+
private _boundKeydown?;
|
|
47
|
+
private _boundResize?;
|
|
48
|
+
private _boundScroll?;
|
|
49
|
+
private getHost;
|
|
50
|
+
protected onInit(): void;
|
|
51
|
+
onDestroy(): void;
|
|
52
|
+
disconnectedCallback(): void;
|
|
53
|
+
get effectiveMinDate(): Date | null;
|
|
54
|
+
get effectiveMaxDate(): Date | null;
|
|
55
|
+
get displayLabel(): string;
|
|
56
|
+
get monthYearLabel(): string;
|
|
57
|
+
get viewYear(): number;
|
|
58
|
+
get workingHoursFormatted(): string;
|
|
59
|
+
get workingMinutesFormatted(): string;
|
|
60
|
+
get calendarDays(): CalendarDay[];
|
|
61
|
+
get years(): number[];
|
|
62
|
+
private createCalendarDay;
|
|
63
|
+
private isDateDisabled;
|
|
64
|
+
private initWorkingState;
|
|
65
|
+
private updateOverlayPosition;
|
|
66
|
+
togglePicker(event?: MouseEvent): void;
|
|
67
|
+
open(): void;
|
|
68
|
+
close(): void;
|
|
69
|
+
onCalendarGridClick(event: MouseEvent): void;
|
|
70
|
+
onYearGridClick(event: MouseEvent): void;
|
|
71
|
+
selectDayByTime(time: number): void;
|
|
72
|
+
toggleYearPicker(): void;
|
|
73
|
+
selectYear(year: number): void;
|
|
74
|
+
prevMonth(): void;
|
|
75
|
+
nextMonth(): void;
|
|
76
|
+
onHoursInput(inputEl: HTMLInputElement): void;
|
|
77
|
+
onMinutesInput(inputEl: HTMLInputElement): void;
|
|
78
|
+
onTimeChange(): void;
|
|
79
|
+
handleTimeKeydown(event: KeyboardEvent, type?: 'hours' | 'minutes'): void;
|
|
80
|
+
handleWheel(event: WheelEvent, type: 'hours' | 'minutes'): void;
|
|
81
|
+
confirmSelection(): void;
|
|
82
|
+
private enforceTimeRestrictions;
|
|
83
|
+
private setWorkingTime;
|
|
84
|
+
setDate(date: Date | null): void;
|
|
85
|
+
setRestrictions(restrictions: DateRestriction | null): void;
|
|
86
|
+
setBlur(enable: boolean): void;
|
|
87
|
+
private emitSelection;
|
|
88
|
+
get value(): Date | null;
|
|
89
|
+
set value(val: any);
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=date-time-picker.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-time-picker.component.d.ts","sourceRoot":"","sources":["../../../../../../src/app/shared/components/date-time-picker/date-time-picker.component.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { type Signal } from 'purity-world/core';
|
|
2
|
+
import './expander.component.scss';
|
|
3
|
+
export declare class ExpanderComponent {
|
|
4
|
+
/** Reactive signal tracking whether the expander body is open or closed */
|
|
5
|
+
isExpanded: Signal<boolean>;
|
|
6
|
+
private hostEl;
|
|
7
|
+
private titleEl;
|
|
8
|
+
private cleanupEffect?;
|
|
9
|
+
private handleTitleClick;
|
|
10
|
+
private handleTitleKeydown;
|
|
11
|
+
/**
|
|
12
|
+
* Initializes the expander behavior and DOM bindings on the given host element.
|
|
13
|
+
*/
|
|
14
|
+
initOnHost(host: HTMLElement): void;
|
|
15
|
+
protected onInit(): void;
|
|
16
|
+
destroy(): void;
|
|
17
|
+
protected onDestroy(): void;
|
|
18
|
+
/**
|
|
19
|
+
* Toggles the expander between expanded and collapsed states.
|
|
20
|
+
*/
|
|
21
|
+
toggle(): void;
|
|
22
|
+
/**
|
|
23
|
+
* Expands the expander body (shows content).
|
|
24
|
+
*/
|
|
25
|
+
expand(): void;
|
|
26
|
+
/**
|
|
27
|
+
* Collapses the expander body (hides content).
|
|
28
|
+
*/
|
|
29
|
+
collapse(): void;
|
|
30
|
+
/**
|
|
31
|
+
* Helper returning standard icon classes based on expansion state.
|
|
32
|
+
*/
|
|
33
|
+
expandOrCollapseIcon(): string;
|
|
34
|
+
private dispatchToggleEvent;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=expander.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expander.component.d.ts","sourceRoot":"","sources":["../../../../../../src/app/shared/components/expander/expander.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,2BAA2B,CAAC;AAEnC,qBAIa,iBAAiB;IAC1B,2EAA2E;IACpE,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAA0B;IAE5D,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,aAAa,CAAC,CAAa;IAEnC,OAAO,CAAC,gBAAgB,CAMtB;IAEF,OAAO,CAAC,kBAAkB,CAKxB;IAEF;;OAEG;IACI,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAkEzC;IAED,SAAS,CAAC,MAAM,IAAI,IAAI,CAKvB;IAEM,OAAO,IAAI,IAAI,CAWrB;IAED,SAAS,CAAC,SAAS,IAAI,IAAI,CAE1B;IAED;;OAEG;IACI,MAAM,IAAI,IAAI,CAGpB;IAED;;OAEG;IACI,MAAM,IAAI,IAAI,CAKpB;IAED;;OAEG;IACI,QAAQ,IAAI,IAAI,CAKtB;IAED;;OAEG;IACI,oBAAoB,IAAI,MAAM,CAEpC;IAED,OAAO,CAAC,mBAAmB;CAY9B"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import './loader.component.scss';
|
|
2
|
+
export declare class LoaderComponent {
|
|
3
|
+
isLoading: import("purity-world/core").Signal<boolean>;
|
|
4
|
+
message: import("purity-world/core").Signal<string>;
|
|
5
|
+
private isHoldingCursor;
|
|
6
|
+
protected onInit(): void;
|
|
7
|
+
protected onDestroy(): void;
|
|
8
|
+
/**
|
|
9
|
+
* Shows the loader with default 'Loading...' text or custom text.
|
|
10
|
+
*/
|
|
11
|
+
show(msg?: string): void;
|
|
12
|
+
/**
|
|
13
|
+
* Hides the loader.
|
|
14
|
+
*/
|
|
15
|
+
hide(): void;
|
|
16
|
+
/**
|
|
17
|
+
* Toggles the loader visibility.
|
|
18
|
+
*/
|
|
19
|
+
toggle(visible?: boolean, msg?: string): void;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=loader.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.component.d.ts","sourceRoot":"","sources":["../../../../../../src/app/shared/components/loader/loader.component.ts"],"names":[],"mappings":"AACA,OAAO,yBAAyB,CAAC;AAEjC,qBAIa,eAAe;IACjB,SAAS,yCAA0B;IACnC,OAAO,wCAAgC;IAE9C,OAAO,CAAC,eAAe,CAAS;IAEhC,SAAS,CAAC,MAAM,IAAI,IAAI,CA2BvB;IAED,SAAS,CAAC,SAAS,IAAI,IAAI,CAK1B;IAGD;;OAEG;IACI,IAAI,CAAC,GAAG,GAAE,MAAqB,GAAG,IAAI,CAG5C;IAED;;OAEG;IACI,IAAI,IAAI,IAAI,CAElB;IAED;;OAEG;IACI,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,GAAG,GAAE,MAAqB,GAAG,IAAI,CAOjE;CACJ"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import './modal-view.component.scss';
|
|
2
|
+
export declare class ModalViewComponent {
|
|
3
|
+
isOpen: import("purity-world/core").Signal<boolean>;
|
|
4
|
+
isMaximized: import("purity-world/core").Signal<boolean>;
|
|
5
|
+
title: import("purity-world/core").Signal<string>;
|
|
6
|
+
private _hostEl?;
|
|
7
|
+
private _backdropEl?;
|
|
8
|
+
private keydownHandler;
|
|
9
|
+
protected onInit(): void;
|
|
10
|
+
protected onDestroy(): void;
|
|
11
|
+
disconnectedCallback(): void;
|
|
12
|
+
open(options?: {
|
|
13
|
+
title?: string;
|
|
14
|
+
}): void;
|
|
15
|
+
close(): void;
|
|
16
|
+
maximize(): void;
|
|
17
|
+
onBackdropClick(event: MouseEvent): void;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=modal-view.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modal-view.component.d.ts","sourceRoot":"","sources":["../../../../../../src/app/shared/components/modal/modal-view.component.ts"],"names":[],"mappings":"AACA,OAAO,6BAA6B,CAAC;AAErC,qBAIa,kBAAkB;IAC3B,MAAM,yCAA0B;IAChC,WAAW,yCAA0B;IACrC,KAAK,wCAAyC;IAE9C,OAAO,CAAC,OAAO,CAAC,CAAqB;IACrC,OAAO,CAAC,WAAW,CAAC,CAAqB;IAEzC,OAAO,CAAC,cAAc,CAIpB;IAEF,SAAS,CAAC,MAAM,SAoBf;IAED,SAAS,CAAC,SAAS,SAKlB;IAED,oBAAoB,SAEnB;IAED,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,QAahC;IAED,KAAK,SAEJ;IAED,QAAQ,SAEP;IAED,eAAe,CAAC,KAAK,EAAE,UAAU,QAIhC;CACJ"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import './navigation-menu.component.scss';
|
|
2
|
+
import '../radial-context-menu/radial-context-menu.component';
|
|
3
|
+
import type { MenuItem } from '../radial-context-menu/radial-context-menu.component';
|
|
4
|
+
export declare class NavigationMenuComponent {
|
|
5
|
+
private themeService;
|
|
6
|
+
isOpen: import("purity-world/core").Signal<boolean>;
|
|
7
|
+
private radialMenu?;
|
|
8
|
+
private navBallEl?;
|
|
9
|
+
private dragInstance?;
|
|
10
|
+
private wasDragged;
|
|
11
|
+
protected onInit(): void;
|
|
12
|
+
onDestroy(): void;
|
|
13
|
+
disconnectedCallback(): void;
|
|
14
|
+
private initDrag;
|
|
15
|
+
private initMenu;
|
|
16
|
+
onOrbClick(event: MouseEvent): void;
|
|
17
|
+
handleNavigate(item: MenuItem): void;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=navigation-menu.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigation-menu.component.d.ts","sourceRoot":"","sources":["../../../../../../src/app/shared/components/navigation-menu/navigation-menu.component.ts"],"names":[],"mappings":"AAEA,OAAO,kCAAkC,CAAC;AAC1C,OAAO,+DAA+D,CAAC;AACvE,OAAO,KAAK,EAA8B,QAAQ,EAAE,MAAM,+DAA+D,CAAC;AAG1H,qBAIa,uBAAuB;IAChC,OAAO,CAAC,YAAY,CAAwB;IACrC,MAAM,yCAA0B;IAGvC,OAAO,CAAC,UAAU,CAAC,CAAoC;IAGvD,OAAO,CAAC,SAAS,CAAC,CAAqB;IAEvC,OAAO,CAAC,YAAY,CAAC,CAAiC;IACtD,OAAO,CAAC,UAAU,CAAS;IAE3B,SAAS,CAAC,MAAM,IAAI,IAAI,CAGvB;IAEM,SAAS,IAAI,IAAI,CAEvB;IAEM,oBAAoB,IAAI,IAAI,CAElC;IAED,OAAO,CAAC,QAAQ;IAiBhB,OAAO,CAAC,QAAQ;IA8ET,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CA6BzC;IAEM,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAiD1C;CACJ"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type NotificationItem, type NotificationPosition } from '../../../../data/notify.service';
|
|
2
|
+
import './notification.component.scss';
|
|
3
|
+
export interface PositionGroup {
|
|
4
|
+
position: NotificationPosition;
|
|
5
|
+
items: NotificationItem[];
|
|
6
|
+
}
|
|
7
|
+
export declare class NotificationComponent {
|
|
8
|
+
private notifyService;
|
|
9
|
+
positionGroups: import("purity-world/core").Signal<PositionGroup[]>;
|
|
10
|
+
protected onInit(): void;
|
|
11
|
+
dismiss(id: string): void;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=notification.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notification.component.d.ts","sourceRoot":"","sources":["../../../../../../src/app/shared/components/notification/notification.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,KAAK,gBAAgB,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACvG,OAAO,+BAA+B,CAAC;AAEvC,MAAM,WAAW,aAAa;IAC1B,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,KAAK,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAYD,qBAIa,qBAAqB;IAC9B,OAAO,CAAC,aAAa,CAAyB;IACvC,cAAc,iDAA+B;IAEpD,SAAS,CAAC,MAAM,IAAI,IAAI,CAevB;IAEM,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAE/B;CACJ"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { BaseDirective } from 'purity-world/core';
|
|
2
|
+
import './popover.component.scss';
|
|
3
|
+
export type PopoverPosition = 'top' | 'bottom' | 'left' | 'right';
|
|
4
|
+
export declare class PopoverComponent {
|
|
5
|
+
isOpen: import("purity-world/core").Signal<boolean>;
|
|
6
|
+
targetFor: import("purity-world/core").Signal<string>;
|
|
7
|
+
position: import("purity-world/core").Signal<PopoverPosition>;
|
|
8
|
+
effectivePosition: import("purity-world/core").Signal<PopoverPosition>;
|
|
9
|
+
offset: number;
|
|
10
|
+
closeDelay: number;
|
|
11
|
+
private _portalEl;
|
|
12
|
+
private _targetEl;
|
|
13
|
+
private _closeTimer;
|
|
14
|
+
private _boundOnTargetEnter;
|
|
15
|
+
private _boundOnTargetLeave;
|
|
16
|
+
private _boundOnPopoverEnter;
|
|
17
|
+
private _boundOnPopoverLeave;
|
|
18
|
+
private _boundOnWindowChange;
|
|
19
|
+
protected onInit(): void;
|
|
20
|
+
onDestroy(): void;
|
|
21
|
+
disconnectedCallback(): void;
|
|
22
|
+
bindTargetListeners(): void;
|
|
23
|
+
unbindTargetListeners(): void;
|
|
24
|
+
setTargetFor(selector: string): void;
|
|
25
|
+
setPosition(pos: PopoverPosition): void;
|
|
26
|
+
open(customTarget?: HTMLElement | string): void;
|
|
27
|
+
close(): void;
|
|
28
|
+
toggle(customTarget?: HTMLElement | string): void;
|
|
29
|
+
updatePosition(): void;
|
|
30
|
+
handleTargetEnter(): void;
|
|
31
|
+
handleTargetLeave(): void;
|
|
32
|
+
handlePopoverEnter(): void;
|
|
33
|
+
handlePopoverLeave(): void;
|
|
34
|
+
private scheduleClose;
|
|
35
|
+
private clearCloseTimer;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Directive that enhances `<popover>` tags or `[popover]` elements to act as a PopoverComponent
|
|
39
|
+
*/
|
|
40
|
+
export declare class PopoverDirective extends BaseDirective {
|
|
41
|
+
private instance?;
|
|
42
|
+
onInit(): void;
|
|
43
|
+
onDestroy(): void;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=popover.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"popover.component.d.ts","sourceRoot":"","sources":["../../../../../../src/app/shared/components/popover/popover.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,aAAa,EAAkB,MAAM,cAAc,CAAC;AACnF,OAAO,0BAA0B,CAAC;AAElC,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAElE,qBAIa,gBAAgB;IAElB,MAAM,yCAA0B;IAChC,SAAS,wCAAsB;IAC/B,QAAQ,iDAAqC;IAC7C,iBAAiB,iDAAqC;IAEtD,MAAM,SAAK;IACX,UAAU,SAAO;IAExB,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,mBAAmB,CAAkC;IAC7D,OAAO,CAAC,mBAAmB,CAAkC;IAC7D,OAAO,CAAC,oBAAoB,CAAmC;IAC/D,OAAO,CAAC,oBAAoB,CAAmC;IAC/D,OAAO,CAAC,oBAAoB,CAI1B;IAEF,SAAS,CAAC,MAAM,IAAI,IAAI,CAyDvB;IAEM,SAAS,IAAI,IAAI,CAgBvB;IAEM,oBAAoB,IAAI,IAAI,CAElC;IAEM,mBAAmB,IAAI,IAAI,CAYjC;IAEM,qBAAqB,IAAI,IAAI,CAMnC;IAEM,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAG1C;IAEM,WAAW,CAAC,GAAG,EAAE,eAAe,GAAG,IAAI,CAQ7C;IAEM,IAAI,CAAC,YAAY,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAiCrD;IAEM,KAAK,IAAI,IAAI,CAOnB;IAEM,MAAM,CAAC,YAAY,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAMvD;IAEM,cAAc,IAAI,IAAI,CA8E5B;IAEM,iBAAiB,IAAI,IAAI,CAE/B;IAEM,iBAAiB,IAAI,IAAI,CAE/B;IAEM,kBAAkB,IAAI,IAAI,CAEhC;IAEM,kBAAkB,IAAI,IAAI,CAEhC;IAED,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,eAAe;CAM1B;AAED;;GAEG;AACH,qBACa,gBAAiB,SAAQ,aAAa;IAC/C,OAAO,CAAC,QAAQ,CAAC,CAAmB;IAE7B,MAAM,IAAI,IAAI,CAmDpB;IAEM,SAAS,IAAI,IAAI,CAEvB;CACJ"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import './radial-context-menu.component.scss';
|
|
2
|
+
export interface MenuItem {
|
|
3
|
+
name: string;
|
|
4
|
+
image?: string;
|
|
5
|
+
children?: MenuItem[];
|
|
6
|
+
data?: any;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare class RadialContextMenuComponent {
|
|
10
|
+
itemsSource: import("purity-world/core").Signal<MenuItem[]>;
|
|
11
|
+
navigationStack: import("purity-world/core").Signal<MenuItem[]>;
|
|
12
|
+
isOpen: import("purity-world/core").Signal<boolean>;
|
|
13
|
+
coords: import("purity-world/core").Signal<{
|
|
14
|
+
x: number;
|
|
15
|
+
y: number;
|
|
16
|
+
}>;
|
|
17
|
+
radius: import("purity-world/core").Signal<number>;
|
|
18
|
+
activeHoverItem: import("purity-world/core").Signal<MenuItem | null>;
|
|
19
|
+
selector: import("purity-world/core").Signal<string | null>;
|
|
20
|
+
enableBlur: import("purity-world/core").Signal<boolean>;
|
|
21
|
+
onSelectItem?: (item: MenuItem) => void;
|
|
22
|
+
onHover?: (item: MenuItem | null) => void;
|
|
23
|
+
onOpen?: () => void;
|
|
24
|
+
onClose?: () => void;
|
|
25
|
+
onNavigate?: (item: MenuItem | null, depth: number) => void;
|
|
26
|
+
private menuEl;
|
|
27
|
+
private titlePopEl;
|
|
28
|
+
private centerBtnEl;
|
|
29
|
+
private itemsContainerEl;
|
|
30
|
+
private _openedAt;
|
|
31
|
+
private _boundContextMenu?;
|
|
32
|
+
private _boundClick?;
|
|
33
|
+
private _boundKeydown?;
|
|
34
|
+
protected onInit(): void;
|
|
35
|
+
onDestroy(): void;
|
|
36
|
+
disconnectedCallback(): void;
|
|
37
|
+
private createMenuDOM;
|
|
38
|
+
get currentItems(): MenuItem[];
|
|
39
|
+
get centerIcon(): string;
|
|
40
|
+
get centerTitle(): string;
|
|
41
|
+
private getPoint;
|
|
42
|
+
setItems(items: MenuItem[]): void;
|
|
43
|
+
setSelector(selector: string | null): void;
|
|
44
|
+
setBlur(enable: boolean): void;
|
|
45
|
+
open(x?: number, y?: number): void;
|
|
46
|
+
close(): void;
|
|
47
|
+
navigateTo(item: MenuItem): void;
|
|
48
|
+
goBack(): void;
|
|
49
|
+
updateCenterButton(): void;
|
|
50
|
+
renderSegments(direction?: 'in' | 'out'): void;
|
|
51
|
+
private createSegmentElement;
|
|
52
|
+
private onDocumentContextMenu;
|
|
53
|
+
private onDocumentClick;
|
|
54
|
+
private onDocumentKeydown;
|
|
55
|
+
private emitEvent;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=radial-context-menu.component.d.ts.map
|
package/types/app/shared/components/radial-context-menu/radial-context-menu.component.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"radial-context-menu.component.d.ts","sourceRoot":"","sources":["../../../../../../src/app/shared/components/radial-context-menu/radial-context-menu.component.ts"],"names":[],"mappings":"AACA,OAAO,sCAAsC,CAAC;AAE9C,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,qBAIa,0BAA0B;IAE5B,WAAW,4CAA0B;IACrC,eAAe,4CAA0B;IACzC,MAAM,yCAA0B;IAChC,MAAM;WAAe,MAAM;WAAK,MAAM;OAAoB;IAC1D,MAAM,wCAAuB;IAC7B,eAAe,iDAAiC;IAChD,QAAQ,+CAA+B;IACvC,UAAU,yCAAyB;IAGnC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACxC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1C,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAGnE,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,CAAC,SAAS,CAAK;IAEtB,OAAO,CAAC,iBAAiB,CAAC,CAA0B;IACpD,OAAO,CAAC,WAAW,CAAC,CAA0B;IAC9C,OAAO,CAAC,aAAa,CAAC,CAA6B;IAEnD,SAAS,CAAC,MAAM,IAAI,IAAI,CASvB;IAEM,SAAS,IAAI,IAAI,CAYvB;IAEM,oBAAoB,IAAI,IAAI,CAElC;IAED,OAAO,CAAC,aAAa;IAuCrB,IAAW,YAAY,IAAI,QAAQ,EAAE,CAMpC;IAED,IAAW,UAAU,IAAI,MAAM,CAE9B;IAED,IAAW,WAAW,IAAI,MAAM,CAU/B;IAED,OAAO,CAAC,QAAQ;IAST,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAQvC;IAEM,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAEhD;IAEM,OAAO,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CASpC;IAEM,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAyCxC;IAEM,KAAK,IAAI,IAAI,CAanB;IAEM,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAStC;IAEM,MAAM,IAAI,IAAI,CAepB;IAEM,kBAAkB,IAAI,IAAI,CAsBhC;IAEM,cAAc,CAAC,SAAS,GAAE,IAAI,GAAG,KAAY,GAAG,IAAI,CAyC1D;IAED,OAAO,CAAC,oBAAoB;IA0G5B,OAAO,CAAC,qBAAqB;IAa7B,OAAO,CAAC,eAAe;IAmBvB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,SAAS;CAUpB"}
|