@indielayer/ui 1.4.0 → 1.5.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 (217) hide show
  1. package/docs/components/common/CodePreview.vue +1 -1
  2. package/docs/components/common/CodeSnippet.vue +5 -7
  3. package/docs/components/common/DocumentPage.vue +89 -93
  4. package/docs/components/menu/DocsMenu.vue +75 -122
  5. package/docs/components/toolbar/PreToolbar.vue +10 -12
  6. package/docs/components/toolbar/Toolbar.vue +21 -8
  7. package/docs/layouts/default.vue +7 -3
  8. package/docs/pages/colors.vue +49 -54
  9. package/docs/pages/component/button/button-group.vue +6 -2
  10. package/docs/pages/component/button/size.vue +1 -1
  11. package/docs/pages/component/carousel/usage.vue +2 -2
  12. package/docs/pages/component/form/usage.vue +3 -3
  13. package/docs/pages/component/formGroup/usage.vue +1 -0
  14. package/docs/pages/component/input/usage.vue +8 -9
  15. package/docs/pages/component/modal/composed.vue +10 -2
  16. package/docs/pages/component/modal/usage.vue +11 -6
  17. package/docs/pages/component/popover/usage.vue +3 -3
  18. package/docs/pages/component/select/usage.vue +1 -0
  19. package/docs/pages/component/tabs/usage.vue +6 -1
  20. package/docs/pages/component/textarea/usage.vue +10 -13
  21. package/docs/pages/component/toggle/usage.vue +9 -11
  22. package/docs/pages/component/tooltip/index.vue +2 -2
  23. package/docs/pages/component/tooltip/usage.vue +4 -8
  24. package/docs/pages/icons.vue +54 -58
  25. package/docs/pages/index.vue +73 -77
  26. package/docs/pages/play.vue +2 -14
  27. package/docs/pages/typography.vue +26 -30
  28. package/docs/router/index.ts +2 -0
  29. package/exports/tailwind.preset.js +0 -1
  30. package/lib/components/accordion/theme/AccordionItem.base.theme.js +7 -7
  31. package/lib/components/badge/Badge.vue.js +7 -7
  32. package/lib/components/breadcrumbs/theme/Breadcrumbs.base.theme.js +1 -1
  33. package/lib/components/button/Button.vue.js +2 -2
  34. package/lib/components/button/Button.vue2.js +26 -26
  35. package/lib/components/button/theme/Button.base.theme.js +7 -7
  36. package/lib/components/card/theme/Card.base.theme.js +1 -1
  37. package/lib/components/checkbox/Checkbox.vue.d.ts +3 -0
  38. package/lib/components/checkbox/Checkbox.vue2.js +23 -23
  39. package/lib/components/checkbox/theme/Checkbox.base.theme.js +6 -6
  40. package/lib/components/checkbox/theme/Checkbox.carbon.theme.js +2 -2
  41. package/lib/components/container/theme/Container.base.theme.js +2 -2
  42. package/lib/components/divider/Divider.vue.js +14 -14
  43. package/lib/components/divider/theme/Divider.base.theme.js +2 -2
  44. package/lib/components/drawer/Drawer.vue.js +2 -2
  45. package/lib/components/drawer/theme/Drawer.base.theme.js +1 -1
  46. package/lib/components/form/Form.vue.js +1 -1
  47. package/lib/components/form/theme/Form.base.theme.js +4 -4
  48. package/lib/components/form/theme/Form.carbon.theme.js +4 -4
  49. package/lib/components/formGroup/FormGroup.vue.d.ts +3 -0
  50. package/lib/components/formGroup/FormGroup.vue.js +16 -15
  51. package/lib/components/formGroup/theme/FormGroup.base.theme.js +1 -1
  52. package/lib/components/icon/theme/Icon.base.theme.js +1 -1
  53. package/lib/components/index.js +108 -107
  54. package/lib/components/input/Input.vue.d.ts +3 -0
  55. package/lib/components/input/Input.vue.js +4 -3
  56. package/lib/components/input/theme/Input.base.theme.js +10 -10
  57. package/lib/components/input/theme/Input.carbon.theme.js +10 -10
  58. package/lib/components/inputFooter/theme/InputFooter.base.theme.js +3 -3
  59. package/lib/components/inputFooter/theme/InputFooter.carbon.theme.js +2 -2
  60. package/lib/components/label/Label.vue.d.ts +3 -0
  61. package/lib/components/label/Label.vue.js +26 -20
  62. package/lib/components/label/theme/Label.base.theme.js +1 -1
  63. package/lib/components/label/theme/Label.carbon.theme.js +3 -3
  64. package/lib/components/link/Link.vue.js +2 -2
  65. package/lib/components/link/Link.vue2.js +4 -4
  66. package/lib/components/loader/theme/Loader.base.theme.js +1 -1
  67. package/lib/components/loader/theme/Loader.carbon.theme.js +1 -1
  68. package/lib/components/menu/Menu.vue.js +19 -19
  69. package/lib/components/menu/theme/MenuItem.base.theme.js +21 -31
  70. package/lib/components/modal/Modal.vue.d.ts +4 -0
  71. package/lib/components/modal/Modal.vue.js +80 -74
  72. package/lib/components/modal/theme/Modal.base.theme.js +10 -10
  73. package/lib/components/modal/theme/Modal.carbon.theme.js +3 -3
  74. package/lib/components/notifications/Notifications.vue.js +1 -1
  75. package/lib/components/notifications/theme/Notifications.base.theme.js +1 -1
  76. package/lib/components/notifications/theme/Notifications.carbon.theme.js +3 -3
  77. package/lib/components/pagination/Pagination.vue.js +27 -27
  78. package/lib/components/popover/Popover.vue.d.ts +13 -0
  79. package/lib/components/popover/Popover.vue.js +13 -8
  80. package/lib/components/popover/Popover.vue2.js +3 -2
  81. package/lib/components/popover/Popover.vue3.js +2 -3
  82. package/lib/components/popover/theme/PopoverContainer.base.theme.js +4 -4
  83. package/lib/components/popover/theme/PopoverContainer.carbon.theme.js +4 -4
  84. package/lib/components/progress/Progress.vue.js +11 -11
  85. package/lib/components/progress/theme/Progress.base.theme.js +10 -10
  86. package/lib/components/radio/Radio.vue.d.ts +3 -0
  87. package/lib/components/radio/theme/Radio.base.theme.js +28 -28
  88. package/lib/components/radio/theme/Radio.carbon.theme.js +8 -8
  89. package/lib/components/select/Select.vue.d.ts +16 -0
  90. package/lib/components/select/Select.vue.js +95 -92
  91. package/lib/components/select/theme/Select.base.theme.js +11 -11
  92. package/lib/components/select/theme/Select.carbon.theme.js +10 -10
  93. package/lib/components/skeleton/theme/Skeleton.base.theme.js +1 -1
  94. package/lib/components/slider/Slider.vue.d.ts +3 -0
  95. package/lib/components/slider/Slider.vue.js +1 -1
  96. package/lib/components/slider/theme/Slider.carbon.theme.js +6 -6
  97. package/lib/components/stepper/Stepper.vue.js +14 -14
  98. package/lib/components/tab/Tab.vue.js +55 -54
  99. package/lib/components/tab/theme/TabGroup.base.theme.js +15 -15
  100. package/lib/components/tab/theme/TabGroup.carbon.theme.js +8 -8
  101. package/lib/components/table/Table.vue.js +192 -194
  102. package/lib/components/table/theme/Table.base.theme.js +3 -3
  103. package/lib/components/table/theme/Table.carbon.theme.js +7 -7
  104. package/lib/components/table/theme/TableHead.base.theme.js +1 -1
  105. package/lib/components/table/theme/TableHead.carbon.theme.js +1 -1
  106. package/lib/components/table/theme/TableHeader.base.theme.js +1 -1
  107. package/lib/components/table/theme/TableHeader.carbon.theme.js +2 -2
  108. package/lib/components/table/theme/TableRow.base.theme.js +3 -3
  109. package/lib/components/table/theme/TableRow.carbon.theme.js +3 -3
  110. package/lib/components/tag/Tag.vue.js +4 -4
  111. package/lib/components/textarea/Textarea.vue.d.ts +7 -0
  112. package/lib/components/textarea/Textarea.vue.js +23 -21
  113. package/lib/components/textarea/theme/Textarea.base.theme.js +6 -6
  114. package/lib/components/textarea/theme/Textarea.carbon.theme.js +6 -6
  115. package/lib/components/toggle/Toggle.vue.d.ts +3 -0
  116. package/lib/components/toggle/Toggle.vue.js +26 -26
  117. package/lib/components/toggle/theme/Toggle.base.theme.js +1 -1
  118. package/lib/components/tooltip/ToggleTip.vue.d.ts +14 -0
  119. package/lib/components/tooltip/ToggleTip.vue.js +29 -0
  120. package/lib/components/tooltip/ToggleTip.vue2.js +4 -0
  121. package/lib/components/tooltip/Tooltip.vue.d.ts +22 -3
  122. package/lib/components/tooltip/Tooltip.vue.js +26 -17
  123. package/lib/components/tooltip/__tests__/ToggleTip.spec.d.ts +1 -0
  124. package/lib/components/tooltip/index.d.ts +2 -0
  125. package/lib/composables/useColors.js +9 -9
  126. package/lib/composables/useInputtable.d.ts +1 -0
  127. package/lib/composables/useInputtable.js +20 -19
  128. package/lib/index.js +37 -35
  129. package/lib/index.umd.js +7 -3
  130. package/lib/tailwind.preset.js +0 -1
  131. package/lib/themes/base/index.js +3 -6
  132. package/lib/themes/base/styles.css.js +4 -0
  133. package/lib/version.d.ts +1 -1
  134. package/lib/version.js +1 -1
  135. package/package.json +2 -1
  136. package/src/components/accordion/theme/AccordionItem.base.theme.ts +2 -2
  137. package/src/components/badge/Badge.vue +1 -1
  138. package/src/components/breadcrumbs/theme/Breadcrumbs.base.theme.ts +1 -1
  139. package/src/components/button/Button.vue +1 -1
  140. package/src/components/button/theme/Button.base.theme.ts +2 -2
  141. package/src/components/card/theme/Card.base.theme.ts +1 -1
  142. package/src/components/checkbox/Checkbox.vue +1 -1
  143. package/src/components/checkbox/theme/Checkbox.base.theme.ts +8 -8
  144. package/src/components/checkbox/theme/Checkbox.carbon.theme.ts +2 -2
  145. package/src/components/container/theme/Container.base.theme.ts +2 -2
  146. package/src/components/divider/Divider.vue +1 -1
  147. package/src/components/divider/theme/Divider.base.theme.ts +2 -2
  148. package/src/components/drawer/Drawer.vue +2 -2
  149. package/src/components/drawer/theme/Drawer.base.theme.ts +1 -1
  150. package/src/components/form/Form.vue +1 -1
  151. package/src/components/form/theme/Form.base.theme.ts +1 -1
  152. package/src/components/form/theme/Form.carbon.theme.ts +1 -1
  153. package/src/components/formGroup/FormGroup.vue +1 -0
  154. package/src/components/formGroup/theme/FormGroup.base.theme.ts +1 -1
  155. package/src/components/icon/theme/Icon.base.theme.ts +2 -2
  156. package/src/components/input/Input.vue +2 -1
  157. package/src/components/input/theme/Input.base.theme.ts +5 -5
  158. package/src/components/input/theme/Input.carbon.theme.ts +6 -6
  159. package/src/components/inputFooter/theme/InputFooter.base.theme.ts +3 -3
  160. package/src/components/inputFooter/theme/InputFooter.carbon.theme.ts +2 -2
  161. package/src/components/label/Label.vue +4 -1
  162. package/src/components/label/theme/Label.base.theme.ts +1 -1
  163. package/src/components/label/theme/Label.carbon.theme.ts +1 -1
  164. package/src/components/link/Link.vue +1 -1
  165. package/src/components/loader/theme/Loader.base.theme.ts +1 -1
  166. package/src/components/loader/theme/Loader.carbon.theme.ts +1 -1
  167. package/src/components/menu/Menu.vue +3 -3
  168. package/src/components/menu/theme/MenuItem.base.theme.ts +30 -34
  169. package/src/components/modal/Modal.vue +11 -4
  170. package/src/components/modal/theme/Modal.base.theme.ts +9 -6
  171. package/src/components/modal/theme/Modal.carbon.theme.ts +3 -3
  172. package/src/components/notifications/Notifications.vue +1 -1
  173. package/src/components/notifications/theme/Notifications.base.theme.ts +1 -1
  174. package/src/components/notifications/theme/Notifications.carbon.theme.ts +1 -1
  175. package/src/components/pagination/Pagination.vue +3 -3
  176. package/src/components/popover/Popover.vue +77 -2
  177. package/src/components/popover/theme/PopoverContainer.base.theme.ts +1 -1
  178. package/src/components/popover/theme/PopoverContainer.carbon.theme.ts +1 -1
  179. package/src/components/progress/Progress.vue +1 -1
  180. package/src/components/progress/theme/Progress.base.theme.ts +2 -2
  181. package/src/components/radio/theme/Radio.base.theme.ts +8 -8
  182. package/src/components/radio/theme/Radio.carbon.theme.ts +1 -1
  183. package/src/components/select/Select.vue +7 -4
  184. package/src/components/select/theme/Select.base.theme.ts +8 -8
  185. package/src/components/select/theme/Select.carbon.theme.ts +8 -8
  186. package/src/components/skeleton/theme/Skeleton.base.theme.ts +1 -1
  187. package/src/components/slider/Slider.vue +1 -1
  188. package/src/components/slider/theme/Slider.carbon.theme.ts +1 -1
  189. package/src/components/stepper/Stepper.vue +3 -3
  190. package/src/components/tab/Tab.vue +3 -3
  191. package/src/components/tab/theme/TabGroup.base.theme.ts +4 -4
  192. package/src/components/tab/theme/TabGroup.carbon.theme.ts +3 -3
  193. package/src/components/table/Table.vue +2 -0
  194. package/src/components/table/theme/Table.base.theme.ts +1 -1
  195. package/src/components/table/theme/Table.carbon.theme.ts +2 -2
  196. package/src/components/table/theme/TableHead.base.theme.ts +1 -1
  197. package/src/components/table/theme/TableHead.carbon.theme.ts +1 -1
  198. package/src/components/table/theme/TableHeader.base.theme.ts +1 -1
  199. package/src/components/table/theme/TableHeader.carbon.theme.ts +2 -2
  200. package/src/components/table/theme/TableRow.base.theme.ts +3 -3
  201. package/src/components/table/theme/TableRow.carbon.theme.ts +3 -3
  202. package/src/components/tag/Tag.vue +1 -1
  203. package/src/components/textarea/Textarea.vue +3 -1
  204. package/src/components/textarea/theme/Textarea.base.theme.ts +5 -4
  205. package/src/components/textarea/theme/Textarea.carbon.theme.ts +5 -5
  206. package/src/components/toggle/Toggle.vue +3 -3
  207. package/src/components/toggle/theme/Toggle.base.theme.ts +1 -1
  208. package/src/components/tooltip/ToggleTip.vue +31 -0
  209. package/src/components/tooltip/Tooltip.vue +14 -4
  210. package/src/components/tooltip/__tests__/ToggleTip.spec.ts +11 -0
  211. package/src/components/tooltip/index.ts +3 -0
  212. package/src/composables/useColors.ts +1 -1
  213. package/src/composables/useInputtable.ts +1 -0
  214. package/src/themes/base/index.ts +0 -3
  215. package/src/themes/base/styles.css +4 -0
  216. package/src/version.ts +1 -1
  217. package/volar.d.ts +1 -0
