@dolanske/vui 1.4.1 → 1.4.3

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 (140) hide show
  1. package/package.json +1 -2
  2. package/src/App.vue +0 -103
  3. package/src/components/Accordion/Accordion.vue +0 -98
  4. package/src/components/Accordion/AccordionGroup.vue +0 -49
  5. package/src/components/Accordion/accordion.scss +0 -97
  6. package/src/components/Alert/Alert.vue +0 -59
  7. package/src/components/Alert/alert.scss +0 -162
  8. package/src/components/Avatar/Avatar.vue +0 -53
  9. package/src/components/Avatar/avatar.scss +0 -52
  10. package/src/components/Badge/Badge.vue +0 -21
  11. package/src/components/Badge/badge.scss +0 -210
  12. package/src/components/Breadcrumbs/BreadcrumbItem.vue +0 -26
  13. package/src/components/Breadcrumbs/Breadcrumbs.vue +0 -29
  14. package/src/components/Breadcrumbs/breadcrumbs.scss +0 -31
  15. package/src/components/Button/Button.vue +0 -86
  16. package/src/components/Button/button.scss +0 -292
  17. package/src/components/ButtonGroup/ButtonGroup.vue +0 -28
  18. package/src/components/ButtonGroup/button-group.scss +0 -51
  19. package/src/components/Calendar/Calendar.vue +0 -66
  20. package/src/components/Calendar/calendar.scss +0 -88
  21. package/src/components/Card/Card.vue +0 -48
  22. package/src/components/Card/card.scss +0 -55
  23. package/src/components/Checkbox/Checkbox.vue +0 -54
  24. package/src/components/Checkbox/checkbox.scss +0 -80
  25. package/src/components/CopyClipboard/CopyClipboard.vue +0 -98
  26. package/src/components/CopyClipboard/copy-clipboard.scss +0 -25
  27. package/src/components/Divider/Divider.vue +0 -38
  28. package/src/components/Divider/divider.scss +0 -37
  29. package/src/components/Drawer/Drawer.vue +0 -102
  30. package/src/components/Drawer/drawer.scss +0 -37
  31. package/src/components/Dropdown/Dropdown.vue +0 -120
  32. package/src/components/Dropdown/DropdownItem.vue +0 -33
  33. package/src/components/Dropdown/DropdownTitle.vue +0 -14
  34. package/src/components/Dropdown/dropdown-item.scss +0 -84
  35. package/src/components/Dropdown/dropdown.scss +0 -53
  36. package/src/components/Flex/Flex.vue +0 -113
  37. package/src/components/Grid/Grid.vue +0 -87
  38. package/src/components/Input/Color.vue +0 -26
  39. package/src/components/Input/Counter.vue +0 -66
  40. package/src/components/Input/Dropzone.vue +0 -65
  41. package/src/components/Input/File.vue +0 -15
  42. package/src/components/Input/Input.vue +0 -123
  43. package/src/components/Input/Password.vue +0 -35
  44. package/src/components/Input/Textarea.vue +0 -78
  45. package/src/components/Input/input.scss +0 -302
  46. package/src/components/Kbd/Kbd.vue +0 -48
  47. package/src/components/Kbd/KbdGroup.vue +0 -28
  48. package/src/components/Kbd/kbd.scss +0 -19
  49. package/src/components/Modal/Confirm.vue +0 -56
  50. package/src/components/Modal/Modal.vue +0 -103
  51. package/src/components/Modal/modal.scss +0 -54
  52. package/src/components/OTP/OTP.vue +0 -133
  53. package/src/components/OTP/OTPItem.vue +0 -37
  54. package/src/components/OTP/otp.scss +0 -84
  55. package/src/components/Pagination/Pagination.vue +0 -92
  56. package/src/components/Pagination/pagination.ts +0 -78
  57. package/src/components/Popout/Popout.vue +0 -73
  58. package/src/components/Popout/popout.scss +0 -16
  59. package/src/components/Progress/Progress.vue +0 -103
  60. package/src/components/Progress/progress.scss +0 -47
  61. package/src/components/Radio/Radio.vue +0 -38
  62. package/src/components/Radio/RadioGroup.vue +0 -34
  63. package/src/components/Radio/radio.scss +0 -78
  64. package/src/components/Select/Select.vue +0 -212
  65. package/src/components/Select/select.scss +0 -82
  66. package/src/components/Sheet/Sheet.vue +0 -106
  67. package/src/components/Sheet/sheet.scss +0 -71
  68. package/src/components/Sidebar/Sidebar.vue +0 -116
  69. package/src/components/Sidebar/sidebar.scss +0 -124
  70. package/src/components/Skeleton/Skeleton.vue +0 -43
  71. package/src/components/Skeleton/skeleton.scss +0 -14
  72. package/src/components/Spinner/Spinner.vue +0 -42
  73. package/src/components/Spinner/spinner.scss +0 -47
  74. package/src/components/Switch/Switch.vue +0 -31
  75. package/src/components/Switch/switch.scss +0 -93
  76. package/src/components/Table/Cell.vue +0 -23
  77. package/src/components/Table/Head.vue +0 -66
  78. package/src/components/Table/Root.vue +0 -66
  79. package/src/components/Table/SelectAll.vue +0 -23
  80. package/src/components/Table/SelectRow.vue +0 -30
  81. package/src/components/Table/index.ts +0 -7
  82. package/src/components/Table/table.scss +0 -155
  83. package/src/components/Table/table.ts +0 -248
  84. package/src/components/Tabs/Tab.vue +0 -25
  85. package/src/components/Tabs/Tabs.vue +0 -90
  86. package/src/components/Tabs/tabs.scss +0 -87
  87. package/src/components/Toast/Toasts.vue +0 -52
  88. package/src/components/Toast/toast.scss +0 -45
  89. package/src/components/Toast/toast.ts +0 -75
  90. package/src/components/Tooltip/Tooltip.vue +0 -78
  91. package/src/components/Tooltip/tooltip.scss +0 -5
  92. package/src/examples/ExampleAccordions.vue +0 -69
  93. package/src/examples/ExampleAlerts.vue +0 -78
  94. package/src/examples/ExampleAvatars.vue +0 -44
  95. package/src/examples/ExampleBadges.vue +0 -48
  96. package/src/examples/ExampleBreadcrumbs.vue +0 -46
  97. package/src/examples/ExampleButtons.vue +0 -148
  98. package/src/examples/ExampleCalendars.vue +0 -40
  99. package/src/examples/ExampleCards.vue +0 -94
  100. package/src/examples/ExampleCheckboxes.vue +0 -123
  101. package/src/examples/ExampleCopyClipboard.vue +0 -47
  102. package/src/examples/ExampleDividers.vue +0 -39
  103. package/src/examples/ExampleDrawers.vue +0 -67
  104. package/src/examples/ExampleDropdowns.vue +0 -114
  105. package/src/examples/ExampleFlexGrid.vue +0 -124
  106. package/src/examples/ExampleInputs.vue +0 -236
  107. package/src/examples/ExampleKBD.vue +0 -65
  108. package/src/examples/ExampleModals.vue +0 -143
  109. package/src/examples/ExamplePalette.vue +0 -165
  110. package/src/examples/ExamplePopouts.vue +0 -41
  111. package/src/examples/ExampleSheets.vue +0 -77
  112. package/src/examples/ExampleSidebars.vue +0 -276
  113. package/src/examples/ExampleSkeletons.vue +0 -26
  114. package/src/examples/ExampleSpinners.vue +0 -80
  115. package/src/examples/ExampleTables.vue +0 -359
  116. package/src/examples/ExampleTabs.vue +0 -142
  117. package/src/examples/ExampleToasts.vue +0 -96
  118. package/src/examples/ExampleTooltips.vue +0 -70
  119. package/src/examples/shared/ExampleColor.vue +0 -28
  120. package/src/index.ts +0 -116
  121. package/src/internal/Backdrop/Backdrop.vue +0 -22
  122. package/src/internal/Backdrop/backdrop.scss +0 -34
  123. package/src/main.ts +0 -5
  124. package/src/shared/helpers.ts +0 -124
  125. package/src/shared/slots.ts +0 -61
  126. package/src/shared/theme.ts +0 -22
  127. package/src/shared/types.ts +0 -29
  128. package/src/style/animation.scss +0 -50
  129. package/src/style/core.scss +0 -133
  130. package/src/style/fonts.scss +0 -73
  131. package/src/style/layout.scss +0 -179
  132. package/src/style/media-query.scss +0 -29
  133. package/src/style/reset.scss +0 -135
  134. package/src/style/text.scss +0 -137
  135. package/src/style/theme.scss +0 -195
  136. package/src/style/tooltip.scss +0 -146
  137. package/src/style/typography.scss +0 -435
  138. package/src/style/utils.scss +0 -36
  139. package/src/style.scss +0 -1
  140. package/src/vite-env.d.ts +0 -1
