@oruga-ui/theme-oruga 0.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 (116) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +115 -0
  3. package/dist/oruga-full.css +3778 -0
  4. package/dist/oruga-full.min.css +1 -0
  5. package/dist/oruga.css +2209 -0
  6. package/dist/oruga.min.css +1 -0
  7. package/dist/scss/components/_autocomplete.scss +130 -0
  8. package/dist/scss/components/_button.scss +242 -0
  9. package/dist/scss/components/_carousel.scss +256 -0
  10. package/dist/scss/components/_checkbox.scss +183 -0
  11. package/dist/scss/components/_collapse.scss +12 -0
  12. package/dist/scss/components/_datepicker.scss +592 -0
  13. package/dist/scss/components/_datetimepicker.scss +10 -0
  14. package/dist/scss/components/_dropdown.scss +241 -0
  15. package/dist/scss/components/_field.scss +154 -0
  16. package/dist/scss/components/_icon.scss +53 -0
  17. package/dist/scss/components/_input.scss +153 -0
  18. package/dist/scss/components/_inputitems.scss +175 -0
  19. package/dist/scss/components/_loading.scss +45 -0
  20. package/dist/scss/components/_menu.scss +124 -0
  21. package/dist/scss/components/_modal.scss +103 -0
  22. package/dist/scss/components/_notification.scss +212 -0
  23. package/dist/scss/components/_pagination.scss +256 -0
  24. package/dist/scss/components/_radio.scss +121 -0
  25. package/dist/scss/components/_select.scss +168 -0
  26. package/dist/scss/components/_sidebar.scss +112 -0
  27. package/dist/scss/components/_skeleton.scss +93 -0
  28. package/dist/scss/components/_slider.scss +241 -0
  29. package/dist/scss/components/_steps.scss +599 -0
  30. package/dist/scss/components/_switch.scss +171 -0
  31. package/dist/scss/components/_table.scss +481 -0
  32. package/dist/scss/components/_tabs.scss +385 -0
  33. package/dist/scss/components/_timepicker.scss +116 -0
  34. package/dist/scss/components/_tooltip.scss +345 -0
  35. package/dist/scss/components/_upload.scss +74 -0
  36. package/dist/scss/oruga-common.scss +37 -0
  37. package/dist/scss/oruga-full.scss +9 -0
  38. package/dist/scss/oruga.scss +197 -0
  39. package/dist/scss/utils/_animations.scss +231 -0
  40. package/dist/scss/utils/_base.scss +31 -0
  41. package/dist/scss/utils/_helpers.scss +211 -0
  42. package/dist/scss/utils/_root.scss +28 -0
  43. package/dist/scss/utils/_variables.scss +105 -0
  44. package/dist/theme.js +8 -0
  45. package/package.json +72 -0
  46. package/src/App.vue +104 -0
  47. package/src/assets/scss/components/_autocomplete.scss +130 -0
  48. package/src/assets/scss/components/_button.scss +242 -0
  49. package/src/assets/scss/components/_carousel.scss +256 -0
  50. package/src/assets/scss/components/_checkbox.scss +183 -0
  51. package/src/assets/scss/components/_collapse.scss +12 -0
  52. package/src/assets/scss/components/_datepicker.scss +592 -0
  53. package/src/assets/scss/components/_datetimepicker.scss +10 -0
  54. package/src/assets/scss/components/_dropdown.scss +241 -0
  55. package/src/assets/scss/components/_field.scss +154 -0
  56. package/src/assets/scss/components/_icon.scss +53 -0
  57. package/src/assets/scss/components/_input.scss +153 -0
  58. package/src/assets/scss/components/_inputitems.scss +175 -0
  59. package/src/assets/scss/components/_loading.scss +45 -0
  60. package/src/assets/scss/components/_menu.scss +124 -0
  61. package/src/assets/scss/components/_modal.scss +103 -0
  62. package/src/assets/scss/components/_notification.scss +212 -0
  63. package/src/assets/scss/components/_pagination.scss +256 -0
  64. package/src/assets/scss/components/_radio.scss +121 -0
  65. package/src/assets/scss/components/_select.scss +168 -0
  66. package/src/assets/scss/components/_sidebar.scss +112 -0
  67. package/src/assets/scss/components/_skeleton.scss +93 -0
  68. package/src/assets/scss/components/_slider.scss +241 -0
  69. package/src/assets/scss/components/_steps.scss +599 -0
  70. package/src/assets/scss/components/_switch.scss +171 -0
  71. package/src/assets/scss/components/_table.scss +481 -0
  72. package/src/assets/scss/components/_tabs.scss +385 -0
  73. package/src/assets/scss/components/_timepicker.scss +116 -0
  74. package/src/assets/scss/components/_tooltip.scss +345 -0
  75. package/src/assets/scss/components/_upload.scss +74 -0
  76. package/src/assets/scss/oruga-common.scss +37 -0
  77. package/src/assets/scss/oruga-full.scss +9 -0
  78. package/src/assets/scss/oruga.scss +197 -0
  79. package/src/assets/scss/utils/_animations.scss +231 -0
  80. package/src/assets/scss/utils/_base.scss +31 -0
  81. package/src/assets/scss/utils/_helpers.scss +211 -0
  82. package/src/assets/scss/utils/_root.scss +28 -0
  83. package/src/assets/scss/utils/_variables.scss +105 -0
  84. package/src/components/Autocomplete.vue +606 -0
  85. package/src/components/Button.vue +80 -0
  86. package/src/components/Carousel.vue +296 -0
  87. package/src/components/Checkbox.vue +134 -0
  88. package/src/components/Collapse.vue +132 -0
  89. package/src/components/Datepicker.vue +285 -0
  90. package/src/components/Datetimepicker.vue +127 -0
  91. package/src/components/Dropdown.vue +284 -0
  92. package/src/components/Field.vue +243 -0
  93. package/src/components/Icon.vue +66 -0
  94. package/src/components/Input.vue +121 -0
  95. package/src/components/Loading.vue +71 -0
  96. package/src/components/Modal.vue +171 -0
  97. package/src/components/Notification.vue +136 -0
  98. package/src/components/Pagination.vue +97 -0
  99. package/src/components/Radio.vue +95 -0
  100. package/src/components/Select.vue +155 -0
  101. package/src/components/Sidebar.vue +56 -0
  102. package/src/components/Skeleton.vue +57 -0
  103. package/src/components/Slider.vue +226 -0
  104. package/src/components/Steps.vue +234 -0
  105. package/src/components/Switch.vue +134 -0
  106. package/src/components/Table.vue +285 -0
  107. package/src/components/Tabs.vue +208 -0
  108. package/src/components/Taginput.vue +507 -0
  109. package/src/components/Timepicker.vue +124 -0
  110. package/src/components/Tooltip.vue +149 -0
  111. package/src/components/Upload.vue +66 -0
  112. package/src/main.ts +29 -0
  113. package/src/plugins/theme.ts +1 -0
  114. package/src/router/index.ts +39 -0
  115. package/src/views/Home.vue +24 -0
  116. package/types/index.d.ts +1 -0
