@oruga-ui/theme-oruga 0.2.1 → 0.3.0

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 (113) hide show
  1. package/README.md +6 -14
  2. package/dist/oruga.css +1728 -206
  3. package/dist/oruga.min.css +1 -1
  4. package/dist/scss/components/_autocomplete.scss +1 -54
  5. package/dist/scss/components/_button.scss +56 -88
  6. package/dist/scss/components/_carousel.scss +70 -97
  7. package/dist/scss/components/_checkbox.scss +57 -83
  8. package/dist/scss/components/_datepicker.scss +141 -242
  9. package/dist/scss/components/_dropdown.scss +71 -157
  10. package/dist/scss/components/_field.scss +16 -38
  11. package/dist/scss/components/_icon.scss +6 -8
  12. package/dist/scss/components/_input.scss +41 -52
  13. package/dist/scss/components/_loading.scss +5 -13
  14. package/dist/scss/components/_menu.scss +28 -64
  15. package/dist/scss/components/_modal.scss +25 -34
  16. package/dist/scss/components/_notification.scss +35 -72
  17. package/dist/scss/components/_pagination.scss +43 -86
  18. package/dist/scss/components/_radio.scss +45 -60
  19. package/dist/scss/components/_select.scss +45 -73
  20. package/dist/scss/components/_sidebar.scss +34 -108
  21. package/dist/scss/components/_skeleton.scss +10 -23
  22. package/dist/scss/components/_slider.scss +56 -110
  23. package/dist/scss/components/_steps.scss +138 -310
  24. package/dist/scss/components/_switch.scss +52 -87
  25. package/dist/scss/components/_table.scss +77 -139
  26. package/dist/scss/components/_tabs.scss +93 -151
  27. package/dist/scss/components/_taginput.scss +34 -103
  28. package/dist/scss/components/_timepicker.scss +26 -50
  29. package/dist/scss/components/_tooltip.scss +120 -216
  30. package/dist/scss/components/_upload.scss +17 -22
  31. package/dist/scss/oruga-build.scss +9 -0
  32. package/dist/scss/oruga.scss +39 -190
  33. package/dist/scss/utils/_animations.scss +11 -9
  34. package/dist/scss/utils/_base.scss +4 -4
  35. package/dist/scss/utils/_helpers.scss +4 -104
  36. package/dist/scss/utils/_root.scss +34 -18
  37. package/dist/scss/utils/_variables.scss +5 -7
  38. package/package.json +35 -37
  39. package/src/assets/scss/components/_autocomplete.scss +1 -54
  40. package/src/assets/scss/components/_button.scss +56 -88
  41. package/src/assets/scss/components/_carousel.scss +70 -97
  42. package/src/assets/scss/components/_checkbox.scss +57 -83
  43. package/src/assets/scss/components/_datepicker.scss +141 -242
  44. package/src/assets/scss/components/_dropdown.scss +71 -157
  45. package/src/assets/scss/components/_field.scss +16 -38
  46. package/src/assets/scss/components/_icon.scss +6 -8
  47. package/src/assets/scss/components/_input.scss +41 -52
  48. package/src/assets/scss/components/_loading.scss +5 -13
  49. package/src/assets/scss/components/_menu.scss +28 -64
  50. package/src/assets/scss/components/_modal.scss +25 -34
  51. package/src/assets/scss/components/_notification.scss +35 -72
  52. package/src/assets/scss/components/_pagination.scss +43 -86
  53. package/src/assets/scss/components/_radio.scss +45 -60
  54. package/src/assets/scss/components/_select.scss +45 -73
  55. package/src/assets/scss/components/_sidebar.scss +34 -108
  56. package/src/assets/scss/components/_skeleton.scss +10 -23
  57. package/src/assets/scss/components/_slider.scss +56 -110
  58. package/src/assets/scss/components/_steps.scss +138 -310
  59. package/src/assets/scss/components/_switch.scss +52 -87
  60. package/src/assets/scss/components/_table.scss +77 -139
  61. package/src/assets/scss/components/_tabs.scss +93 -151
  62. package/src/assets/scss/components/_taginput.scss +34 -103
  63. package/src/assets/scss/components/_timepicker.scss +26 -50
  64. package/src/assets/scss/components/_tooltip.scss +120 -216
  65. package/src/assets/scss/components/_upload.scss +17 -22
  66. package/src/assets/scss/oruga-build.scss +9 -0
  67. package/src/assets/scss/oruga.scss +39 -190
  68. package/src/assets/scss/utils/_animations.scss +11 -9
  69. package/src/assets/scss/utils/_base.scss +4 -4
  70. package/src/assets/scss/utils/_helpers.scss +4 -104
  71. package/src/assets/scss/utils/_root.scss +34 -18
  72. package/src/assets/scss/utils/_variables.scss +5 -7
  73. package/dist/oruga-full.css +0 -3919
  74. package/dist/oruga-full.min.css +0 -1
  75. package/dist/scss/oruga-common.scss +0 -37
  76. package/dist/scss/oruga-full.scss +0 -9
  77. package/src/App.vue +0 -105
  78. package/src/assets/scss/oruga-common.scss +0 -37
  79. package/src/assets/scss/oruga-full.scss +0 -9
  80. package/src/components/Autocomplete.vue +0 -606
  81. package/src/components/Button.vue +0 -80
  82. package/src/components/Carousel.vue +0 -295
  83. package/src/components/Checkbox.vue +0 -135
  84. package/src/components/Collapse.vue +0 -134
  85. package/src/components/Datepicker.vue +0 -282
  86. package/src/components/Datetimepicker.vue +0 -127
  87. package/src/components/Dropdown.vue +0 -329
  88. package/src/components/Field.vue +0 -235
  89. package/src/components/Icon.vue +0 -66
  90. package/src/components/Input.vue +0 -129
  91. package/src/components/Loading.vue +0 -70
  92. package/src/components/Menu.vue +0 -42
  93. package/src/components/Modal.vue +0 -230
  94. package/src/components/Notification.vue +0 -136
  95. package/src/components/Pagination.vue +0 -96
  96. package/src/components/Radio.vue +0 -111
  97. package/src/components/Select.vue +0 -155
  98. package/src/components/Sidebar.vue +0 -73
  99. package/src/components/Skeleton.vue +0 -75
  100. package/src/components/Slider.vue +0 -226
  101. package/src/components/Steps.vue +0 -233
  102. package/src/components/Switch.vue +0 -137
  103. package/src/components/Table.vue +0 -278
  104. package/src/components/Tabs.vue +0 -209
  105. package/src/components/Taginput.vue +0 -507
  106. package/src/components/Timepicker.vue +0 -122
  107. package/src/components/Tooltip.vue +0 -187
  108. package/src/components/Upload.vue +0 -66
  109. package/src/main.ts +0 -29
  110. package/src/plugins/theme.ts +0 -1
  111. package/src/router/index.ts +0 -39
  112. package/src/views/Home.vue +0 -24
  113. package/types/index.d.ts +0 -1
