@vanjana/vue-ui 0.1.59

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.
Files changed (108) hide show
  1. package/dist/theme-light.css +1 -0
  2. package/dist/theme-light.js +1 -0
  3. package/dist/types/components/button-bar.vue.d.ts +15 -0
  4. package/dist/types/components/button.vue.d.ts +11 -0
  5. package/dist/types/components/card.vue.d.ts +21 -0
  6. package/dist/types/components/carousel.vue.d.ts +21 -0
  7. package/dist/types/components/checkbox.vue.d.ts +15 -0
  8. package/dist/types/components/data/data.vue.d.ts +7 -0
  9. package/dist/types/components/dialog.vue.d.ts +47 -0
  10. package/dist/types/components/dot-menu.vue.d.ts +16 -0
  11. package/dist/types/components/form/form-field.vue.d.ts +33 -0
  12. package/dist/types/components/form/form-layout.vue.d.ts +34 -0
  13. package/dist/types/components/form/form-section.vue.d.ts +16 -0
  14. package/dist/types/components/form/index.d.ts +10 -0
  15. package/dist/types/components/form/input-select.vue.d.ts +34 -0
  16. package/dist/types/components/form/input-slider.vue.d.ts +19 -0
  17. package/dist/types/components/form/input-text-area.vue.d.ts +17 -0
  18. package/dist/types/components/form/input-text.vue.d.ts +14 -0
  19. package/dist/types/components/form/input.vue.d.ts +23 -0
  20. package/dist/types/components/form/select.vue.d.ts +43 -0
  21. package/dist/types/components/form/textarea.vue.d.ts +23 -0
  22. package/dist/types/components/icon.vue.d.ts +8 -0
  23. package/dist/types/components/index.d.ts +20 -0
  24. package/dist/types/components/link-button.vue.d.ts +13 -0
  25. package/dist/types/components/menu-action.vue.d.ts +8 -0
  26. package/dist/types/components/menu.vue.d.ts +13 -0
  27. package/dist/types/components/nav-bar.vue.d.ts +3 -0
  28. package/dist/types/components/page.vue.d.ts +28 -0
  29. package/dist/types/components/paginator.vue.d.ts +36 -0
  30. package/dist/types/components/search-field.vue.d.ts +17 -0
  31. package/dist/types/components/separator.vue.d.ts +6 -0
  32. package/dist/types/components/shell/index.d.ts +4 -0
  33. package/dist/types/components/shell/shell-navigation-item.vue.d.ts +8 -0
  34. package/dist/types/components/shell/shell-navigation.vue.d.ts +13 -0
  35. package/dist/types/components/shell/shell.vue.d.ts +20 -0
  36. package/dist/types/components/slider.vue.d.ts +22 -0
  37. package/dist/types/components/tab-view.vue.d.ts +20 -0
  38. package/dist/types/components/tab.vue.d.ts +17 -0
  39. package/dist/types/directives/focus.directive.d.ts +28 -0
  40. package/dist/types/directives/index.d.ts +1 -0
  41. package/dist/types/index.d.ts +1 -0
  42. package/dist/types/model/FormFieldProps.d.ts +11 -0
  43. package/dist/types/model/IconSize.d.ts +5 -0
  44. package/dist/types/model/Icons.d.ts +39 -0
  45. package/dist/types/model/VjRouteRecord.d.ts +12 -0
  46. package/dist/types/model/index.d.ts +4 -0
  47. package/dist/types/provider/index.d.ts +2 -0
  48. package/dist/types/provider/router-navigation-provider.d.ts +19 -0
  49. package/dist/types/provider/static-navigation-provider.d.ts +26 -0
  50. package/dist/types/public-api.d.ts +9 -0
  51. package/dist/types/services/aside.service.d.ts +247 -0
  52. package/dist/types/services/aside.store.d.ts +257 -0
  53. package/dist/types/services/debounce.d.ts +1 -0
  54. package/dist/types/services/dialog.service.d.ts +31 -0
  55. package/dist/types/services/index.d.ts +3 -0
  56. package/dist/types/stories/components/AsideDemo.vue.d.ts +8 -0
  57. package/dist/types/stories/components/button.stories.d.ts +77 -0
  58. package/dist/types/stories/components/card.stories.d.ts +49 -0
  59. package/dist/types/stories/components/carousel.stories.d.ts +122 -0
  60. package/dist/types/stories/components/checkbox.stories.d.ts +68 -0
  61. package/dist/types/stories/components/data.stories.d.ts +10 -0
  62. package/dist/types/stories/components/dialog.stories.d.ts +116 -0
  63. package/dist/types/stories/components/dot-menu.stories.d.ts +67 -0
  64. package/dist/types/stories/components/form-field.stories.d.ts +28 -0
  65. package/dist/types/stories/components/form-layout.stories.d.ts +87 -0
  66. package/dist/types/stories/components/icon.stories.d.ts +42 -0
  67. package/dist/types/stories/components/input-slider.stories.d.ts +6 -0
  68. package/dist/types/stories/components/input-text.stories.d.ts +12 -0
  69. package/dist/types/stories/components/input.stories.d.ts +62 -0
  70. package/dist/types/stories/components/menu-action.stories.d.ts +60 -0
  71. package/dist/types/stories/components/page.stories.d.ts +103 -0
  72. package/dist/types/stories/components/paginator.stories.d.ts +11 -0
  73. package/dist/types/stories/components/search-field.stories.d.ts +48 -0
  74. package/dist/types/stories/components/select.stories.d.ts +13 -0
  75. package/dist/types/stories/components/shell.stories.d.ts +96 -0
  76. package/dist/types/stories/components/slider.stories.d.ts +10 -0
  77. package/dist/types/stories/components/tab-view.stories.d.ts +118 -0
  78. package/dist/types/stories/components/textarea.stories.d.ts +62 -0
  79. package/dist/types/stories/router.d.ts +2 -0
  80. package/dist/types/theme-light.d.ts +2 -0
  81. package/dist/vanjana-vue-ui.es.js +2862 -0
  82. package/dist/vanjana-vue-ui.umd.js +1 -0
  83. package/dist/vue-ui.css +1 -0
  84. package/package.json +79 -0
  85. package/themes/common/_components.scss +19 -0
  86. package/themes/common/_mixins.scss +78 -0
  87. package/themes/common/components/_button-bar.scss +8 -0
  88. package/themes/common/components/_button.scss +44 -0
  89. package/themes/common/components/_card.scss +21 -0
  90. package/themes/common/components/_checkbox.scss +26 -0
  91. package/themes/common/components/_dialog.scss +15 -0
  92. package/themes/common/components/_dot-menu.scss +10 -0
  93. package/themes/common/components/_icon.scss +11 -0
  94. package/themes/common/components/_menu-action.scss +10 -0
  95. package/themes/common/components/_menu.scss +6 -0
  96. package/themes/common/components/_page.scss +21 -0
  97. package/themes/common/components/_search-field.scss +34 -0
  98. package/themes/common/components/_shell.scss +101 -0
  99. package/themes/common/components/_tab-view.scss +40 -0
  100. package/themes/common/components/_tab.scss +12 -0
  101. package/themes/common/components/form/_form-field.scss +32 -0
  102. package/themes/common/components/form/_input.scss +40 -0
  103. package/themes/common/components/form/_select.scss +60 -0
  104. package/themes/common/components/form/_textarea.scss +38 -0
  105. package/themes/default.scss +12 -0
  106. package/themes/light/_shell.scss +56 -0
  107. package/themes/light/theme.scss +51 -0
  108. package/themes/mixins.scss +1 -0