package/src/App.vue ADDED
@@ -0,0 +1,104 @@
1
+ <script setup lang="ts">
2
+ const paths = import.meta.glob("./components/*.vue") as any;
3
+ const components = Object.keys(paths)
4
+ .map((c: string) => c.replace(".vue", ""))
5
+ .map((c: string) => c.replace("./components/", ""))
6
+ .map((c: string) => `/${c}`)
7
+ .map((c: string) => {
8
+ const name = c.split("/")[1];
9
+ return {
10
+ name,
11
+ link: c,
12
+ };
13
+ });
14
+ </script>
15
+
16
+ <template>
17
+ <div id="app">
18
+ <nav id="nav">
19
+ <router-link to="/" class="theme-label">
20
+ <img
21
+ class="image__oruga"
22
+ src="https://oruga.io/logo.png"
23
+ alt="Logo Oruga Default Theme" />
24
+ <b>Oruga Default Theme</b>
25
+ </router-link>
26
+ <hr />
27
+ <router-link v-for="item in components" :key="item.name" :to="item.link">
28
+ {{ item.name }}
29
+ </router-link>
30
+ </nav>
31
+
32
+ <main>
33
+ <router-view />
34
+ </main>
35
+ </div>
36
+ </template>
37
+
38
+ <style lang="scss">
39
+ @import "./assets/scss/utils/variables";
40
+
41
+ #app {
42
+ display: flex;
43
+ width: 100%;
44
+
45
+ main {
46
+ flex-grow: 1;
47
+ margin: 2rem;
48
+
49
+ > section {
50
+ margin: 1rem 0;
51
+
52
+ h3 {
53
+ font-size: 1.75rem;
54
+ }
55
+
56
+ .buttons > *:not(:last-child) {
57
+ margin-right: 0.5rem;
58
+ margin-bottom: 0.5rem;
59
+ }
60
+ }
61
+ }
62
+
63
+ #nav {
64
+ display: flex;
65
+ flex-direction: column;
66
+ height: auto;
67
+ min-height: 100vh;
68
+ width: 15%;
69
+ background-color: $grey-light;
70
+
71
+ .theme-label {
72
+ font-size: 1.5rem;
73
+ text-align: center;
74
+ padding: 1rem 0;
75
+ }
76
+
77
+ a {
78
+ font-weight: bold;
79
+ color: white;
80
+ text-decoration: none;
81
+ padding: 1px 0 1px 10px;
82
+ font-size: 1em;
83
+
84
+ &.router-link-exact-active {
85
+ color: $primary;
86
+ }
87
+ }
88
+ }
89
+ }
90
+
91
+ .image__oruga {
92
+ height: 64px;
93
+ display: flex;
94
+ margin: 0 auto;
95
+ }
96
+
97
+ @media (max-width: 576px) {
98
+ #app {
99
+ #nav {
100
+ display: none;
101
+ }
102
+ }
103
+ }
104
+ </style>
@@ -0,0 +1,130 @@
1
+ /* @docs */
2
+ $autocomplete-item-color: #000000 !default;
3
+ $autocomplete-item-disabled-opacity: $base-disabled-opacity !default;
4
+ $autocomplete-item-font-size: $base-font-size !default;
5
+ $autocomplete-item-hover-background-color: #f5f5f5 !default;
6
+ $autocomplete-item-hover-color: #000000 !default;
7
+ $autocomplete-item-line-height: $base-line-height !default;
8
+ $autocomplete-item-padding: 0.375rem 1rem !default;
9
+ $autocomplete-menu-background: #ffffff !default;
10
+ $autocomplete-menu-border-radius: $base-border-radius !default;
11
+ $autocomplete-menu-box-shadow: 0 0.5em 1em -0.125em rgba(10, 10, 10, 0.1),
12
+ 0 0 0 1px rgba(10, 10, 10, 0.02) !default;
13
+ $autocomplete-menu-margin: 0 !default;
14
+ $autocomplete-menu-max-height: 200px !default;
15
+ $autocomplete-menu-padding: 0.5rem 0 0.5rem 0 !default;
16
+ $autocomplete-menu-zindex: 20 !default;
17
+ /* @docs */
18
+
19
+ .o-acp {
20
+ position: relative;
21
+
22
+ &__menu {
23
+ display: block;
24
+ width: 100%;
25
+ position: absolute;
26
+ left: 0;
27
+ top: 100%;
28
+ overflow: auto;
29
+
30
+ @include avariable(
31
+ "z-index",
32
+ "autocomplete-menu-zindex",
33
+ $autocomplete-menu-zindex
34
+ );
35
+ @include avariable(
36
+ "background-color",
37
+ "autocomplete-menu-background",
38
+ $autocomplete-menu-background
39
+ );
40
+ @include avariable(
41
+ "border-radius",
42
+ "autocomplete-menu-border-radius",
43
+ $autocomplete-menu-border-radius
44
+ );
45
+ @include avariable(
46
+ "box-shadow",
47
+ "autocomplete-menu-box-shadow",
48
+ $autocomplete-menu-box-shadow
49
+ );
50
+ @include avariable(
51
+ "padding",
52
+ "autocomplete-menu-padding",
53
+ $autocomplete-menu-padding
54
+ );
55
+ @include avariable(
56
+ "margin",
57
+ "autocomplete-menu-margin",
58
+ $autocomplete-menu-margin
59
+ );
60
+ @include avariable(
61
+ "max-height",
62
+ "autocomplete-menu-max-height",
63
+ $autocomplete-menu-max-height
64
+ );
65
+
66
+ &--top {
67
+ top: auto;
68
+ bottom: 100%;
69
+ }
70
+ }
71
+
72
+ &__item {
73
+ display: block;
74
+ position: relative;
75
+ white-space: nowrap;
76
+ overflow: hidden;
77
+ text-overflow: ellipsis;
78
+ cursor: pointer;
79
+
80
+ @include avariable(
81
+ "color",
82
+ "autocomplete-item-color",
83
+ $autocomplete-item-color
84
+ );
85
+ @include avariable(
86
+ "font-size",
87
+ "autocomplete-item-font-size",
88
+ $autocomplete-item-font-size
89
+ );
90
+ @include avariable(
91
+ "line-height",
92
+ "autocomplete-item-line-height",
93
+ $autocomplete-item-line-height
94
+ );
95
+ @include avariable(
96
+ "padding",
97
+ "autocomplete-item-padding",
98
+ $autocomplete-item-padding
99
+ );
100
+
101
+ &-group-title,
102
+ &--empty {
103
+ pointer-events: none;
104
+
105
+ @include avariable(
106
+ "opacity",
107
+ "autocomplete-item-disabled-opacity",
108
+ $autocomplete-item-disabled-opacity
109
+ );
110
+ }
111
+
112
+ &--hover,
113
+ &:hover {
114
+ @include avariable(
115
+ "background",
116
+ "autocomplete-item-hover-background-color",
117
+ $autocomplete-item-hover-background-color
118
+ );
119
+ @include avariable(
120
+ "color",
121
+ "autocomplete-item-hover-color",
122
+ $autocomplete-item-hover-color
123
+ );
124
+ }
125
+ }
126
+
127
+ &--expanded {
128
+ width: 100%;
129
+ }
130
+ }
@@ -0,0 +1,242 @@
1
+ @use "sass:list";
2
+
3
+ /* @docs */
4
+ $button-background-color: $primary !default;
5
+ $button-color: $primary-invert !default;
6
+ $button-border-radius: $base-border-radius !default;
7
+ $button-border: 1px solid $button-background-color !default;
8
+ $button-box-shadow: none !default;
9
+ $button-font-weight: 400 !default;
10
+ $button-line-height: $base-line-height !default;
11
+ $button-margin-icon-to-text: 0.1875em !default;
12
+ $button-margin: 0 !default;
13
+ $button-height: $control-height !default;
14
+ $button-padding: $control-padding-vertical 0.75em !default;
15
+ $button-rounded-border-radius: $base-rounded-border-radius !default;
16
+ $button-disabled-opacity: $base-disabled-opacity !default;
17
+ $button-outlined-background-color: transparent !default;
18
+ /* @docs */
19
+
20
+ @keyframes spinAround {
21
+ from {
22
+ transform: rotate(0deg);
23
+ }
24
+
25
+ to {
26
+ transform: rotate(359deg);
27
+ }
28
+ }
29
+
30
+ .o-btn {
31
+ -moz-appearance: none;
32
+ -webkit-appearance: none;
33
+ position: relative;
34
+ display: inline-flex;
35
+ cursor: pointer;
36
+ text-align: center;
37
+ white-space: nowrap;
38
+ align-items: center;
39
+ justify-content: center;
40
+ vertical-align: top;
41
+ text-decoration: none;
42
+
43
+ @include unselectable;
44
+ @include avariable(
45
+ "background-color",
46
+ "button-background-color",
47
+ $button-background-color
48
+ );
49
+ @include avariable("color", "button-color", $button-color);
50
+ @include avariable("padding", "button-padding", $button-padding);
51
+ @include avariable("border", "button-border", $button-border);
52
+ @include avariable(
53
+ "border-radius",
54
+ "button-border-radius",
55
+ $button-border-radius
56
+ );
57
+ @include avariable("box-shadow", "button-box-shadow", $button-box-shadow);
58
+ @include avariable("font-size", "base-font-size", $base-font-size);
59
+ @include avariable("font-weight", "button-font-weight", $button-font-weight);
60
+ @include avariable("line-height", "button-line-height", $button-line-height);
61
+ @include avariable("margin", "button-margin", $button-margin);
62
+ @include avariable("height", "button-height", $button-height);
63
+
64
+ &__wrapper {
65
+ @include side-flex-gap($button-margin-icon-to-text);
66
+ display: inline-flex;
67
+ align-items: center;
68
+ justify-content: center;
69
+ position: relative;
70
+ width: 100%;
71
+ }
72
+
73
+ &__label {
74
+ width: 100%;
75
+ }
76
+
77
+ &--expanded {
78
+ width: 100%;
79
+ }
80
+
81
+ &--rounded {
82
+ @include avariable(
83
+ "border-radius",
84
+ "button-rounded-border-radius",
85
+ $button-rounded-border-radius
86
+ );
87
+ }
88
+
89
+ &--disabled {
90
+ @include avariable(
91
+ "opacity",
92
+ "button-disabled-opacity",
93
+ $button-disabled-opacity
94
+ );
95
+ cursor: not-allowed;
96
+ pointer-events: none;
97
+ }
98
+
99
+ @each $name, $value in $sizes {
100
+ &--#{$name} {
101
+ @include avariable("font-size", ("button-font-size-" + #{$name}), $value);
102
+ }
103
+ }
104
+ @each $name, $pair in $colors {
105
+ $color: list.nth($pair, 1);
106
+ $color-invert: list.nth($pair, 2);
107
+ &--#{$name} {
108
+ border-color: transparent;
109
+
110
+ @include avariable("background-color", ("variant-" + #{$name}), $color);
111
+ @include avariable(
112
+ "color",
113
+ ("variant-invert-" + #{$name}),
114
+ $color-invert
115
+ );
116
+
117
+ &:hover {
118
+ // background-color: darken($color, 2.5%)
119
+ // IE 11 needs polyfill
120
+ filter: brightness(97.5%);
121
+ }
122
+ }
123
+ }
124
+
125
+ &--outlined {
126
+ @include avariable(
127
+ "background-color",
128
+ "button-outlined-background-color",
129
+ $button-outlined-background-color
130
+ );
131
+ @include avariable(
132
+ "border-color",
133
+ "button-background-color",
134
+ $button-background-color
135
+ );
136
+ @include avariable(
137
+ "color",
138
+ "button-background-color",
139
+ $button-background-color
140
+ );
141
+
142
+ &:hover {
143
+ border-color: transparent;
144
+
145
+ @include avariable(
146
+ "background-color",
147
+ "button-background-color",
148
+ $button-background-color
149
+ );
150
+ @include avariable("color", "button-color", $button-color);
151
+ }
152
+
153
+ @each $name, $pair in $colors {
154
+ $color: list.nth($pair, 1);
155
+ $color-invert: list.nth($pair, 2);
156
+ &-#{$name} {
157
+ @include avariable(
158
+ "background-color",
159
+ "button-outlined-background-color",
160
+ $button-outlined-background-color
161
+ );
162
+ @include avariable("border-color", ("variant-" + #{$name}), $color);
163
+ @include avariable("color", ("variant-" + #{$name}), $color);
164
+
165
+ &:hover {
166
+ border-color: transparent;
167
+
168
+ @include avariable(
169
+ "background-color",
170
+ ("variant-" + #{$name}),
171
+ $color
172
+ );
173
+ @include avariable(
174
+ "color",
175
+ ("variant-invert-" + #{$name}),
176
+ $color-invert
177
+ );
178
+ }
179
+ }
180
+ }
181
+ }
182
+
183
+ &--loading {
184
+ color: transparent !important;
185
+ pointer-events: none;
186
+ }
187
+
188
+ &--loading::after {
189
+ -webkit-animation: spinAround 500ms infinite linear;
190
+ left: calc(50% - 0.5em);
191
+ top: calc(50% - 0.5em);
192
+ position: absolute !important;
193
+ border: 2px solid #dbdbdb;
194
+ border-radius: 9999px;
195
+ border-right-color: transparent;
196
+ border-top-color: transparent;
197
+ content: "";
198
+ display: block;
199
+ height: 1em;
200
+ width: 1em;
201
+ }
202
+
203
+ &--inverted {
204
+ @include avariable("background-color", "button-color", $button-color);
205
+ @include avariable("border-color", "button-color", $button-color);
206
+ @include avariable(
207
+ "color",
208
+ "button-background-color",
209
+ $button-background-color
210
+ );
211
+
212
+ &:hover {
213
+ // background-color: darken($color-invert, 5%)
214
+ // IE 11 needs polyfill
215
+ filter: brightness(95%);
216
+ }
217
+
218
+ @each $name, $pair in $colors {
219
+ $color: list.nth($pair, 1);
220
+ $color-invert: list.nth($pair, 2);
221
+ &-#{$name} {
222
+ @include avariable(
223
+ "background-color",
224
+ ("variant-invert-" + #{$name}),
225
+ $color-invert
226
+ );
227
+ @include avariable(
228
+ "border-color",
229
+ ("variant-invert-" + #{$name}),
230
+ $color-invert
231
+ );
232
+ @include avariable("color", ("variant-" + #{$name}), $color);
233
+
234
+ &:hover {
235
+ // background-color: darken($color-invert, 5%)
236
+ // IE 11 needs polyfill
237
+ filter: brightness(95%);
238
+ }
239
+ }
240
+ }
241
+ }
242
+ }