@@ -1,295 +0,0 @@
1
- <script setup lang="ts">
2
- import { reactive, ref } from "vue";
3
-
4
- const carousels = [
5
- { text: "Slide 1", color: "#445e00" },
6
- { text: "Slide 2", color: "#006724" },
7
- { text: "Slide 3", color: "#b60000" },
8
- { text: "Slide 4", color: "#f4c300" },
9
- { text: "Slide 5", color: "#005c98" },
10
- ];
11
-
12
- const items = [
13
- {
14
- title: "Slide 1",
15
- image: "https://picsum.photos/id/1/1230/500",
16
- },
17
- {
18
- title: "Slide 2",
19
- image: "https://picsum.photos/id/2/1230/500",
20
- },
21
- {
22
- title: "Slide 3",
23
- image: "https://picsum.photos/id/3/1230/500",
24
- },
25
- {
26
- title: "Slide 4",
27
- image: "https://picsum.photos/id/4/1230/500",
28
- },
29
- {
30
- title: "Slide 5",
31
- image: "https://picsum.photos/id/5/1230/500",
32
- },
33
- {
34
- title: "Slide 6",
35
- image: "https://picsum.photos/id/6/1230/500",
36
- },
37
- {
38
- title: "Slide 7",
39
- image: "https://picsum.photos/id/7/1230/500",
40
- },
41
- ];
42
-
43
- const carousel = ref(1);
44
- const listSettings = reactive({
45
- arrows: true,
46
- arrowsHover: true,
47
- dragable: true,
48
- itemsToShow: 4,
49
- itemsToList: 1,
50
- repeat: false,
51
- });
52
-
53
- const gallery = ref(false);
54
- const indicatorsSettings = reactive({
55
- indicators: false,
56
- itemsToShow: 2,
57
- breakpoints: {
58
- 768: {
59
- itemsToShow: 4,
60
- },
61
- 960: {
62
- itemsToShow: 6,
63
- },
64
- },
65
- });
66
-
67
- function switchGallery(value: boolean): any {
68
- gallery.value = value;
69
-
70
- if (value) {
71
- document.documentElement.classList.add("o-clipped");
72
- } else {
73
- document.documentElement.classList.remove("o-clipped");
74
- }
75
- }
76
-
77
- const customSettings = reactive({
78
- dragable: false,
79
- autoplay: false,
80
- pauseHover: false,
81
- interval: 3000,
82
- repeat: false,
83
- position: "bottom",
84
- style: "dots",
85
- });
86
- </script>
87
-
88
- <template>
89
- <section>
90
- <h2>Carousel Demo</h2>
91
- <hr />
92
- </section>
93
-
94
- <section class="py-4 container">
95
- <h3>Base</h3>
96
-
97
- <o-carousel>
98
- <o-carousel-item v-for="(carousel, i) in carousels" :key="i">
99
- <section
100
- class="ex-slide"
101
- :style="{ 'background-color': carousel.color }">
102
- <h1>{{ carousel.text }}</h1>
103
- </section>
104
- </o-carousel-item>
105
- </o-carousel>
106
- </section>
107
-
108
- <section class="py-4 container">
109
- <h3>Carousel List</h3>
110
-
111
- <div class="example-component">
112
- <o-field grouped group-multiline>
113
- <o-field>
114
- <o-switch v-model="listSettings.arrows" label="Arrow" />
115
- </o-field>
116
- <o-field>
117
- <o-switch
118
- v-model="listSettings.arrowsHover"
119
- :disabled="!listSettings.arrows"
120
- label="Arrow on hover" />
121
- </o-field>
122
- <o-field>
123
- <o-switch v-model="listSettings.dragable" label="Drag event" />
124
- </o-field>
125
- <o-field>
126
- <o-switch v-model="listSettings.repeat" label="Repeat" />
127
- </o-field>
128
- </o-field>
129
- <o-field grouped group-multiline>
130
- <o-field label="Items to Show">
131
- <o-input
132
- v-model.number="listSettings.itemsToShow"
133
- type="number"
134
- min="1"
135
- :max="items.length" />
136
- </o-field>
137
- <o-field label="Items to List">
138
- <o-input
139
- v-model.number="listSettings.itemsToList"
140
- type="number"
141
- min="1"
142
- :max="items.length - 1" />
143
- </o-field>
144
- </o-field>
145
- </div>
146
- <o-carousel v-model="carousel" v-bind="listSettings">
147
- <o-carousel-item v-for="(item, i) in items" :key="i">
148
- <img :src="item.image" />
149
- </o-carousel-item>
150
- </o-carousel>
151
- <p><b>Current Item:</b> {{ carousel }}</p>
152
- </section>
153
-
154
- <section class="py-4 container">
155
- <h3>Custom As indicators</h3>
156
-
157
- <o-carousel
158
- :autoplay="false"
159
- :overlay="gallery"
160
- @click="switchGallery(true)">
161
- <o-carousel-item v-for="(item, i) in items" :key="i">
162
- <a class="image">
163
- <img :src="item.image" />
164
- </a>
165
- </o-carousel-item>
166
- <template #indicators="{ active, switchTo }">
167
- <o-carousel
168
- :model-value="active"
169
- v-bind="indicatorsSettings"
170
- @update:model-value="switchTo($event)">
171
- <o-carousel-item
172
- v-for="(item, i) in items"
173
- :key="i"
174
- clickable
175
- item-class="img-indicator"
176
- item-active-class="img-indicator-active">
177
- <img :src="item.image" />
178
- </o-carousel-item>
179
- </o-carousel>
180
- </template>
181
- <template #overlay>
182
- <button
183
- type="button"
184
- class="btn-close ex-close-icon"
185
- aria-label="Close"
186
- @click="switchGallery(false)" />
187
-
188
- <div style="color: #ffffff; text-align: center">
189
- Hello, I'm an overlay!
190
- </div>
191
- </template>
192
- </o-carousel>
193
- </section>
194
-
195
- <section class="py-4 container">
196
- <h3>Custom</h3>
197
-
198
- <div class="example-component">
199
- <o-field grouped group-multiline>
200
- <o-field>
201
- <o-switch v-model="customSettings.autoplay" label="Autoplay" />
202
- </o-field>
203
- <o-field>
204
- <o-switch
205
- v-model="customSettings.pauseHover"
206
- :disabled="!customSettings.autoplay"
207
- label="Pause on hover" />
208
- </o-field>
209
- <o-field>
210
- <o-switch v-model="customSettings.dragable" label="Drag event" />
211
- </o-field>
212
- <o-field>
213
- <o-switch
214
- v-model="customSettings.repeat"
215
- :disabled="!customSettings.autoplay"
216
- label="Repeat" />
217
- </o-field>
218
- </o-field>
219
- <o-field grouped group-multiline>
220
- <o-field label="Value">
221
- <o-input
222
- v-model.number="carousel"
223
- type="number"
224
- min="0"
225
- :max="carousels.length - 1" />
226
- </o-field>
227
- <o-field label="Interval">
228
- <o-input
229
- v-model.number="customSettings.interval"
230
- type="number"
231
- min="0"
232
- step="1000"
233
- :disabled="!customSettings.autoplay" />
234
- </o-field>
235
- <o-field label="Indicator Position">
236
- <o-select v-model="customSettings.position">
237
- <option value="top">top</option>
238
- <option value="bottom">bottom</option>
239
- </o-select>
240
- </o-field>
241
- <o-field label="Indicator Style">
242
- <o-select v-model="customSettings.style">
243
- <option value="boxes ">boxes</option>
244
- <option value="dots">dots</option>
245
- <option value="lines ">lines</option>
246
- </o-select>
247
- </o-field>
248
- </o-field>
249
- </div>
250
-
251
- <o-carousel
252
- v-model="carousel"
253
- v-bind="customSettings"
254
- :indicator-position="customSettings.position"
255
- indicator-inside
256
- :indicator-style="customSettings.style">
257
- <o-carousel-item v-for="(slide, i) in carousels" :key="i">
258
- <section class="ex-slide" :style="{ 'background-color': slide.color }">
259
- <h1>{{ slide.text }}</h1>
260
- <o-input :placeholder="slide.text" />
261
- <p>A link that <a href="#arrow">goes to arrow</a></p>
262
- </section>
263
- </o-carousel-item>
264
- </o-carousel>
265
- </section>
266
- </template>
267
-
268
- <style lang="scss" scoped>
269
- .container {
270
- max-width: 80vw;
271
- }
272
- .ex-slide {
273
- padding: 9rem 4.5rem;
274
- color: #ffffff;
275
- text-align: center;
276
- }
277
- img {
278
- display: block;
279
- height: auto;
280
- width: 100%;
281
- max-width: 100%;
282
- }
283
- .img-indicator {
284
- filter: grayscale(100%);
285
- }
286
- .img-indicator-active {
287
- filter: grayscale(0%);
288
- }
289
- .ex-close-icon {
290
- position: absolute;
291
- top: 10px;
292
- right: 10px;
293
- filter: var(--bs-btn-close-white-filter);
294
- }
295
- </style>
@@ -1,135 +0,0 @@
1
- <script setup lang="ts">
2
- import { ref } from "vue";
3
-
4
- const checkbox = ref(false);
5
- const checkboxCustom = ref("Yes");
6
- const checkboxGroup = ref(["Flint"]);
7
- </script>
8
-
9
- <template>
10
- <section>
11
- <h2>Checkbox Demo</h2>
12
- <hr />
13
- </section>
14
-
15
- <section>
16
- <h3>Base</h3>
17
-
18
- <o-field>
19
- <o-checkbox v-model="checkbox">
20
- {{ checkbox }}
21
- </o-checkbox>
22
- </o-field>
23
- <o-field>
24
- <o-checkbox v-model="checkboxCustom" true-value="Yes" false-value="No">
25
- {{ checkboxCustom }}
26
- </o-checkbox>
27
- </o-field>
28
- <o-field>
29
- <o-checkbox :indeterminate="true" label="Indeterminate" />
30
- </o-field>
31
- <o-field>
32
- <o-checkbox disabled label="Disabled" />
33
- </o-field>
34
- </section>
35
-
36
- <section>
37
- <h3>Variant</h3>
38
-
39
- <o-field>
40
- <o-checkbox :value="true" label="Default" />
41
- </o-field>
42
- <o-field>
43
- <o-checkbox :value="true" variant="primary" label="Primary" />
44
- </o-field>
45
- <o-field>
46
- <o-checkbox :value="true" variant="secondary" label="Secondary" />
47
- </o-field>
48
- <o-field>
49
- <o-checkbox :value="true" variant="info" label="Info" />
50
- </o-field>
51
- <o-field>
52
- <o-checkbox :value="true" variant="success" label="Success" />
53
- </o-field>
54
- <o-field>
55
- <o-checkbox :value="true" variant="warning" label="Warning" />
56
- </o-field>
57
- <o-field>
58
- <o-checkbox :value="true" variant="danger" label="Danger" />
59
- </o-field>
60
- </section>
61
-
62
- <section>
63
- <h3>Indeterminate</h3>
64
-
65
- <o-field>
66
- <o-checkbox indeterminate label="Default Indeterminate" />
67
- </o-field>
68
- <o-field>
69
- <o-checkbox
70
- variant="primary"
71
- indeterminate
72
- label="Primary Indeterminate" />
73
- </o-field>
74
- <o-field>
75
- <o-checkbox
76
- variant="secondary"
77
- indeterminate
78
- label="Secondary Indeterminate" />
79
- </o-field>
80
- <o-field>
81
- <o-checkbox variant="info" indeterminate label="Info Indeterminate" />
82
- </o-field>
83
- <o-field>
84
- <o-checkbox
85
- variant="success"
86
- indeterminate
87
- label="Success Indeterminate" />
88
- </o-field>
89
- <o-field>
90
- <o-checkbox
91
- variant="warning"
92
- indeterminate
93
- label="Warning Indeterminate" />
94
- </o-field>
95
- <o-field>
96
- <o-checkbox variant="danger" indeterminate label="Danger Indeterminate" />
97
- </o-field>
98
- </section>
99
-
100
- <section>
101
- <h3>Size</h3>
102
-
103
- <o-field>
104
- <o-checkbox size="small" label="Small" />
105
- </o-field>
106
- <o-field>
107
- <o-checkbox label="Default" />
108
- </o-field>
109
- <o-field>
110
- <o-checkbox size="medium" label="Medium" />
111
- </o-field>
112
- <o-field>
113
- <o-checkbox size="large" label="Large" />
114
- </o-field>
115
- </section>
116
-
117
- <section>
118
- <h3>Array</h3>
119
-
120
- <o-field>
121
- <o-checkbox
122
- v-model="checkboxGroup"
123
- native-value="Silver"
124
- label="Silver" />
125
- <o-checkbox v-model="checkboxGroup" native-value="Flint" label="Flint" />
126
- <o-checkbox v-model="checkboxGroup" native-value="Vane" label="Vane" />
127
- <o-checkbox
128
- v-model="checkboxGroup"
129
- native-value="Billy"
130
- disabled
131
- label="Billy" />
132
- </o-field>
133
- <p><b>Selection:</b> {{ checkboxGroup }}</p>
134
- </section>
135
- </template>
@@ -1,134 +0,0 @@
1
- <script setup lang="ts">
2
- import { ref } from "vue";
3
-
4
- const isOpen = ref(1);
5
- const collapses = ref([
6
- {
7
- title: "Open to read something intersting written for you!",
8
- text: `Lorem ipsum dolor sit amet, consectetur adipiscing elit. <br />
9
- Nulla accumsan, metus ultrices eleifend gravida, <br />
10
- nulla nunc varius lectus, nec rutrum justo nibh eu lectus. <br />
11
- Ut vulputate semper dui. Fusce erat odio, sollicitudin vel erat vel, interdum mattis neque.`,
12
- },
13
- {
14
- title: "What the different between Oruga and Buefy?",
15
- text: "Nulla accumsan, metus ultrices eleifend gravida, nulla nunc varius lectus, nec rutrum justo nibh eu lectus. <br />",
16
- },
17
- {
18
- title: "Nothing special, ignore it!",
19
- text: "Ut vulputate semper dui. Fusce erat odio, sollicitudin vel erat vel, interdum mattis neque.",
20
- },
21
- ]);
22
- </script>
23
-
24
- <template>
25
- <section>
26
- <h2>Collapse Demo</h2>
27
- </section>
28
-
29
- <section>
30
- <h2>Base</h2>
31
-
32
- <o-collapse :open="false" aria-id="contentIdForA11y1">
33
- <template #trigger>
34
- <o-button variant="primary" aria-controls="contentIdForA11y1">
35
- Click me!
36
- </o-button>
37
- </template>
38
- <div class="card-body">
39
- <h3>Subtitle</h3>
40
- <p>
41
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. <br />
42
- Nulla accumsan, metus ultrices eleifend gravida, nulla nunc varius
43
- lectus, nec rutrum justo nibh eu lectus. <br />
44
- Ut vulputate semper dui. Fusce erat odio, sollicitudin vel erat vel,
45
- interdum mattis neque.
46
- </p>
47
- </div>
48
- </o-collapse>
49
- </section>
50
-
51
- <section>
52
- <h2>Accordion I</h2>
53
-
54
- <o-collapse
55
- v-for="(collapse, index) of collapses"
56
- :key="index"
57
- class="card"
58
- animation="slide"
59
- :open="isOpen == index"
60
- @update:open="isOpen = index">
61
- <template #trigger="props">
62
- <div class="card-header" role="button">
63
- <p class="card-header-title">
64
- {{ collapse.title }}
65
- </p>
66
- <a class="card-header-icon">
67
- <o-icon :icon="props.open ? 'caret-up' : 'caret-down'" />
68
- </a>
69
- </div>
70
- </template>
71
- <div class="card-content p-2">
72
- <div class="content" v-html="collapse.text" />
73
- </div>
74
- </o-collapse>
75
- </section>
76
- </template>
77
-
78
- <style scoped lang="scss">
79
- article {
80
- margin: 1rem 0;
81
- }
82
-
83
- .card {
84
- margin: 1rem 0;
85
- }
86
-
87
- .card-header-icon {
88
- position: absolute;
89
- top: 0.5rem;
90
- right: 1rem;
91
- }
92
- </style>
93
-
94
- <style scoped lang="scss">
95
- .card {
96
- background-color: #fff;
97
- box-shadow:
98
- 0 2px 3px hsla(0, 0%, 4%, 0.1),
99
- 0 0 0 1px hsla(0, 0%, 4%, 0.1);
100
- color: #4a4a4a;
101
- max-width: 100%;
102
- position: relative;
103
- }
104
-
105
- .card-header {
106
- background-color: transparent;
107
- align-items: stretch;
108
- box-shadow: 0 1px 2px hsla(0, 0%, 4%, 0.1);
109
- display: flex;
110
- }
111
-
112
- .card-header-title {
113
- align-items: center;
114
- color: #363636;
115
- display: flex;
116
- flex-grow: 1;
117
- font-weight: 700;
118
- padding: 0.75rem;
119
- margin: 0;
120
- }
121
-
122
- .card-header-icon {
123
- align-items: center;
124
- cursor: pointer;
125
- display: flex;
126
- padding: 0.75rem;
127
- justify-content: center;
128
- }
129
-
130
- .card-content {
131
- padding: 1.5rem;
132
- background-color: transparent;
133
- }
134
- </style>