@dolanske/vui 1.4.0 → 1.4.2

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 (214) hide show
  1. package/dist/components/Accordion/Accordion.vue.d.ts +48 -0
  2. package/dist/components/Accordion/AccordionGroup.vue.d.ts +21 -0
  3. package/dist/components/Alert/Alert.vue.d.ts +36 -0
  4. package/dist/components/Avatar/Avatar.vue.d.ts +25 -0
  5. package/dist/components/Badge/Badge.vue.d.ts +22 -0
  6. package/dist/components/Breadcrumbs/BreadcrumbItem.vue.d.ts +22 -0
  7. package/dist/components/Breadcrumbs/Breadcrumbs.vue.d.ts +18 -0
  8. package/dist/components/Button/Button.vue.d.ts +32 -0
  9. package/dist/components/ButtonGroup/ButtonGroup.vue.d.ts +22 -0
  10. package/dist/components/Calendar/Calendar.vue.d.ts +27 -0
  11. package/dist/components/Card/Card.vue.d.ts +26 -0
  12. package/dist/components/Checkbox/Checkbox.vue.d.ts +33 -0
  13. package/dist/components/CopyClipboard/CopyClipboard.vue.d.ts +46 -0
  14. package/dist/components/Divider/Divider.vue.d.ts +23 -0
  15. package/dist/components/Drawer/Drawer.vue.d.ts +53 -0
  16. package/dist/components/Dropdown/Dropdown.vue.d.ts +177 -0
  17. package/dist/components/Dropdown/DropdownItem.vue.d.ts +23 -0
  18. package/dist/components/Dropdown/DropdownTitle.vue.d.ts +21 -0
  19. package/dist/components/Flex/Flex.vue.d.ts +41 -0
  20. package/dist/components/Grid/Grid.vue.d.ts +35 -0
  21. package/dist/components/Input/Color.vue.d.ts +11 -0
  22. package/dist/components/Input/Counter.vue.d.ts +19 -0
  23. package/dist/components/Input/Dropzone.vue.d.ts +193 -0
  24. package/dist/components/Input/File.vue.d.ts +8 -0
  25. package/dist/components/Input/Input.vue.d.ts +56 -0
  26. package/dist/components/Input/Password.vue.d.ts +6 -0
  27. package/dist/components/Input/Textarea.vue.d.ts +31 -0
  28. package/dist/components/Kbd/Kbd.vue.d.ts +23 -0
  29. package/dist/components/Kbd/KbdGroup.vue.d.ts +19 -0
  30. package/dist/components/Modal/Confirm.vue.d.ts +43 -0
  31. package/dist/components/Modal/Modal.vue.d.ts +58 -0
  32. package/dist/components/OTP/OTP.vue.d.ts +44 -0
  33. package/dist/components/OTP/OTPItem.vue.d.ts +5 -0
  34. package/dist/components/Pagination/Pagination.vue.d.ts +46 -0
  35. package/dist/components/Pagination/pagination.d.ts +12 -0
  36. package/dist/components/Popout/Popout.vue.d.ts +36 -0
  37. package/dist/components/Progress/Progress.vue.d.ts +33 -0
  38. package/dist/components/Radio/Radio.vue.d.ts +29 -0
  39. package/dist/components/Radio/RadioGroup.vue.d.ts +27 -0
  40. package/dist/components/Select/Select.vue.d.ts +35 -0
  41. package/dist/components/Sheet/Sheet.vue.d.ts +47 -0
  42. package/dist/components/Sidebar/Sidebar.vue.d.ts +70 -0
  43. package/dist/components/Skeleton/Skeleton.vue.d.ts +8 -0
  44. package/dist/components/Spinner/Spinner.vue.d.ts +6 -0
  45. package/dist/components/Switch/Switch.vue.d.ts +28 -0
  46. package/dist/components/Table/Cell.vue.d.ts +22 -0
  47. package/dist/components/Table/Head.vue.d.ts +30 -0
  48. package/dist/components/Table/Root.vue.d.ts +41 -0
  49. package/dist/components/Table/SelectAll.vue.d.ts +2 -0
  50. package/dist/components/Table/SelectRow.vue.d.ts +6 -0
  51. package/dist/components/Table/index.d.ts +6 -0
  52. package/dist/components/Table/table.d.ts +68 -0
  53. package/dist/components/Tabs/Tab.vue.d.ts +22 -0
  54. package/dist/components/Tabs/Tabs.vue.d.ts +34 -0
  55. package/dist/components/Toast/Toasts.vue.d.ts +2 -0
  56. package/dist/components/Toast/toast.d.ts +287 -0
  57. package/dist/components/Tooltip/Tooltip.vue.d.ts +33 -0
  58. package/dist/fonts/GeistMono-Regular.ttf +0 -0
  59. package/dist/fonts/GeistMono-SemiBold.ttf +0 -0
  60. package/dist/fonts/Inter_18pt-Black.ttf +0 -0
  61. package/dist/fonts/Inter_18pt-Bold.ttf +0 -0
  62. package/dist/fonts/Inter_18pt-ExtraBold.ttf +0 -0
  63. package/dist/fonts/Inter_18pt-Light.ttf +0 -0
  64. package/dist/fonts/Inter_18pt-Medium.ttf +0 -0
  65. package/dist/fonts/Inter_18pt-Regular.ttf +0 -0
  66. package/dist/fonts/Inter_18pt-SemiBold.ttf +0 -0
  67. package/dist/index.d.ts +56 -0
  68. package/dist/internal/Backdrop/Backdrop.vue.d.ts +21 -0
  69. package/dist/shared/helpers.d.ts +34 -0
  70. package/dist/shared/slots.d.ts +20 -0
  71. package/dist/shared/theme.d.ts +3 -0
  72. package/dist/shared/types.d.ts +24 -0
  73. package/dist/vui.css +1 -0
  74. package/dist/vui.js +16215 -0
  75. package/package.json +1 -2
  76. package/src/App.vue +0 -103
  77. package/src/components/Accordion/Accordion.vue +0 -98
  78. package/src/components/Accordion/AccordionGroup.vue +0 -49
  79. package/src/components/Accordion/accordion.scss +0 -97
  80. package/src/components/Alert/Alert.vue +0 -59
  81. package/src/components/Alert/alert.scss +0 -162
  82. package/src/components/Avatar/Avatar.vue +0 -53
  83. package/src/components/Avatar/avatar.scss +0 -52
  84. package/src/components/Badge/Badge.vue +0 -21
  85. package/src/components/Badge/badge.scss +0 -210
  86. package/src/components/Breadcrumbs/BreadcrumbItem.vue +0 -26
  87. package/src/components/Breadcrumbs/Breadcrumbs.vue +0 -29
  88. package/src/components/Breadcrumbs/breadcrumbs.scss +0 -31
  89. package/src/components/Button/Button.vue +0 -86
  90. package/src/components/Button/button.scss +0 -292
  91. package/src/components/ButtonGroup/ButtonGroup.vue +0 -28
  92. package/src/components/ButtonGroup/button-group.scss +0 -51
  93. package/src/components/Calendar/Calendar.vue +0 -66
  94. package/src/components/Calendar/calendar.scss +0 -88
  95. package/src/components/Card/Card.vue +0 -48
  96. package/src/components/Card/card.scss +0 -55
  97. package/src/components/Checkbox/Checkbox.vue +0 -54
  98. package/src/components/Checkbox/checkbox.scss +0 -80
  99. package/src/components/CopyClipboard/CopyClipboard.vue +0 -98
  100. package/src/components/CopyClipboard/copy-clipboard.scss +0 -25
  101. package/src/components/Divider/Divider.vue +0 -38
  102. package/src/components/Divider/divider.scss +0 -37
  103. package/src/components/Drawer/Drawer.vue +0 -102
  104. package/src/components/Drawer/drawer.scss +0 -37
  105. package/src/components/Dropdown/Dropdown.vue +0 -120
  106. package/src/components/Dropdown/DropdownItem.vue +0 -33
  107. package/src/components/Dropdown/DropdownTitle.vue +0 -14
  108. package/src/components/Dropdown/dropdown-item.scss +0 -84
  109. package/src/components/Dropdown/dropdown.scss +0 -53
  110. package/src/components/Flex/Flex.vue +0 -113
  111. package/src/components/Grid/Grid.vue +0 -87
  112. package/src/components/Input/Color.vue +0 -26
  113. package/src/components/Input/Counter.vue +0 -66
  114. package/src/components/Input/Dropzone.vue +0 -65
  115. package/src/components/Input/File.vue +0 -15
  116. package/src/components/Input/Input.vue +0 -123
  117. package/src/components/Input/Password.vue +0 -35
  118. package/src/components/Input/Textarea.vue +0 -78
  119. package/src/components/Input/input.scss +0 -302
  120. package/src/components/Kbd/Kbd.vue +0 -48
  121. package/src/components/Kbd/KbdGroup.vue +0 -28
  122. package/src/components/Kbd/kbd.scss +0 -19
  123. package/src/components/Modal/Confirm.vue +0 -56
  124. package/src/components/Modal/Modal.vue +0 -103
  125. package/src/components/Modal/modal.scss +0 -54
  126. package/src/components/OTP/OTP.vue +0 -133
  127. package/src/components/OTP/OTPItem.vue +0 -37
  128. package/src/components/OTP/otp.scss +0 -84
  129. package/src/components/Pagination/Pagination.vue +0 -92
  130. package/src/components/Pagination/pagination.ts +0 -78
  131. package/src/components/Popout/Popout.vue +0 -73
  132. package/src/components/Popout/popout.scss +0 -16
  133. package/src/components/Progress/Progress.vue +0 -103
  134. package/src/components/Progress/progress.scss +0 -47
  135. package/src/components/Radio/Radio.vue +0 -38
  136. package/src/components/Radio/RadioGroup.vue +0 -34
  137. package/src/components/Radio/radio.scss +0 -78
  138. package/src/components/Select/Select.vue +0 -212
  139. package/src/components/Select/select.scss +0 -82
  140. package/src/components/Sheet/Sheet.vue +0 -106
  141. package/src/components/Sheet/sheet.scss +0 -71
  142. package/src/components/Sidebar/Sidebar.vue +0 -116
  143. package/src/components/Sidebar/sidebar.scss +0 -124
  144. package/src/components/Skeleton/Skeleton.vue +0 -43
  145. package/src/components/Skeleton/skeleton.scss +0 -14
  146. package/src/components/Spinner/Spinner.vue +0 -42
  147. package/src/components/Spinner/spinner.scss +0 -47
  148. package/src/components/Switch/Switch.vue +0 -31
  149. package/src/components/Switch/switch.scss +0 -93
  150. package/src/components/Table/Cell.vue +0 -23
  151. package/src/components/Table/Head.vue +0 -66
  152. package/src/components/Table/Root.vue +0 -66
  153. package/src/components/Table/SelectAll.vue +0 -23
  154. package/src/components/Table/SelectRow.vue +0 -30
  155. package/src/components/Table/index.ts +0 -7
  156. package/src/components/Table/table.scss +0 -155
  157. package/src/components/Table/table.ts +0 -248
  158. package/src/components/Tabs/Tab.vue +0 -25
  159. package/src/components/Tabs/Tabs.vue +0 -90
  160. package/src/components/Tabs/tabs.scss +0 -87
  161. package/src/components/Toast/Toasts.vue +0 -52
  162. package/src/components/Toast/toast.scss +0 -45
  163. package/src/components/Toast/toast.ts +0 -75
  164. package/src/components/Tooltip/Tooltip.vue +0 -78
  165. package/src/components/Tooltip/tooltip.scss +0 -5
  166. package/src/examples/ExampleAccordions.vue +0 -69
  167. package/src/examples/ExampleAlerts.vue +0 -78
  168. package/src/examples/ExampleAvatars.vue +0 -44
  169. package/src/examples/ExampleBadges.vue +0 -48
  170. package/src/examples/ExampleBreadcrumbs.vue +0 -46
  171. package/src/examples/ExampleButtons.vue +0 -148
  172. package/src/examples/ExampleCalendars.vue +0 -40
  173. package/src/examples/ExampleCards.vue +0 -94
  174. package/src/examples/ExampleCheckboxes.vue +0 -123
  175. package/src/examples/ExampleCopyClipboard.vue +0 -47
  176. package/src/examples/ExampleDividers.vue +0 -39
  177. package/src/examples/ExampleDrawers.vue +0 -67
  178. package/src/examples/ExampleDropdowns.vue +0 -114
  179. package/src/examples/ExampleFlexGrid.vue +0 -124
  180. package/src/examples/ExampleInputs.vue +0 -236
  181. package/src/examples/ExampleKBD.vue +0 -65
  182. package/src/examples/ExampleModals.vue +0 -143
  183. package/src/examples/ExamplePalette.vue +0 -165
  184. package/src/examples/ExamplePopouts.vue +0 -41
  185. package/src/examples/ExampleSheets.vue +0 -77
  186. package/src/examples/ExampleSidebars.vue +0 -276
  187. package/src/examples/ExampleSkeletons.vue +0 -26
  188. package/src/examples/ExampleSpinners.vue +0 -80
  189. package/src/examples/ExampleTables.vue +0 -359
  190. package/src/examples/ExampleTabs.vue +0 -142
  191. package/src/examples/ExampleToasts.vue +0 -96
  192. package/src/examples/ExampleTooltips.vue +0 -70
  193. package/src/examples/shared/ExampleColor.vue +0 -28
  194. package/src/index.ts +0 -116
  195. package/src/internal/Backdrop/Backdrop.vue +0 -22
  196. package/src/internal/Backdrop/backdrop.scss +0 -34
  197. package/src/main.ts +0 -5
  198. package/src/shared/helpers.ts +0 -124
  199. package/src/shared/slots.ts +0 -61
  200. package/src/shared/theme.ts +0 -22
  201. package/src/shared/types.ts +0 -29
  202. package/src/style/animation.scss +0 -50
  203. package/src/style/core.scss +0 -133
  204. package/src/style/fonts.scss +0 -73
  205. package/src/style/layout.scss +0 -179
  206. package/src/style/media-query.scss +0 -29
  207. package/src/style/reset.scss +0 -135
  208. package/src/style/text.scss +0 -137
  209. package/src/style/theme.scss +0 -195
  210. package/src/style/tooltip.scss +0 -146
  211. package/src/style/typography.scss +0 -435
  212. package/src/style/utils.scss +0 -36
  213. package/src/style.scss +0 -1
  214. 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>