@@ -40,7 +40,7 @@ function copy(text?: string) {
40
40
 
41
41
  <template>
42
42
  <div>
43
- <h2 :id="title?.toLowerCase()" class="flex border-b pb-1 items-center">
43
+ <h2 :id="title?.toLowerCase()" class="flex border-b pb-2 items-center">
44
44
  <a class="anchor" :href="`#${title?.toLowerCase()}`">#</a>
45
45
  <div class="mr-2 cursor-pointer" @click="toggleCode">{{ title }}</div>
46
46
  <x-spacer/>
@@ -1,14 +1,11 @@
1
- <script lang="ts">
1
+ <script setup lang="ts">
2
+ import { onMounted, ref } from 'vue'
2
3
  import { getHighlighter } from 'shiki'
4
+ import indielayerTheme from './Indielayer-theme.json'
3
5
 
4
6
  const highlighter = getHighlighter({
5
- themes: ['github-dark'],
6
7
  langs: ['js', 'ts', 'vue-html', 'bash', 'vue'],
7
8
  })
8
- </script>
9
-
10
- <script setup lang="ts">
11
- import { onMounted, ref } from 'vue'
12
9
 
13
10
  const props = defineProps({
14
11
  code: String,
@@ -25,7 +22,8 @@ const props = defineProps({
25
22
  const highlighted = ref('')
26
23
 
27
24
  onMounted(async () => {
28
- highlighted.value = (await highlighter).codeToHtml(props.code, { lang: props.lang, theme: 'github-dark' })
25
+ await (await highlighter).loadTheme(indielayerTheme as any)
26
+ highlighted.value = (await highlighter).codeToHtml(props.code, { lang: props.lang, theme: 'Indielayer' })
29
27
  })
30
28
  </script>
31
29
 
@@ -137,84 +137,82 @@ onUnmounted(() => {
137
137
  </script>
138
138
 
139
139
  <template>
140
- <div>
141
- <section class="p-4 lg:p-8 max-w-4xl xl:max-w-7xl mx-auto">
142
- <div class="w-full flex document-page">
143
- <div class="min-w-0 flex-auto">
144
- <div class="text-4xl font-semibold">
145
- {{ title }}
146
- <x-tooltip>
147
- <x-link :href="`${github}/index.vue`" target="blank" color="#94a3b8">
148
- <x-icon icon="edit" size="sm" />
149
- </x-link>
150
- <template #tooltip>
151
- Edit on <span class="text-gray-300">GitHub</span>
152
- </template>
153
- </x-tooltip>
154
- </div>
155
- <div class="text-lg my-2 text-gray-500">{{ description }}</div>
156
- <div class="mt-4">
157
- <slot></slot>
140
+ <div class="w-full flex document-page">
141
+ <div class="min-w-0 flex-auto">
142
+ <div class="text-4xl font-semibold">
143
+ {{ title }}
144
+ <x-tooltip>
145
+ <x-link :href="`${github}/index.vue`" target="blank" color="#94a3b8">
146
+ <x-icon icon="edit" size="sm" />
147
+ </x-link>
148
+ <template #tooltip>
149
+ Edit on <span class="text-gray-300">GitHub</span>
150
+ </template>
151
+ </x-tooltip>
152
+ </div>
153
+ <div class="text-lg my-2 text-gray-500">{{ description }}</div>
154
+ <div class="mt-4">
155
+ <slot></slot>
158
156
 
159
- <div v-for="demo in demos" :key="demo.name">
160
- <code-preview
161
- :title="demo.name"
162
- :description="demo.description"
163
- :code="demo.code"
164
- :github="github"
165
- >
166
- <component :is="demo.component" />
167
- </code-preview>
168
- </div>
157
+ <div v-for="demo in demos" :key="demo.name">
158
+ <code-preview
159
+ :title="demo.name"
160
+ :description="demo.description"
161
+ :code="demo.code"
162
+ :github="github"
163
+ >
164
+ <component :is="demo.component" />
165
+ </code-preview>
166
+ </div>
169
167
 
170
- <div v-if="componentsProperties">
171
- <h2 id="api" class="!text-2xl !mt-20"><a class="anchor" href="#api">#</a>API</h2>
168
+ <div v-if="componentsProperties">
169
+ <h2 id="api" class="!text-2xl !mt-20"><a class="anchor" href="#api">#</a>API</h2>
172
170
 
173
- <section
174
- v-for="(component, componentName) in componentsProperties"
175
- :key="componentName"
176
- >
177
- <h3 class="mt-10 dark:text-gray-300 text-gray-800 text-2xl border-b-2 dark:border-gray-600 pb-2">
178
- {{ componentName }}
179
- </h3>
180
- <div
181
- v-for="(properties, propertyName) in component"
182
- :key="propertyName"
183
- >
184
- <div>
185
- <h4 class="mt-6 mb-2 text-gray-800 dark:text-gray-300 text-xl capitalize">
186
- {{ propertyName }}
187
- </h4>
171
+ <section
172
+ v-for="(component, componentName) in componentsProperties"
173
+ :key="componentName"
174
+ >
175
+ <h3 class="mt-10 dark:text-gray-300 text-gray-800 text-2xl border-b-2 dark:border-gray-600 pb-2">
176
+ {{ componentName }}
177
+ </h3>
178
+ <div
179
+ v-for="(properties, propertyName) in component"
180
+ :key="propertyName"
181
+ >
182
+ <div>
183
+ <h4 class="mt-6 mb-2 text-gray-800 dark:text-gray-300 text-xl capitalize">
184
+ {{ propertyName }}
185
+ </h4>
188
186
 
189
- <div class="text-sm font-light">
190
- <x-table
191
- :headers="propertyName === 'props' ? headers : headersSimple"
192
- :items="properties"
193
- >
194
- <template #item-name="{ item }">
195
- <div class="text-primary-500">{{ item.name }}</div>
196
- </template>
197
- <template #item-type="{ item }">
198
- <div v-for="t in item.type" :key="t">{{ t }}</div>
199
- </template>
200
- <template #item-required="{ item }">
201
- <div>{{ item.required ? 'true' : '' }}</div>
202
- </template>
203
- <template #item-validator="{ item }">
204
- <div class="space-x-2">
205
- <span v-for="validator in item.validator" :key="validator">{{ validator }}</span>
206
- </div>
207
- </template>
208
- </x-table>
209
- </div>
210
- </div>
187
+ <div class="text-sm font-light">
188
+ <x-table
189
+ :headers="propertyName === 'props' ? headers : headersSimple"
190
+ :items="properties"
191
+ >
192
+ <template #item-name="{ item }">
193
+ <div class="text-primary-500">{{ item.name }}</div>
194
+ </template>
195
+ <template #item-type="{ item }">
196
+ <div v-for="t in item.type" :key="t">{{ t }}</div>
197
+ </template>
198
+ <template #item-required="{ item }">
199
+ <div>{{ item.required ? 'true' : '' }}</div>
200
+ </template>
201
+ <template #item-validator="{ item }">
202
+ <div class="space-x-2">
203
+ <span v-for="validator in item.validator" :key="validator">{{ validator }}</span>
204
+ </div>
205
+ </template>
206
+ </x-table>
211
207
  </div>
212
-
213
- </section>
208
+ </div>
214
209
  </div>
215
- </div>
216
210
 
217
- <div class="flex my-10">
211
+ </section>
212
+ </div>
213
+ </div>
214
+
215
+ <!-- <div class="flex my-10">
218
216
  <x-button
219
217
  v-if="back"
220
218
  :to="back"
@@ -230,31 +228,29 @@ onUnmounted(() => {
230
228
  class="capitalize"
231
229
  icon-right="arrow-right"
232
230
  >{{ next }}</x-button>
233
- </div>
234
- </div>
231
+ </div> -->
232
+ </div>
235
233
 
236
- <div v-if="anchors.length > 0" class="hidden xl:text-sm xl:block flex-none w-64 pl-8 mr-8">
237
- <div class="flex flex-col justify-between overflow-y-auto sticky max-h-(screen-18) pt-10 pb-6 top-0">
238
- <div class="mb-8">
239
- <h5 class="text-gray-900 dark:text-gray-100 uppercase tracking-wide font-semibold mb-3 text-sm lg:text-xs">On this page</h5>
240
- <ul class="overflow-x-hidden text-gray-500 dark:text-gray-400 font-medium">
241
- <li v-for="(anchor, index) in anchors" :key="index">
242
- <a
243
- :href="`#${anchor.id}`"
244
- class="block transform transition-colors duration-200 py-2 hover:text-gray-900"
245
- :class="{
246
- 'text-gray-900 dark:text-gray-200': anchor.id === currentAnchor,
247
- }"
248
- >
249
- {{ anchor.name }}
250
- </a>
251
- </li>
252
- </ul>
253
- </div>
254
- </div>
234
+ <div v-if="anchors.length > 0" class="hidden xl:text-sm xl:block flex-none w-64 pl-8 mr-8">
235
+ <div class="flex flex-col justify-between overflow-y-auto sticky max-h-(screen-18) pt-10 pb-6 top-0">
236
+ <div class="mb-8">
237
+ <h5 class="text-gray-900 dark:text-gray-100 uppercase tracking-wide font-semibold mb-3 text-sm lg:text-xs">On this page</h5>
238
+ <ul class="overflow-x-hidden text-gray-500 dark:text-gray-400 font-medium">
239
+ <li v-for="(anchor, index) in anchors" :key="index">
240
+ <a
241
+ :href="`#${anchor.id}`"
242
+ class="block transform transition-colors duration-200 py-2 hover:text-gray-900"
243
+ :class="{
244
+ 'text-gray-900 dark:text-gray-200': anchor.id === currentAnchor,
245
+ }"
246
+ >
247
+ {{ anchor.name }}
248
+ </a>
249
+ </li>
250
+ </ul>
255
251
  </div>
256
252
  </div>
257
- </section>
253
+ </div>
258
254
  </div>
259
255
  </template>
260
256
 
@@ -1,90 +1,86 @@
1
- <script>
2
- export default {
3
- setup() {
4
- return {
5
- docsMenu: [
6
- { to: '/getting-started', label: 'Getting Started', icon: 'book' },
7
- { to: '/typography', label: 'Typography', icon: 'type' },
8
- { to: '/colors', label: 'Colors', icon: 'palette' },
9
- { to: '/icons', label: 'Icons', icon: 'star' },
10
- ],
11
- components: [
12
- {
13
- label: 'Form',
14
- icon: 'edit',
15
- collapseIcon: 'chevron-down',
16
- expanded: true,
17
- items: [
18
- { to: '/component/button', label: 'Button' },
19
- { to: '/component/checkbox', label: 'Checkbox' },
20
- { to: '/component/form', label: 'Form' },
21
- { to: '/component/formGroup', label: 'Form Group' },
22
- { to: '/component/input', label: 'Input' },
23
- { to: '/component/radio', label: 'Radio' },
24
- { to: '/component/select', label: 'Select' },
25
- { to: '/component/slider', label: 'Slider' },
26
- { to: '/component/textarea', label: 'Textarea' },
27
- { to: '/component/toggle', label: 'Toggle' },
28
- ],
29
- },
30
- {
31
- label: 'UI',
32
- icon: 'cube',
33
- collapseIcon: 'chevron-down',
34
- expanded: true,
35
- items: [
36
- { to: '/component/accordion', label: 'Accordion' },
37
- { to: '/component/alert', label: 'Alert' },
38
- { to: '/component/avatar', label: 'Avatar' },
39
- { to: '/component/badge', label: 'Badge' },
40
- { to: '/component/breadcrumbs', label: 'Breadcrumbs' },
41
- { to: '/component/card', label: 'Card' },
42
- { to: '/component/carousel', label: 'Carousel' },
43
- { to: '/component/container', label: 'Container' },
44
- { to: '/component/divider', label: 'Divider' },
45
- { to: '/component/drawer', label: 'Drawer' },
46
- { to: '/component/icon', label: 'Icon' },
47
- { to: '/component/image', label: 'Image' },
48
- { to: '/component/loader', label: 'Loader' },
49
- { to: '/component/link', label: 'Link' },
50
- { to: '/component/menu', label: 'Menu' },
51
- { to: '/component/modal', label: 'Modal' },
52
- { to: '/component/notifications', label: 'Notifications' },
53
- { to: '/component/pagination', label: 'Pagination' },
54
- { to: '/component/popover', label: 'Popover' },
55
- { to: '/component/progress', label: 'Progress' },
56
- { to: '/component/skeleton', label: 'Skeleton' },
57
- { to: '/component/spinner', label: 'Spinner' },
58
- { to: '/component/stepper', label: 'Stepper' },
59
- { to: '/component/table', label: 'Table' },
60
- { to: '/component/tabs', label: 'Tabs' },
61
- { to: '/component/tag', label: 'Tag' },
62
- { to: '/component/tooltip', label: 'Tooltip' },
63
- ],
64
- },
65
- {
66
- label: 'Helpers',
67
- icon: 'wrench',
68
- collapseIcon: 'chevron-down',
69
- expanded: true,
70
- items: [
71
- { to: '/component/scroll', label: 'Scroll' },
72
- { to: '/component/spacer', label: 'Spacer' },
73
- ],
74
- },
75
- ],
76
- }
1
+ <script setup lang="ts">
2
+ const docsMenu = [
3
+ { to: '/getting-started', label: 'Getting Started', icon: 'book' },
4
+ { to: '/typography', label: 'Typography', icon: 'type' },
5
+ { to: '/colors', label: 'Colors', icon: 'palette' },
6
+ { to: '/icons', label: 'Icons', icon: 'star' },
7
+ ]
8
+
9
+ const components = [
10
+ {
11
+ label: 'Form',
12
+ icon: 'edit',
13
+ collapseIcon: 'chevron-down',
14
+ expanded: true,
15
+ items: [
16
+ { to: '/component/button', label: 'Button' },
17
+ { to: '/component/checkbox', label: 'Checkbox' },
18
+ { to: '/component/form', label: 'Form' },
19
+ { to: '/component/formGroup', label: 'Form Group' },
20
+ { to: '/component/input', label: 'Input' },
21
+ { to: '/component/radio', label: 'Radio' },
22
+ { to: '/component/select', label: 'Select' },
23
+ { to: '/component/slider', label: 'Slider' },
24
+ { to: '/component/textarea', label: 'Textarea' },
25
+ { to: '/component/toggle', label: 'Toggle' },
26
+ ],
27
+ },
28
+ {
29
+ label: 'UI',
30
+ icon: 'cube',
31
+ collapseIcon: 'chevron-down',
32
+ expanded: true,
33
+ items: [
34
+ { to: '/component/accordion', label: 'Accordion' },
35
+ { to: '/component/alert', label: 'Alert' },
36
+ { to: '/component/avatar', label: 'Avatar' },
37
+ { to: '/component/badge', label: 'Badge' },
38
+ { to: '/component/breadcrumbs', label: 'Breadcrumbs' },
39
+ { to: '/component/card', label: 'Card' },
40
+ { to: '/component/carousel', label: 'Carousel' },
41
+ { to: '/component/container', label: 'Container' },
42
+ { to: '/component/divider', label: 'Divider' },
43
+ { to: '/component/drawer', label: 'Drawer' },
44
+ { to: '/component/icon', label: 'Icon' },
45
+ { to: '/component/image', label: 'Image' },
46
+ { to: '/component/loader', label: 'Loader' },
47
+ { to: '/component/link', label: 'Link' },
48
+ { to: '/component/menu', label: 'Menu' },
49
+ { to: '/component/modal', label: 'Modal' },
50
+ { to: '/component/notifications', label: 'Notifications' },
51
+ { to: '/component/pagination', label: 'Pagination' },
52
+ { to: '/component/popover', label: 'Popover' },
53
+ { to: '/component/progress', label: 'Progress' },
54
+ { to: '/component/skeleton', label: 'Skeleton' },
55
+ { to: '/component/spinner', label: 'Spinner' },
56
+ { to: '/component/stepper', label: 'Stepper' },
57
+ { to: '/component/table', label: 'Table' },
58
+ { to: '/component/tabs', label: 'Tabs' },
59
+ { to: '/component/tag', label: 'Tag' },
60
+ { to: '/component/tooltip', label: 'Tooltip' },
61
+ ],
62
+ },
63
+ {
64
+ label: 'Helpers',
65
+ icon: 'wrench',
66
+ collapseIcon: 'chevron-down',
67
+ expanded: true,
68
+ items: [
69
+ { to: '/component/scroll', label: 'Scroll' },
70
+ { to: '/component/spacer', label: 'Spacer' },
71
+ ],
77
72
  },
78
- }
73
+ ]
74
+
75
+ defineEmits(['close'])
79
76
  </script>
80
77
 
81
78
  <template>
82
- <div style="min-width: 240px;" class="pb-4">
79
+ <div class="pb-4">
83
80
  <div class="title text-overline text-xs font-light ml-6 mt-6 mb-4">Documentation</div>
84
81
  <x-menu
85
82
  :items="docsMenu"
86
83
  class="m-4"
87
- color="primary"
88
84
  filled
89
85
  @item-click="$emit('close')"
90
86
  />
@@ -93,51 +89,8 @@ export default {
93
89
  <x-menu
94
90
  :items="components"
95
91
  class="m-4"
96
- color="primary"
97
92
  filled
98
93
  @item-click="$emit('close')"
99
94
  />
100
95
  </div>
101
96
  </template>
102
-
103
- <style lang="postcss" scoped>
104
- ul {
105
- a {
106
- display: flex;
107
- align-items: center;
108
- padding: 6px 21px;
109
-
110
- &:hover {
111
- @apply bg-secondary-200;
112
- }
113
-
114
- &.router-link-exact-active {
115
- @apply bg-secondary-300;
116
- }
117
- }
118
-
119
- &.inner {
120
- a {
121
- padding: 8px 32px;
122
- }
123
- }
124
- }
125
-
126
- .menu :deep(a) {
127
- padding: 8px 32px !important;
128
- }
129
-
130
- .dark {
131
- ul {
132
- a {
133
- &:hover {
134
- @apply bg-secondary-600;
135
- }
136
-
137
- &.router-link-exact-active {
138
- @apply bg-secondary-500;
139
- }
140
- }
141
- }
142
- }
143
- </style>
@@ -3,16 +3,14 @@ import ToolbarColorToggle from './ToolbarColorToggle.vue'
3
3
  </script>
4
4
 
5
5
  <template>
6
- <div class="bg-gray-900 dark border-b">
7
- <x-container fluid>
8
- <div class="flex justify-items-center items-center py-2 text-slate-500 dark:text-slate-300 h-10 text-sm">
9
- <toolbar-color-toggle />
10
- <p class="text-secondary-300 font-semibold ml-2 truncate">
11
- Indielayer UI - Vue.js 3 / Nuxt.js 3 UI Library with Tailwind CSS 3. ⚡️ &nbsp;Build and prototype fast web applications.
12
- </p>
13
- <x-spacer/>
14
- <a target="_blank" href="https://github.com/indielayer"><x-icon size="sm" icon="github"/></a>
15
- </div>
16
- </x-container>
17
- </div>
6
+ <x-container fluid class="bg-gray-900 dark">
7
+ <div class="flex justify-items-center items-center py-2 text-slate-500 dark:text-slate-300 h-10 text-sm">
8
+ <toolbar-color-toggle class="shrink-0" />
9
+ <p class="text-secondary-300 font-semibold mx-2 truncate">
10
+ Indielayer UI - Vue.js 3 / Nuxt.js 3 UI Library with Tailwind CSS 3. ⚡️ &nbsp;Build and prototype fast web applications.
11
+ </p>
12
+ <x-spacer/>
13
+ <a target="_blank" class="shrink-0" href="https://github.com/indielayer"><x-icon size="sm" icon="github"/></a>
14
+ </div>
15
+ </x-container>
18
16
  </template>
@@ -19,14 +19,16 @@ watch(selected, (val) => {
19
19
  selectTheme.setTheme(val)
20
20
  }
21
21
  })
22
+
23
+ const isDev = import.meta.env.DEV
22
24
  </script>
23
25
 
24
26
  <template>
25
- <div class="bg-white dark:bg-gray-800 border-b px-4">
26
- <div class="flex justify-items-center items-center h-[70px]">
27
- <a href="/" class="flex items-center md:ml-4">
27
+ <x-container fluid class="bg-white dark:bg-secondary-800">
28
+ <div class="flex justify-items-center items-center py-2">
29
+ <a href="/" class="flex items-center">
28
30
  <img src="@/assets/images/logo_mini.svg" width="26" alt="Indielayer"/>
29
- <x-divider vertical class="h-[40px] mx-3"/>
31
+ <x-divider vertical class="!h-[24px] mx-3"/>
30
32
  <img class="logo-dark" src="@/assets/images/logo_word.svg" width="120" alt="Indielayer UI"/>
31
33
  <img class="logo-white" src="@/assets/images/logo_word_dark.svg" width="120" alt="Indielayer UI"/>
32
34
 
@@ -38,14 +40,25 @@ watch(selected, (val) => {
38
40
  <x-spacer/>
39
41
 
40
42
  <div class="flex items-center font-semibold text-sm">
41
- <x-select v-model="selected" :options="options" hide-footer size="sm"/>
42
- <x-divider vertical style="height: 10px;" class="px-2"/>
43
+ <x-select
44
+ v-if="isDev"
45
+ v-model="selected"
46
+ :options="options"
47
+ hide-footer
48
+ size="sm"
49
+ />
50
+ <x-divider v-if="isDev" vertical style="height: 10px;" class="px-2"/>
43
51
  <div class="tracking-wide text-xs">v{{ version }}</div>
44
52
  <x-divider vertical style="height: 10px;" class="px-2 hidden sm:block"/>
45
- <x-link href="https://github.com/indielayer/ui" target="_blank" external class="hidden sm:block">Github</x-link>
53
+ <x-link
54
+ href="https://github.com/indielayer/ui"
55
+ target="_blank"
56
+ external
57
+ class="hidden sm:block"
58
+ >Github</x-link>
46
59
  </div>
47
60
  </div>
48
- </div>
61
+ </x-container>
49
62
  </template>
50
63
 
51
64
  <style lang="postcss">
@@ -9,7 +9,7 @@ const drawer = ref(false)
9
9
 
10
10
  <template>
11
11
  <pre-toolbar />
12
- <toolbar class="border-y z-10" @open-drawer="drawer = true" />
12
+ <toolbar class="shadow z-10" @open-drawer="drawer = true" />
13
13
  <div class="lg:hidden border-b p-2">
14
14
  <x-button
15
15
  icon-left="menu"
@@ -19,11 +19,15 @@ const drawer = ref(false)
19
19
  >Menu</x-button>
20
20
  </div>
21
21
  <div class="flex-1 flex overflow-hidden">
22
- <x-drawer v-model="drawer" breakpoint="lg" width="260" class="border-r flex">
22
+ <x-drawer v-model="drawer" breakpoint="lg" width="220" class="border-r flex">
23
23
  <docs-menu class="flex-1" @close="drawer = false" />
24
24
  </x-drawer>
25
25
  <x-notifications inject-key="notifica">
26
- <router-view class="flex-1 overflow-y-scroll" />
26
+ <div class="flex-1 overflow-y-scroll bg-secondary-50 dark:bg-gray-900">
27
+ <x-container class="py-4 lg:py-8" tag="section">
28
+ <router-view />
29
+ </x-container>
30
+ </div>
27
31
  </x-notifications>
28
32
  </div>
29
33
  </template>