@enso-ui/ui 6.2.7 → 7.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.
Files changed (67) hide show
  1. package/LICENSE +1 -1
  2. package/bulma/index.js +2 -2
  3. package/package.json +34 -31
  4. package/renderless/components/settings/index.js +1 -8
  5. package/renderless/index.js +2 -2
  6. package/src/bulma/components/AppFooter.vue +11 -11
  7. package/src/bulma/components/Breadcrumbs.vue +32 -5
  8. package/src/bulma/components/VueAside.vue +7 -11
  9. package/src/bulma/components/menu/Sidebar.vue +26 -10
  10. package/src/bulma/components/navbar/AppUpdate.vue +38 -14
  11. package/src/bulma/components/navbar/Navbar.vue +17 -15
  12. package/src/bulma/components/navbar/NavbarItem.vue +2 -4
  13. package/src/bulma/components/navbar/Search.vue +6 -5
  14. package/src/bulma/components/navbar/SettingsControl.vue +6 -5
  15. package/src/bulma/components/settings/Settings.vue +17 -3
  16. package/src/bulma/components/settings/SidebarState.vue +1 -2
  17. package/src/bulma/layouts/Default.vue +8 -22
  18. package/src/bulma/pages/MaintenanceMode.vue +5 -7
  19. package/src/bulma/pages/NotFound.vue +6 -5
  20. package/src/bulma/pages/Unauthorized.vue +5 -4
  21. package/src/bulma/styles/components/form.scss +151 -0
  22. package/src/bulma/styles/components/tables.scss +695 -0
  23. package/src/bulma/styles/components/vue-filter.scss +173 -0
  24. package/src/bulma/styles/components.sass +3 -0
  25. package/src/core/Root.vue +26 -7
  26. package/src/core/app.js +1 -1
  27. package/src/core/components/AppFooter.vue +2 -6
  28. package/src/core/components/DocumentTitle.vue +8 -3
  29. package/src/core/components/PageHeader.vue +7 -3
  30. package/src/core/components/menu/Sidebar.vue +2 -6
  31. package/src/core/components/navbar/Navbar.vue +17 -19
  32. package/src/core/components/navbar/Search.vue +10 -3
  33. package/src/core/components/navbar/SettingsControl.vue +4 -2
  34. package/src/core/components/settings/Settings.vue +6 -20
  35. package/src/core/components/settings/SidebarState.vue +5 -7
  36. package/src/core/layouts/Default.vue +96 -65
  37. package/src/core/layouts/Home.vue +27 -28
  38. package/src/core/services/contexts.js +51 -11
  39. package/src/core/services/errorHandler.js +4 -4
  40. package/src/core/services/pinia.js +7 -0
  41. package/src/core/services/resources.js +22 -17
  42. package/src/core/services/router.js +2 -3
  43. package/src/icons.js +8 -2
  44. package/src/middleware/before/auth.js +9 -5
  45. package/src/middleware/before/guest.js +6 -2
  46. package/src/middleware/before.js +5 -4
  47. package/src/modules/importers/routeImporter.js +23 -0
  48. package/src/modules/plugins/bootEnums.js +10 -1
  49. package/src/modules/plugins/date-fns/format.js +11 -6
  50. package/src/modules/plugins/date-fns/formatDistance.js +2 -2
  51. package/src/modules/plugins/i18n.js +7 -5
  52. package/src/modules/plugins/route.js +3 -3
  53. package/src/pinia/app.js +75 -0
  54. package/src/pinia/layout.js +115 -0
  55. package/src/pinia/loadState.js +78 -0
  56. package/src/pinia/preferences.js +90 -0
  57. package/src/pinia/websockets.js +48 -0
  58. package/src/core/services/store.js +0 -26
  59. package/src/modules/importers/storeImporter.js +0 -8
  60. package/src/modules/importers/themeImporter.js +0 -5
  61. package/src/modules/store/layout/navbar.js +0 -8
  62. package/src/modules/store/layout/settings.js +0 -7
  63. package/src/modules/store/layout/sidebar.js +0 -22
  64. package/src/modules/store/layout.js +0 -72
  65. package/src/modules/store/preferences.js +0 -80
  66. package/src/modules/store/websockets.js +0 -39
  67. package/src/modules/store.js +0 -115