@@ -0,0 +1,101 @@
1
+ @use "../mixins" as *;
2
+
3
+ .shell {
4
+ padding: 0;
5
+
6
+ > header {
7
+ padding: var(--space-s);
8
+
9
+ .shell-title {
10
+ gap: var(--space-m);
11
+ img {
12
+ width: 40px;
13
+ height: 40px;
14
+ }
15
+ }
16
+
17
+ .header-actions {
18
+ display: flex;
19
+ gap: var(--space-s);
20
+ }
21
+
22
+ --application__color: blue;
23
+ --application-gradient: linear-gradient(90deg, #e0f7ff 0%, #c5dbff 20%, #fff9e6 50%, #ffe4f0 75%, #ffd9f2 100%);
24
+ border-bottom: solid var(--space-s) var(--application__color);
25
+ border-image-slice: 1;
26
+ border-image-source: var(--application-gradient);
27
+ }
28
+
29
+ .shell-content {
30
+ main {
31
+ padding: 0;
32
+ overflow: auto;
33
+ }
34
+
35
+ aside {
36
+ border-left: 1px solid var(--color-border);
37
+ }
38
+
39
+ &.with-navigation {
40
+ main {
41
+ padding: 0 var(--space-m);
42
+ }
43
+ }
44
+ }
45
+
46
+ .shell-navigation {
47
+ flex-basis: 4rem;
48
+ border-radius: 0 10px 20px 0 !important;
49
+ border-bottom: var(--border-footer) !important;
50
+
51
+ @include useColor("navigation");
52
+ @include container();
53
+
54
+ ul {
55
+ padding: 0;
56
+ margin: 0;
57
+ gap: var(--space-s);
58
+
59
+ .shell-navigation-item {
60
+ padding: 0;
61
+ margin: 0;
62
+
63
+ .shell-navigation-item-link {
64
+ padding: var(--space-m) var(--space-s);
65
+ text-decoration: none;
66
+ border-left: solid 5px transparent;
67
+ transition: all 0.2s ease;
68
+
69
+ .shell-navigation-icon {
70
+ font-size: 1.5rem;
71
+ }
72
+
73
+ @include useColor("navigation-item");
74
+
75
+ &:hover {
76
+ @include useColor("navigation-hover");
77
+ border-left: solid 5px currentColor;
78
+ }
79
+ &.router-link-active {
80
+ @include useColor("navigation-hover");
81
+ border-left: solid 5px currentColor;
82
+ background-color: rgba(255, 255, 255, 0.5);
83
+ }
84
+ }
85
+ }
86
+ }
87
+
88
+ .shell-navigation-item-label {
89
+ display: none;
90
+ }
91
+ &.with-labels {
92
+ .shell-navigation-item-label {
93
+ display: inline;
94
+ }
95
+ }
96
+
97
+ .navigation-bottom {
98
+ margin-top: auto;
99
+ }
100
+ }
101
+ }
@@ -0,0 +1,40 @@
1
+ @use "../mixins" as *;
2
+
3
+ .tab-view {
4
+ .tab-view-header {
5
+ gap: var(--space-s);
6
+ position: relative;
7
+
8
+ .tab-button {
9
+ padding: var(--space-s) var(--space-l);
10
+ background: none;
11
+ border: none;
12
+ cursor: pointer;
13
+ transition: color 0.2s;
14
+ @include useFont("button");
15
+ @include useColor("tab");
16
+
17
+ &:hover {
18
+ @include useColor("tab-hover");
19
+ }
20
+
21
+ &.active {
22
+ @include useColor("tab-active");
23
+ }
24
+ }
25
+ }
26
+ }
27
+
28
+ .tab-indicator {
29
+ height: var(--tab-indicator-height);
30
+ background-color: var(--color-border-highlight);
31
+ transition: all 0.3s ease;
32
+ }
33
+ .tab-line {
34
+ height: var(--tab-indicator-height);
35
+ background-color: var(--color-border);
36
+ }
37
+
38
+ .tab-view-content {
39
+ flex: 1;
40
+ }
@@ -0,0 +1,12 @@
1
+ .tab {
2
+ animation: fadeIn 0.2s ease-in;
3
+ }
4
+
5
+ @keyframes fadeIn {
6
+ from {
7
+ opacity: 0;
8
+ }
9
+ to {
10
+ opacity: 1;
11
+ }
12
+ }
@@ -0,0 +1,32 @@
1
+ @use "../../mixins" as *;
2
+
3
+ .form-field {
4
+ margin-top: var(--space-s);
5
+ font-family: inherit;
6
+
7
+ /* LABEL */
8
+ .form-field__label {
9
+ left: 8px;
10
+ padding: 0 var(--space-xs);
11
+ @include useFont("caption");
12
+ @include useColor("input-label");
13
+ }
14
+
15
+ .form-field__label--float {
16
+ left: 12px;
17
+ @include useFont("caption");
18
+ @include useColor("input-label-floating");
19
+ }
20
+
21
+ &.disabled {
22
+ opacity: var(--opacity-disabled);
23
+ }
24
+
25
+ &.labelless {
26
+ margin-top: 0;
27
+
28
+ .form-field__label {
29
+ display: none;
30
+ }
31
+ }
32
+ }
@@ -0,0 +1,40 @@
1
+ @use "../../mixins" as *;
2
+
3
+ .input {
4
+ padding: var(--space-s) var(--space-l);
5
+ border-radius: var(--border-radius-input);
6
+ outline: var(--border-input);
7
+ outline-offset: -1px;
8
+ gap: var(--space-s);
9
+
10
+ @include useFont("input");
11
+ @include useColor("input");
12
+
13
+ > * {
14
+ align-self: center;
15
+ width: 100%;
16
+ }
17
+
18
+ &:focus-within {
19
+ @include inputFocus();
20
+ }
21
+
22
+ input {
23
+ border: none;
24
+ outline: none;
25
+ padding: 0;
26
+ margin: 0 var(--space-s);
27
+ background: transparent;
28
+ font: inherit;
29
+ color: inherit;
30
+
31
+ &:disabled {
32
+ opacity: 0.5;
33
+ cursor: not-allowed;
34
+ }
35
+ }
36
+
37
+ .clear-icon {
38
+ transition: opacity 0.2s ease-in;
39
+ }
40
+ }
@@ -0,0 +1,60 @@
1
+ @use "../../mixins" as *;
2
+
3
+ .select:not(.form-field--control) {
4
+ .select-trigger {
5
+ border: var(--border-input);
6
+ border-radius: var(--border-radius-input);
7
+ padding: var(--space-s) var(--space-m);
8
+ text-align: left;
9
+ transition: all 0.2s;
10
+ height: 40px;
11
+ outline: var(--border-input);
12
+ outline-offset: -1px;
13
+
14
+ @include useColor("input");
15
+ @include useFont("input");
16
+
17
+ &:hover:not(:disabled) {
18
+ @include useColor("input-hover");
19
+ border-color: var(--color-primary);
20
+ }
21
+
22
+ &:focus-visible {
23
+ @include inputFocus();
24
+ }
25
+ }
26
+
27
+ .select-placeholder {
28
+ color: var(--color-text-secondary);
29
+ }
30
+
31
+ .select-dropdown {
32
+ background-color: var(--color-background);
33
+ border-color: var(--color-border);
34
+ border-radius: var(--border-radius-s);
35
+ }
36
+
37
+ .select-option {
38
+ &:hover,
39
+ &.highlighted {
40
+ background-color: var(--color-hover);
41
+ }
42
+
43
+ &.selected {
44
+ background-color: var(--color-primary-light);
45
+ color: var(--color-primary);
46
+ }
47
+ }
48
+ }
49
+
50
+ // Select im FormField
51
+ .select.form-field--control {
52
+ .select-trigger {
53
+ @include useFont("input");
54
+ @include useColor("input");
55
+ }
56
+
57
+ .select-placeholder {
58
+ color: var(--color-text-secondary);
59
+ }
60
+ }
@@ -0,0 +1,38 @@
1
+ @use "../../mixins" as *;
2
+
3
+ .textarea {
4
+ padding: var(--space-s) var(--space-l);
5
+ border-radius: var(--border-radius-input);
6
+ outline: var(--border-input);
7
+ outline-offset: -1px;
8
+
9
+ @include useFont("input");
10
+ @include useColor("input");
11
+
12
+ > * {
13
+ align-self: flex-start;
14
+ }
15
+
16
+ &:focus-within {
17
+ @include inputFocus();
18
+ }
19
+
20
+ textarea {
21
+ border: none;
22
+ outline: none;
23
+ padding: 0;
24
+ margin: 0 var(--space-s);
25
+ background: transparent;
26
+ font: inherit;
27
+ color: inherit;
28
+
29
+ &:disabled {
30
+ opacity: 0.5;
31
+ cursor: not-allowed;
32
+ }
33
+ }
34
+
35
+ .clear-icon {
36
+ transition: opacity 0.2s ease-in;
37
+ }
38
+ }
@@ -0,0 +1,12 @@
1
+ :root {
2
+ --box-shadow-container: rgba(0, 0, 0, 0.24) 0px 3px 8px;
3
+ --padding-container: 0.5rem;
4
+ --border-radius-component: 6px;
5
+ --border-radius-container: 4px;
6
+
7
+ --space-xs: 0.25rem;
8
+ --space-s: 0.5rem;
9
+ --space-m: 0.75rem;
10
+ --space-l: 1em;
11
+ --space-xl: 1.5rem;
12
+ }
@@ -0,0 +1,56 @@
1
+ @mixin glassbox($bordered: true, $color: #7b7fdf) {
2
+ background: $color;
3
+ color: white;
4
+ border-radius: 4px;
5
+ backdrop-filter: blur(8px);
6
+ -webkit-backdrop-filter: blur(8px);
7
+ @if $bordered {
8
+ padding: var(--space-m);
9
+ border: solid 1px #ffffff90;
10
+ }
11
+ }
12
+
13
+ body {
14
+ @include glassbox(false, #6664d0);
15
+ }
16
+
17
+ .shell {
18
+ > header {
19
+ @include glassbox(false, #6664d0);
20
+
21
+ h1 {
22
+ @include glassbox();
23
+ // @include glassbox(true, linear-gradient(135deg, #8b5fbf 0%, #6b46c1 50%, #553c9a 100%));
24
+ // @include glassbox(true, radial-gradient(circle, #8b5fbf 0%, #553c9a 100%));
25
+ // @include glassbox(true, radial-gradient(ellipse, #a78bfa 0%, #7c3aed 70%, #6d28d9 100%));
26
+
27
+ // @include glassbox(true, radial-gradient(circle at center, #8b5cf6 0%, #6b46c1 100%));
28
+ // @include glassbox(true, radial-gradient(circle at top left, #8b5cf6 0%, #553c9a 100%));
29
+ // @include glassbox(true, radial-gradient(ellipse at center, #a855f7 0%, #8b5cf6 40%, #ec4899 100%));
30
+ // @include glassbox(true, radial-gradient(circle, #78716c 0%, #44403c 100%));
31
+ // @include glassbox(true, radial-gradient(circle, #f8fafc 0%, #e2e8f0 100%));
32
+ // @include glassbox(true, );
33
+ }
34
+
35
+ .button {
36
+ @include glassbox();
37
+ }
38
+ .button {
39
+ border-radius: 50%;
40
+ }
41
+ }
42
+ }
43
+
44
+ .page {
45
+ > header {
46
+ @include glassbox(false, #6664d0);
47
+
48
+ h2 {
49
+ @include glassbox();
50
+ }
51
+ }
52
+ }
53
+
54
+ .project-center {
55
+ @include glassbox();
56
+ }
@@ -0,0 +1,51 @@
1
+ @use "../common/mixins" as *;
2
+ @forward "../common/components";
3
+ @forward "../default";
4
+
5
+ :root {
6
+ --color-border: #dedede; //#cbd5e1
7
+ --color-border-highlight: #4f46e5; //#cbd5e1
8
+ --border-footer: solid 1px var(--color-border);
9
+ --border-input: solid 1px var(--color-border); //#cbd5e1
10
+ --border-radius-input: 6px;
11
+ --opacity-disabled: 0.5;
12
+ --tab-indicator-height: 3px;
13
+
14
+ @include defineColor("base", #ffffff, #333333);
15
+ @include defineColor("input", #ffffff, #333333);
16
+ @include defineColor("input-label", #ffffff, #64748b);
17
+ @include defineColor("input-label-floating", #ffffff, #4c1d95);
18
+
19
+ @include defineColor("navigation", #ffffff, #2d3748);
20
+ @include defineColor("navigation-item", transparent, #64748b);
21
+ @include defineColor("navigation-hover", transparent, #4f46e5);
22
+
23
+ @include defineColor("button-primary", #4f46e5, #ffffff);
24
+ @include defineColor("button-secondary", #f97316, #ffffff);
25
+ @include defineColor("button-tertiary", transparent, #374151);
26
+ @include defineColor("dot-menu", #eeeeee, #374151);
27
+ @include defineColor("button-hover", #403b9c, #ffffff);
28
+
29
+ @include defineColor("tab", transparent, #333333);
30
+ @include defineColor("tab-hover", transparent, #4f46e5);
31
+ @include defineColor("tab-active", transparent, #4f46e5);
32
+
33
+ @include defineFont("title", h1, 24px, 600);
34
+ @include defineFont("title", h2, 24px, 600);
35
+ @include defineFont("header", h3, 18px, 600, 32px);
36
+ @include defineFont("primary", body, 16px, 400);
37
+ @include defineFont("input", input, 16px, 400, 24px);
38
+ @include defineFont("caption", label, 14px, 400, 24px);
39
+ @include defineFont("button", button, 16px, 600, 24px);
40
+ }
41
+
42
+ html,
43
+ body {
44
+ height: 100%;
45
+ padding: 0;
46
+ margin: 0;
47
+ }
48
+
49
+ a {
50
+ color: white;
51
+ }
@@ -0,0 +1 @@
1
+ @forward "./common/mixins";