@@ -1,165 +0,0 @@
1
- <script setup lang='ts'>
2
- import { Icon } from '@iconify/vue'
3
- import Button from '../components/Button/Button.vue'
4
- import Flex from '../components/Flex/Flex.vue'
5
- import Grid from '../components/Grid/Grid.vue'
6
- import { setColorTheme, theme } from '../shared/theme'
7
- import ExampleColor from './shared/ExampleColor.vue'
8
-
9
- // function getPalette(type: 'light' | 'dark') {
10
- // return Array.from(document.styleSheets)
11
- // .flatMap((styleSheet: CSSStyleSheet) => Array.from(styleSheet.cssRules))
12
- // .filter(
13
- // (cssRule: CSSRule): cssRule is CSSStyleRule =>
14
- // cssRule instanceof CSSStyleRule && cssRule.selectorText === `:root`,
15
- // )
16
- // .flatMap((cssRule: CSSStyleRule) => Array.from(cssRule.style))
17
- // .filter((style: string) => style.startsWith(`--${type}`))
18
- // }
19
-
20
- // const light = getPalette('light')
21
- // const dark = getPalette('dark')
22
- </script>
23
-
24
- <template>
25
- <div>
26
- <h3 class="mb-l">
27
- Themes
28
- </h3>
29
-
30
- <Grid :columns="2">
31
- <Flex class="theme-wrap light" column gap="xxs">
32
- <Flex x-between class="mb-l" y-center expand>
33
- <h5>Light</h5>
34
- <Button :disabled="theme === 'light'" variant="gray" data-title-top="Switch theme" @click="setColorTheme('light')">
35
- <template #start>
36
- <Icon icon="ph:sun" />
37
- </template>
38
- Use
39
- </Button>
40
- </Flex>
41
- <ExampleColor name="Bg" color="--light-color-bg" />
42
- <ExampleColor name="Bg Medium" color="--light-color-bg-medium" />
43
- <ExampleColor name="Bg Raised" color="--light-color-bg-raised" />
44
- <ExampleColor name="Bg Lowered" color="--light-color-bg-lowered" />
45
- <div class="padder" />
46
- <ExampleColor name="Text" color="--light-color-text" />
47
- <ExampleColor name="Text Light" color="--light-color-text-light" />
48
- <ExampleColor name="Text Lighter" color="--light-color-text-lighter" />
49
- <ExampleColor name="Text Lightest" color="--light-color-text-lightest" />
50
- <ExampleColor name="Text Invert" color="--light-color-text-invert" />
51
- <div class="padder" />
52
- <ExampleColor name="Button Gray" color="--light-color-button-gray" />
53
- <ExampleColor name="Button Gray Hover" color="--light-color-button-gray-hover" />
54
- <div class="padder" />
55
- <ExampleColor name="Text Red" color="--light-color-text-red" />
56
- <ExampleColor name="Bg Red Lowered" color="--light-color-bg-red-lowered" />
57
- <ExampleColor name="Bg Red Raised" color="--light-color-bg-red-raised" />
58
- <div class="padder" />
59
- <ExampleColor name="Text Green" color="--light-color-text-green" />
60
- <ExampleColor name="Bg Green Lowered" color="--light-color-bg-green-lowered" />
61
- <ExampleColor name="Bg Green Raised" color="--light-color-bg-green-raised" />
62
- <div class="padder" />
63
- <ExampleColor name="Text Yellow" color="--light-color-text-yellow" />
64
- <ExampleColor name="Bg Yellow Lowered" color="--light-color-bg-yellow-lowered" />
65
- <ExampleColor name="Bg Yellow Raised" color="--light-color-bg-yellow-raised" />
66
- <div class="padder" />
67
- <ExampleColor name="Text Blue" color="--light-color-text-blue" />
68
- <ExampleColor name="Bg Blue Lowered" color="--light-color-bg-blue-lowered" />
69
- <ExampleColor name="Bg Blue Raised" color="--light-color-bg-blue-raised" />
70
- <div class="padder" />
71
- <ExampleColor name="Border" color="--light-color-border" />
72
- <ExampleColor name="Border Strong" color="--light-color-border-strong" />
73
- <ExampleColor name="Border Weak" color="--light-color-border-weak" />
74
- <div class="padder" />
75
- <ExampleColor name="Accent" color="--light-color-accent" />
76
- <ExampleColor name="Bg Accent Lowered" color="--light-color-bg-accent-lowered" />
77
- <ExampleColor name="Bg Accent Raised" color="--light-color-bg-accent-raised" />
78
- <!-- <div class="padder" />
79
- <div class="w-50 block my-m mx-auto" style="height:64px;box-shadow:var(--light-box-shadow)" />
80
- <div class="w-50 block my-m mx-auto" style="height:64px;box-shadow:var(--light-box-shadow-strong)" /> -->
81
- </Flex>
82
-
83
- <Flex class="theme-wrap dark" gap="xxs" column>
84
- <Flex x-between class="mb-l" y-center expand>
85
- <h5>Dark</h5>
86
- <Button :disabled="theme === 'dark'" variant="gray" data-title-top="Switch theme" @click="setColorTheme('dark')">
87
- <template #start>
88
- <Icon icon="ph:moon" />
89
- </template>
90
- Use
91
- </Button>
92
- </Flex>
93
- <ExampleColor name="Bg" color="--dark-color-bg" />
94
- <ExampleColor name="Bg Medium" color="--dark-color-bg-medium" />
95
- <ExampleColor name="Bg Raised" color="--dark-color-bg-raised" />
96
- <ExampleColor name="Bg Lowered" color="--dark-color-bg-lowered" />
97
- <div class="padder" />
98
- <ExampleColor name="Text" color="--dark-color-text" />
99
- <ExampleColor name="Text Light" color="--dark-color-text-light" />
100
- <ExampleColor name="Text Lighter" color="--dark-color-text-lighter" />
101
- <ExampleColor name="Text Lightest" color="--dark-color-text-lightest" />
102
- <ExampleColor name="Text Invert" color="--dark-color-text-invert" />
103
- <div class="padder" />
104
- <ExampleColor name="Button Gray" color="--dark-color-button-gray" />
105
- <ExampleColor name="Button Gray Hover" color="--dark-color-button-gray-hover" />
106
- <div class="padder" />
107
- <ExampleColor name="Text Red" color="--dark-color-text-red" />
108
- <ExampleColor name="Bg Red Lowered" color="--dark-color-bg-red-lowered" />
109
- <ExampleColor name="Bg Red Raised" color="--dark-color-bg-red-raised" />
110
- <div class="padder" />
111
- <ExampleColor name="Text Green" color="--dark-color-text-green" />
112
- <ExampleColor name="Bg Green Lowered" color="--dark-color-bg-green-lowered" />
113
- <ExampleColor name="Bg Green Raised" color="--dark-color-bg-green-raised" />
114
- <div class="padder" />
115
- <ExampleColor name="Text Yellow" color="--dark-color-text-yellow" />
116
- <ExampleColor name="Bg Yellow Lowered" color="--dark-color-bg-yellow-lowered" />
117
- <ExampleColor name="Bg Yellow Raised" color="--dark-color-bg-yellow-raised" />
118
- <div class="padder" />
119
- <ExampleColor name="Text Blue" color="--dark-color-text-blue" />
120
- <ExampleColor name="Bg Blue Lowered" color="--dark-color-bg-blue-lowered" />
121
- <ExampleColor name="Bg Blue Raised" color="--dark-color-bg-blue-raised" />
122
- <div class="padder" />
123
- <ExampleColor name="Border" color="--dark-color-border" />
124
- <ExampleColor name="Border Strong" color="--dark-color-border-strong" />
125
- <ExampleColor name="Border Weak" color="--dark-color-border-weak" />
126
- <div class="padder" />
127
- <ExampleColor name="Accent" color="--dark-color-accent" />
128
- <ExampleColor name="Bg Accent Lowered" color="--dark-color-bg-accent-lowered" />
129
- <ExampleColor name="Bg Accent Raised" color="--dark-color-bg-accent-raised" />
130
- <!-- <div class="padder" />
131
- <div class="w-50 block my-m mx-auto" style="height:64px;box-shadow:var(--dark-box-shadow)" />
132
- <div class="w-50 block my-m mx-auto" style="height:64px;box-shadow:var(--dark-box-shadow-strong)" /> -->
133
- </Flex>
134
- </Grid>
135
- </div>
136
- </template>
137
-
138
- <style>
139
- .padder {
140
- height: 16px;
141
- }
142
-
143
- .theme-wrap {
144
- padding: var(--space-m);
145
- border-radius: var(--border-radius-m);
146
-
147
- &.light {
148
- background-color: white;
149
-
150
- h5,
151
- span {
152
- color: var(--light-color-text) !important;
153
- }
154
- }
155
-
156
- &.dark {
157
- background-color: black;
158
-
159
- h5,
160
- span {
161
- color: var(--dark-color-text) !important;
162
- }
163
- }
164
- }
165
- </style>
@@ -1,41 +0,0 @@
1
- <script setup lang="ts">
2
- import { ref, useTemplateRef } from 'vue'
3
- import Button from '../components/Button/Button.vue'
4
- import Flex from '../components/Flex/Flex.vue'
5
- import Popout from '../components/Popout/Popout.vue'
6
-
7
- const anchRef = useTemplateRef('anch')
8
- const open = ref(false)
9
- </script>
10
-
11
- <template>
12
- <div class="mb-xxl">
13
- <h3 class="mb-l">
14
- Popout
15
- </h3>
16
-
17
- <p class="mb-l">
18
- Popout is a simpler version of dropdown. By default, it only provides functionality to float an element to the anchor. It is up to the developer to style it and set its placement / offset. Both dropdown & tooltip use the popout base.
19
- </p>
20
-
21
- <Flex>
22
- <Button ref="anch" class="mb-xxs" @click="open = !open">
23
- Open popout
24
- </Button>
25
- <p class="text-s text-color-light w-50">
26
- This popout has offset of <code>32</code> and its placement is <code>bottom-start</code>. It also has an attached event to <code>clickOutside</code> which is fired when user clicks outside of the popout. In that case, we manually close it.
27
- </p>
28
- </Flex>
29
- <Popout :visible="open" :anchor="anchRef" class="test-popout" :offset="32" placement="bottom-start" @click-outside="open = false">
30
- <h3>Popout content</h3>
31
- <p>Lorem ipsum dolor, sit amet consectetur adipisicing elit. Dolorem facere eligendi ex, alias itaque molestiae, vero animi, vitae vel fuga corporis aut consectetur temporibus ipsum placeat dolores perferendis. Deleniti, et!</p>
32
- </Popout>
33
- </div>
34
- </template>
35
-
36
- <style scoped>
37
- .test-popout {
38
- max-width: 256px;
39
- padding: var(--space-xl);
40
- }
41
- </style>
@@ -1,77 +0,0 @@
1
- <script setup lang='ts'>
2
- import type { SelectOption } from '../components/Select/Select.vue'
3
- import { ref } from 'vue'
4
- import Button from '../components/Button/Button.vue'
5
- import Flex from '../components/Flex/Flex.vue'
6
- import Input from '../components/Input/Input.vue'
7
- import Select from '../components/Select/Select.vue'
8
- import Sheet from '../components/Sheet/Sheet.vue'
9
-
10
- const open1 = ref()
11
- const open2 = ref()
12
- const width = ref(328)
13
- const options: SelectOption[] = [{ value: 'left', label: 'Left' }, { value: 'right', label: ' Right' }, { value: 'top', label: 'Top' }, { value: 'bottom', label: 'Bottom' }]
14
- const option = ref([options[0]])
15
- </script>
16
-
17
- <template>
18
- <div class="mb-xxl">
19
- <h3 class="mb-l">
20
- Sheets
21
- </h3>
22
-
23
- <Select v-model="option" expand label="Position" :options class="mb-l" required />
24
-
25
- <table>
26
- <tbody>
27
- <tr>
28
- <th>Base + divider + footer</th>
29
- <td>
30
- <Flex gap="m" x-start>
31
- <Button @click="open1 = !open1">
32
- Open
33
- </Button>
34
- <Sheet :open="open1" :position="option[0].value" separator @close="open1 = false">
35
- <template #header>
36
- <h2>Hello </h2>
37
- </template>
38
- <h2 class="text-color-lighter">
39
- Lorem ipsum dolor sit amet consectetur adipisicing elit. Accusamus alias consectetur obcaecati recusandae debitis voluptatum exercitationem. Nam facilis laudantium labore sint cum, veritatis autem asperiores consectetur possimus cumque beatae eveniet. Lorem ipsum dolor sit amet consectetur adipisicing elit. Impedit rem quod quisquam laborum sed excepturi, eum nisi nostrum, totam nihil magni voluptatum rerum culpa voluptatibus velit, sapiente fuga similique eius?
40
- </h2>
41
- <template #footer="{ close }">
42
- <p class="mb-s">
43
- Lorem ipsum dolor sit amet consectetur adipisicing elit. Perferendis placeat nisi, in velit temporibus at esse error et iusto vero odit illo veritatis rem cum delectus autem minus quod reiciendis.
44
- </p>
45
- <Button @click="close">
46
- Close
47
- </Button>
48
- </template>
49
- </Sheet>
50
- </Flex>
51
- </td>
52
- </tr>
53
- <tr>
54
- <th>Width</th>
55
- <td>
56
- <Flex gap="m" x-start y-center>
57
- <Input v-model="width">
58
- <template #start>
59
- Width
60
- </template>
61
- </Input>
62
- <Button @click="open2 = !open2">
63
- Open
64
- </Button>
65
- <Sheet :open="open2" :position="option[0].value" :size="width" @close="open2 = false">
66
- <template #header>
67
- <h2>Hello </h2>
68
- </template>
69
- <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Accusamus alias consectetur obcaecati recusandae debitis voluptatum exercitationem. Nam facilis laudantium labore sint cum, veritatis autem asperiores consectetur possimus cumque beatae eveniet.</p>
70
- </Sheet>
71
- </Flex>
72
- </td>
73
- </tr>
74
- </tbody>
75
- </table>
76
- </div>
77
- </template>
@@ -1,276 +0,0 @@
1
- <script setup lang='ts'>
2
- import { useStorage } from '@vueuse/core'
3
- import { ref } from 'vue'
4
- import Avatar from '../components/Avatar/Avatar.vue'
5
- import Button from '../components/Button/Button.vue'
6
- import DropdownItem from '../components/Dropdown/DropdownItem.vue'
7
- import Flex from '../components/Flex/Flex.vue'
8
- import Grid from '../components/Grid/Grid.vue'
9
- import Sidebar from '../components/Sidebar/Sidebar.vue'
10
- import Switch from '../components/Switch/Switch.vue'
11
-
12
- const s1 = useStorage('sidebar-open', false)
13
- const s1Mini = useStorage('sidebar-mini', true)
14
-
15
- const s2 = ref(true)
16
- const s3 = ref(true)
17
- </script>
18
-
19
- <template>
20
- <div class="mb-xxl">
21
- <h3 class="mb-l">
22
- Sidebars
23
- </h3>
24
-
25
- <Grid :columns="2" gap="xl">
26
- <div>
27
- <span class="mb-m block">Base + slots</span>
28
- <div class="vui-sidebar-layout" :style="{ height: '512px' }">
29
- <Sidebar>
30
- <template #header>
31
- <Flex y-center>
32
- <img src="https://dolansky.dev/backgrounds/star.png" class="sidebar-logo" width="40" alt="">
33
- <h3>ABC</h3>
34
- </Flex>
35
- </template>
36
- <DropdownItem icon="ph:house">
37
- Home
38
- </DropdownItem>
39
- <DropdownItem icon="ph:user">
40
- About
41
- </DropdownItem>
42
- <DropdownItem icon="ph:phone">
43
- Contact
44
- </DropdownItem>
45
- <template #footer>
46
- <Flex y-center>
47
- <Avatar size="m" />
48
- <span class="flex-1">dolanske</span>
49
- <Button plain size="s" icon="ph:sign-out" />
50
- </Flex>
51
- </template>
52
- </Sidebar>
53
- <main class="p-l typeset">
54
- <h4>My page</h4>
55
- <p>Lorem ipsum dolor, sit amet consectetur adipisicing elit. Atque deleniti asperiores quibusdam et commodi deserunt libero officia doloremque. Possimus ipsum sunt odit culpa consequatur hic reiciendis doloremque consequuntur tempore excepturi?</p>
56
- <hr>
57
- <p>Yes that's correct</p>
58
- <ul>
59
- <li>Secure</li>
60
- <li>Reliant</li>
61
- <li>Ublumf</li>
62
- </ul>
63
- </main>
64
- </div>
65
- </div>
66
-
67
- <div>
68
- <span class="mb-m block">Toggleable + floaty</span>
69
- <div class="vui-sidebar-layout" :style="{ height: '512px' }">
70
- <Sidebar v-model="s1" floaty>
71
- <template #header="{ close }">
72
- <Flex y-center>
73
- <img src="https://dolansky.dev/backgrounds/star.png" class="sidebar-logo" width="40" alt="">
74
- <h3 class="flex-1">
75
- ABC
76
- </h3>
77
- <Button plain size="s" icon="ph:x" @click="close" />
78
- </Flex>
79
- </template>
80
- <DropdownItem icon="ph:house">
81
- Outside
82
- </DropdownItem>
83
- <DropdownItem icon="ph:user">
84
- About You
85
- </DropdownItem>
86
- <DropdownItem icon="ph:phone">
87
- No contact
88
- </DropdownItem>
89
- </Sidebar>
90
- <main class="p-l">
91
- <Flex y-center class="mb-m">
92
- <Button plain size="s" icon="ph:sidebar-simple" @click="s1 = !s1" />
93
- <h4>
94
- My page
95
- </h4>
96
- </Flex>
97
-
98
- <div class="typeset">
99
- <p>Lorem ipsum dolor, sit amet consectetur adipisicing elit. Atque deleniti asperiores quibusdam et commodi deserunt libero officia doloremque. Possimus ipsum sunt odit culpa consequatur hic reiciendis doloremque consequuntur tempore excepturi?</p>
100
- <hr>
101
- <p>Yes that's correct</p>
102
- <ul>
103
- <li>Secure</li>
104
- <li>Reliant</li>
105
- <li>Ublumf</li>
106
- </ul>
107
- </div>
108
- </main>
109
- </div>
110
- </div>
111
-
112
- <div>
113
- <Flex y-center x-star class="mb-m">
114
- <span class="block">Mini</span>
115
- <Switch v-model="s1Mini" />
116
- </Flex>
117
- <div class="vui-sidebar-layout" :style="{ height: '512px' }">
118
- <Sidebar v-model="s2" :mini="s1Mini">
119
- <template #header>
120
- <Flex y-center>
121
- <img src="https://dolansky.dev/backgrounds/star.png" class="sidebar-logo" width="40" alt="">
122
- </Flex>
123
- </template>
124
- <DropdownItem icon="ph:house">
125
- Home
126
- </DropdownItem>
127
- <DropdownItem icon="ph:user">
128
- About
129
- </DropdownItem>
130
- <DropdownItem icon="ph:phone">
131
- Contact
132
- </DropdownItem>
133
-
134
- <template #footer="{ close }">
135
- <Flex x-center>
136
- <Button plain icon="ph:x" @click="close" />
137
- </Flex>
138
- </template>
139
- </Sidebar>
140
- <main class="p-l">
141
- <Flex y-center class="mb-m">
142
- <Button plain size="s" icon="ph:sidebar-simple" @click="s2 = !s2" />
143
- <h4>
144
- My page
145
- </h4>
146
- </Flex>
147
-
148
- <div class="typeset">
149
- <p>Lorem ipsum dolor, sit amet consectetur adipisicing elit. Atque deleniti asperiores quibusdam et commodi deserunt libero officia doloremque. Possimus ipsum sunt odit culpa consequatur hic reiciendis doloremque consequuntur tempore excepturi?</p>
150
- <hr>
151
- <p>Yes that's correct</p>
152
- <ul>
153
- <li>Secure</li>
154
- <li>Reliant</li>
155
- <li>Ublumf</li>
156
- </ul>
157
- </div>
158
- </main>
159
- </div>
160
- </div>
161
-
162
- <div>
163
- <span class="mb-m block">Mini & floaty </span>
164
- <div class="vui-sidebar-layout" :style="{ height: '512px' }">
165
- <Sidebar v-model="s3" mini floaty>
166
- <template #header>
167
- <Flex y-center>
168
- <img src="https://dolansky.dev/backgrounds/star.png" class="sidebar-logo" width="40" alt="">
169
- </Flex>
170
- </template>
171
- <DropdownItem icon="ph:house">
172
- Home
173
- </DropdownItem>
174
- <DropdownItem icon="ph:user">
175
- About
176
- </DropdownItem>
177
- <DropdownItem icon="ph:phone">
178
- Contact
179
- </DropdownItem>
180
-
181
- <template #footer="{ close }">
182
- <Flex x-center>
183
- <Button plain icon="ph:x" @click="close" />
184
- </Flex>
185
- </template>
186
- </Sidebar>
187
- <main class="p-l">
188
- <Flex y-center class="mb-m">
189
- <Button plain size="s" icon="ph:sidebar-simple" @click="s3 = !s3" />
190
- <h4>
191
- My page
192
- </h4>
193
- </Flex>
194
-
195
- <div class="typeset">
196
- <p>Lorem ipsum dolor, sit amet consectetur adipisicing elit. Atque deleniti asperiores quibusdam et commodi deserunt libero officia doloremque. Possimus ipsum sunt odit culpa consequatur hic reiciendis doloremque consequuntur tempore excepturi?</p>
197
- <hr>
198
- <p>Yes that's correct</p>
199
- <ul>
200
- <li>Secure</li>
201
- <li>Reliant</li>
202
- <li>Ublumf</li>
203
- </ul>
204
- </div>
205
- </main>
206
- </div>
207
- </div>
208
-
209
- <div>
210
- <span class="mb-m block">Appear + custom width</span>
211
- <div class="vui-sidebar-layout" :style="{ height: '512px' }">
212
- <Sidebar appear :width="300">
213
- <template #header>
214
- <img src="https://dolansky.dev/backgrounds/star.png" class="sidebar-logo" width="40" alt="">
215
- </template>
216
- <DropdownItem icon="ph:house">
217
- Home
218
- </DropdownItem>
219
- <DropdownItem icon="ph:user">
220
- About
221
- </DropdownItem>
222
- <DropdownItem icon="ph:phone">
223
- Contact
224
- </DropdownItem>
225
- </Sidebar>
226
- <main class="p-l typeset">
227
- <h4>
228
- Appear sidebar
229
- </h4>
230
- <p>This sidebar will appear automatically whenever the curosor is close to the edge of the sidebar wrapper.</p>
231
- </main>
232
- </div>
233
- </div>
234
-
235
- <div>
236
- <span class="mb-m block">Appear + mini + floaty</span>
237
- <div class="vui-sidebar-layout" :style="{ height: '512px' }">
238
- <Sidebar appear mini floaty>
239
- <template #header>
240
- <img src="https://dolansky.dev/backgrounds/star.png" class="sidebar-logo" width="40" alt="">
241
- </template>
242
- <DropdownItem icon="ph:house">
243
- Home
244
- </DropdownItem>
245
- <DropdownItem icon="ph:user">
246
- About
247
- </DropdownItem>
248
- <DropdownItem icon="ph:phone">
249
- Contact
250
- </DropdownItem>
251
- </Sidebar>
252
- <main class="p-l typeset">
253
- <h4>
254
- Appear sidebar
255
- </h4>
256
- <p>This sidebar will appear automatically whenever the curosor is close to the edge of the sidebar wrapper.</p>
257
- </main>
258
- </div>
259
- </div>
260
- </Grid>
261
- </div>
262
- </template>
263
-
264
- <style scoped>
265
- .vui-sidebar-layout {
266
- border: 1px solid var(--color-border);
267
- border-radius: var(--border-radius-m);
268
- overflow: hidden;
269
- }
270
-
271
- html.dark {
272
- .sidebar-logo {
273
- filter: invert() !important;
274
- }
275
- }
276
- </style>
@@ -1,26 +0,0 @@
1
- <script setup lang='ts'>
2
- import Flex from '../components/Flex/Flex.vue'
3
- import Skeleton from '../components/Skeleton/Skeleton.vue'
4
- </script>
5
-
6
- <template>
7
- <div class="mb-xxl">
8
- <h3 class="mb-l">
9
- Skeletons
10
- </h3>
11
- <table>
12
- <tbody>
13
- <tr>
14
- <th>No defaults <br> Width, height, roundness must be specified</th>
15
- <td>
16
- <Flex gap="s">
17
- <Skeleton :width="80" :height="48" :radius="8" />
18
- <Skeleton :width="48" :height="48" :radius="8" />
19
- <Skeleton :width="48" circle />
20
- </Flex>
21
- </td>
22
- </tr>
23
- </tbody>
24
- </table>
25
- </div>
26
- </template>
@@ -1,80 +0,0 @@
1
- <script setup lang='ts'>
2
- import { ref, watch } from 'vue'
3
- import Button from '../components/Button/Button.vue'
4
- import Checkbox from '../components/Checkbox/Checkbox.vue'
5
- import Flex from '../components/Flex/Flex.vue'
6
- import Progress from '../components/Progress/Progress.vue'
7
- import Spinner from '../components/Spinner/Spinner.vue'
8
-
9
- const paused = ref(true)
10
- const progress = ref(25)
11
-
12
- const fakeProgress = ref(15)
13
- const showFixed = ref(false)
14
- const variants = ['s', 'm', 'l'] as const
15
-
16
- watch(paused, () => fakeProgress.value = 0)
17
- </script>
18
-
19
- <template>
20
- <div class="mb-xxl">
21
- <h3 class="mb-l">
22
- <Flex y-center gap="m">
23
- Loading
24
- <Button square :icon="paused ? 'ph:play' : 'ph:pause'" size="s" plain @click="paused = !paused" />
25
- </Flex>
26
- </h3>
27
- <table>
28
- <tbody>
29
- <tr>
30
- <th>Spinners</th>
31
- <td>
32
- <Flex
33
- gap="l" :style="{
34
- 'animation-play-state': 'paused',
35
- }"
36
- >
37
- <Spinner
38
- v-for="size in variants" :key="size" :size :style="{
39
- 'animation-play-state': paused ? 'paused' : 'running',
40
- }"
41
- />
42
- </Flex>
43
- </td>
44
- </tr>
45
- <tr>
46
- <th>Progress bar</th>
47
- <td class="w-80">
48
- <Flex gap="s" y-center>
49
- <Button square icon="ph:minus" size="s" @click="progress -= 5" />
50
- <Progress v-model="progress" class="w-full" />
51
- <Button square icon="ph:plus" size="s" @click="progress += 5" />
52
- </Flex>
53
- </td>
54
- </tr>
55
- <tr>
56
- <th>Progress bar tall</th>
57
- <td class="w-80">
58
- <Flex gap="s" y-center>
59
- <Progress v-model="progress" :height="8" class="w-full" />
60
- </Flex>
61
- </td>
62
- </tr>
63
- <tr>
64
- <th>Fake</th>
65
- <td>
66
- <Progress v-model="fakeProgress" :fake="!paused" />
67
- </td>
68
- </tr>
69
- <tr>
70
- <th>Fixed</th>
71
- <td>
72
- <Checkbox v-model="showFixed" label="Show fixed progress bar (look up)" />
73
-
74
- <Progress v-if="showFixed" v-model="fakeProgress" :fake="!paused" fixed />
75
- </td>
76
- </tr>
77
- </tbody>
78
- </table>
79
- </div>
80
- </template>