@@ -1,6 +1,5 @@
1
1
  <template>
2
- <div class="app-main"
3
- :class="{ 'lights-off': lightsOff }">
2
+ <div class="app-main">
4
3
  <core-default v-slot="{
5
4
  appState, bookmarks, sidebar, settings, rtl, header, footer,
6
5
  }">
@@ -29,7 +28,7 @@
29
28
  <main-router v-if="appState"/>
30
29
  </div>
31
30
  </section>
32
- <scroll-to-top type="is-medium is-primary is-raised"/>
31
+ <scroll-to-top type="is-medium is-primary"/>
33
32
  <slide :enter="rtl ? 'left' : 'right'"
34
33
  :leave="rtl ? 'left' : 'right'">
35
34
  <settings v-if="settings.isVisible"/>
@@ -44,7 +43,6 @@
44
43
  </template>
45
44
 
46
45
  <script>
47
- import { mapState } from 'vuex';
48
46
  import { Slide } from '@enso-ui/transitions';
49
47
  import ScrollToTop from '@enso-ui/scroll-to-top/bulma';
50
48
  import Bookmarks from '@enso-ui/bookmarks/src/bulma/components/Bookmarks.vue';
@@ -71,32 +69,20 @@ export default {
71
69
  Bookmarks,
72
70
  PageHeader,
73
71
  },
74
-
75
- computed: {
76
- ...mapState('layout', ['lightsOff']),
77
- },
78
72
  };
79
73
  </script>
80
74
 
81
75
  <style lang="scss">
82
- @import '@enso-ui/themes/bulma/variables';
83
-
84
76
  .app-main {
85
77
  display: flex;
86
78
  min-height: 100vh;
87
79
  flex-direction: column;
88
- opacity: 1;
89
- transition: all .15s ease;
90
-
91
- &.lights-off {
92
- opacity: 0;
93
- }
94
80
  }
95
81
 
96
82
  .main-content {
97
83
  flex: 1;
98
84
  z-index: 1;
99
- margin-top: $navbar-height;
85
+ margin-top: var(--bulma-navbar-height);
100
86
  transition: margin .5s;
101
87
 
102
88
  &.with-bookmarks {
@@ -105,20 +91,20 @@ export default {
105
91
 
106
92
  &.is-collapsed {
107
93
  [dir='ltr'] & {
108
- margin-left: $sidebar-collapsed-width;
94
+ margin-left: var(--enso-sidebar-collapsed-width);
109
95
  }
110
96
  [dir='rtl'] & {
111
- margin-right: $sidebar-collapsed-width;
97
+ margin-right: var(--enso-sidebar-collapsed-width);
112
98
  }
113
99
  }
114
100
 
115
101
  &.is-expanded {
116
102
  [dir='ltr'] & {
117
- margin-left: $sidebar-width;
103
+ margin-left: var(--enso-sidebar-width);
118
104
  }
119
105
  [dir='rtl'] & {
120
- margin-right: $sidebar-width;
121
- }
106
+ margin-right: var(--enso-sidebar-width);
107
+ }
122
108
  }
123
109
  }
124
110
 
@@ -2,7 +2,7 @@
2
2
  <div class="container p-4 has-text-centered">
3
3
  <span class="icon is-large">
4
4
  <fa class="has-text-info"
5
- icon="tools"
5
+ :icon="faScrewdriverWrench"
6
6
  size="2x"/>
7
7
  </span>
8
8
  <p class="subtitle is-3 mx-6">
@@ -13,20 +13,18 @@
13
13
 
14
14
  <script>
15
15
  import { FontAwesomeIcon as Fa } from '@fortawesome/vue-fontawesome';
16
- import { library } from '@fortawesome/fontawesome-svg-core';
17
- import { faTools } from '@fortawesome/free-solid-svg-icons';
18
-
19
- library.add(faTools);
16
+ import { faScrewdriverWrench } from '@fortawesome/free-solid-svg-icons';
20
17
 
21
18
  export default {
22
19
  name: 'NotFound',
23
20
 
24
21
  components: { Fa },
25
22
 
26
- inject: ['i18n'],
27
-
28
23
  data: () => ({
24
+ faScrewdriverWrench,
29
25
  message: 'The application is briefly unavailable for scheduled maintenance. Please check back in a few minutes',
30
26
  }),
27
+
28
+ inject: ['i18n'],
31
29
  };
32
30
  </script>
@@ -2,7 +2,7 @@
2
2
  <div class="container p-4 has-text-centered">
3
3
  <span class="icon is-large">
4
4
  <fa class="has-text-warning"
5
- icon="exclamation-triangle"
5
+ :icon="faTriangleExclamation"
6
6
  size="2x"/>
7
7
  </span>
8
8
  <p class="subtitle is-3">
@@ -13,16 +13,17 @@
13
13
 
14
14
  <script>
15
15
  import { FontAwesomeIcon as Fa } from '@fortawesome/vue-fontawesome';
16
- import { library } from '@fortawesome/fontawesome-svg-core';
17
- import { faExclamationTriangle } from '@fortawesome/free-solid-svg-icons';
18
-
19
- library.add(faExclamationTriangle);
16
+ import { faTriangleExclamation } from '@fortawesome/free-solid-svg-icons';
20
17
 
21
18
  export default {
22
19
  name: 'NotFound',
23
20
 
24
21
  components: { Fa },
25
22
 
23
+ data: () => ({
24
+ faTriangleExclamation,
25
+ }),
26
+
26
27
  inject: ['i18n'],
27
28
  };
28
29
  </script>
@@ -2,7 +2,7 @@
2
2
  <div class="container p-4 has-text-centered">
3
3
  <span class="icon is-large">
4
4
  <fa class="has-text-danger"
5
- icon="ban"
5
+ :icon="faBan"
6
6
  size="2x"/>
7
7
  </span>
8
8
  <p class="subtitle is-3">
@@ -13,16 +13,17 @@
13
13
 
14
14
  <script>
15
15
  import { FontAwesomeIcon as Fa } from '@fortawesome/vue-fontawesome';
16
- import { library } from '@fortawesome/fontawesome-svg-core';
17
16
  import { faBan } from '@fortawesome/free-solid-svg-icons';
18
17
 
19
- library.add(faBan);
20
-
21
18
  export default {
22
19
  name: 'Unauthorized',
23
20
 
24
21
  components: { Fa },
25
22
 
23
+ data: () => ({
24
+ faBan,
25
+ }),
26
+
26
27
  inject: ['i18n'],
27
28
  };
28
29
  </script>
@@ -0,0 +1,151 @@
1
+ .vue-form {
2
+ color: var(--bulma-text);
3
+
4
+ &.box {
5
+ position: relative;
6
+ z-index: 2;
7
+ overflow: visible;
8
+ }
9
+
10
+ .form-tabs {
11
+ position: relative;
12
+ z-index: 1;
13
+ }
14
+
15
+ .tag.error-count {
16
+ padding: 0.5em;
17
+ margin-left: 0.3em;
18
+ }
19
+
20
+ .label,
21
+ .title,
22
+ .subtitle,
23
+ strong,
24
+ .help,
25
+ .content,
26
+ .section-divider {
27
+ color: inherit;
28
+ }
29
+
30
+ .label,
31
+ .title,
32
+ .subtitle,
33
+ strong {
34
+ color: var(--bulma-text-strong);
35
+ }
36
+
37
+ .label {
38
+ margin-bottom: 0.3rem;
39
+ }
40
+
41
+ .help,
42
+ .section-divider {
43
+ color: var(--bulma-text-light);
44
+ }
45
+
46
+ .help.is-danger {
47
+ color: var(--bulma-danger);
48
+ }
49
+
50
+ .help.is-warning {
51
+ color: var(--bulma-warning);
52
+ }
53
+
54
+ .help.is-success {
55
+ color: var(--bulma-success);
56
+ }
57
+
58
+ :is(.input, .textarea, .money.input),
59
+ .select select {
60
+ background-color: var(--bulma-input-background-color) !important;
61
+ border-color: var(--enso-surface-border) !important;
62
+ color: var(--bulma-text) !important;
63
+ }
64
+
65
+ :is(.input, .textarea, .money.input):not(.is-danger):not(.is-warning):not(.is-success):hover,
66
+ .select:not(.is-danger):not(.is-warning):not(.is-success) select:hover {
67
+ border-color: var(--bulma-border-hover) !important;
68
+ }
69
+
70
+ :is(.input, .textarea, .money.input):not(.is-danger):not(.is-warning):not(.is-success):focus,
71
+ :is(.input, .textarea, .money.input):not(.is-danger):not(.is-warning):not(.is-success):focus-visible,
72
+ :is(.input, .textarea, .money.input):not(.is-danger):not(.is-warning):not(.is-success).is-focused,
73
+ :is(.input, .textarea, .money.input):not(.is-danger):not(.is-warning):not(.is-success).is-active,
74
+ .select:not(.is-danger):not(.is-warning):not(.is-success) select:focus,
75
+ .select:not(.is-danger):not(.is-warning):not(.is-success) select:focus-visible,
76
+ .select:not(.is-danger):not(.is-warning):not(.is-success) select.is-focused,
77
+ .select:not(.is-danger):not(.is-warning):not(.is-success) select.is-active {
78
+ border-color: var(--bulma-border-active) !important;
79
+ box-shadow: none !important;
80
+ }
81
+
82
+ .money.input,
83
+ .flatpickr-input.input,
84
+ .dropdown.vue-dropdown .button.input {
85
+ min-height: var(--bulma-control-height);
86
+ height: var(--bulma-control-height);
87
+ }
88
+
89
+ :is(.input, .textarea)::placeholder {
90
+ color: var(--bulma-text-light) !important;
91
+ opacity: 1;
92
+ }
93
+
94
+ :is(.input, .textarea, .money.input, .flatpickr-input.input).is-danger,
95
+ .select.is-danger select,
96
+ .button.input.has-error,
97
+ .dropdown.vue-dropdown .button.input.has-error,
98
+ .vue-select .button.input.has-error {
99
+ border-color: var(--bulma-danger) !important;
100
+ }
101
+
102
+ :is(.input, .textarea, .money.input, .flatpickr-input.input).is-warning,
103
+ .select.is-warning select,
104
+ .button.input.has-warning,
105
+ .dropdown.vue-dropdown .button.input.has-warning,
106
+ .vue-select .button.input.has-warning {
107
+ border-color: var(--bulma-warning) !important;
108
+ }
109
+
110
+ :is(.input, .textarea, .money.input, .flatpickr-input.input).is-success,
111
+ .select.is-success select,
112
+ .button.input.is-successful,
113
+ .dropdown.vue-dropdown .button.input.is-successful,
114
+ .vue-select .button.input.is-successful {
115
+ border-color: var(--bulma-success) !important;
116
+ }
117
+
118
+ .control.has-icons-left .icon,
119
+ .control.has-icons-right .icon {
120
+ color: var(--bulma-text-light);
121
+ }
122
+
123
+ .control.has-icons-right .delete {
124
+ background-color: var(--bulma-text-light);
125
+ }
126
+
127
+ .control.has-icons-right .icon.reveal-password {
128
+ pointer-events: all;
129
+ }
130
+
131
+ .title.form-title .icon {
132
+ vertical-align: text-bottom;
133
+ }
134
+
135
+ .section-divider {
136
+ width: 100%;
137
+ padding: 0.75rem;
138
+ }
139
+
140
+ .field .vue-switch {
141
+ margin-top: 6px;
142
+ margin-bottom: 6px;
143
+ }
144
+
145
+ .box.is-shadowless {
146
+ background-color: var(--bulma-card-header-background-color) !important;
147
+ border: 1px solid var(--enso-surface-border);
148
+ box-shadow: none;
149
+ color: var(--bulma-text);
150
+ }
151
+ }