daisy-ui-kit 2.1.1 → 2.1.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 (65) hide show
  1. package/package.json +2 -2
  2. package/components/.DS_Store +0 -0
  3. package/components/Home/AlternatingFeatureSections.vue +0 -219
  4. package/components/Home/BitoviConsulting.vue +0 -53
  5. package/components/Home/BitoviOpenSource.vue +0 -51
  6. package/components/Home/Footer.vue +0 -127
  7. package/components/Home/GradientFeatureSections.vue +0 -87
  8. package/components/Home/Header.vue +0 -95
  9. package/components/Home/Hero.vue +0 -53
  10. package/components/Home/PremiumCTA.vue +0 -28
  11. package/components/Home/Testimonial.vue +0 -23
  12. package/components/Mask.config.ts +0 -77
  13. package/components/content/Badge.ts +0 -3
  14. package/components/content/CodePreview.vue +0 -28
  15. package/components/content/ColorBadge.vue +0 -24
  16. package/components/content/DemoExample.vue +0 -23
  17. package/components/content/DemoExampleResponsive.vue +0 -59
  18. package/components/content/IframeRenderer.ts +0 -53
  19. package/components/content/Indent.vue +0 -3
  20. package/components/content/LocalLinks.vue +0 -31
  21. package/components/content/NotFound.vue +0 -42
  22. package/components/content/PageNext.vue +0 -24
  23. package/components/content/PagePrevious.vue +0 -24
  24. package/components/content/PrevNext.vue +0 -40
  25. package/components/content/ProseA.vue +0 -19
  26. package/components/content/ProseAlert.vue +0 -11
  27. package/components/content/ProseBlockquote.vue +0 -5
  28. package/components/content/ProseCode.vue +0 -62
  29. package/components/content/ProseCodeInline.vue +0 -3
  30. package/components/content/ProseEm.vue +0 -5
  31. package/components/content/ProseH1.vue +0 -16
  32. package/components/content/ProseH2.vue +0 -16
  33. package/components/content/ProseH3.vue +0 -16
  34. package/components/content/ProseH4.vue +0 -16
  35. package/components/content/ProseH5.vue +0 -16
  36. package/components/content/ProseH6.vue +0 -16
  37. package/components/content/ProseHr.vue +0 -3
  38. package/components/content/ProseImg.vue +0 -34
  39. package/components/content/ProseLi.vue +0 -3
  40. package/components/content/ProseOl.vue +0 -5
  41. package/components/content/ProseP.vue +0 -3
  42. package/components/content/ProseStrong.vue +0 -5
  43. package/components/content/ProseTable.vue +0 -7
  44. package/components/content/ProseTbody.vue +0 -5
  45. package/components/content/ProseTd.vue +0 -5
  46. package/components/content/ProseTh.vue +0 -5
  47. package/components/content/ProseThead.vue +0 -5
  48. package/components/content/ProseTr.vue +0 -5
  49. package/components/content/ProseUl.vue +0 -5
  50. package/components/content/Search.vue +0 -160
  51. package/components/content/Sidebar.vue +0 -65
  52. package/components/content/SidebarMenuSection.vue +0 -38
  53. package/components/content/SigninForm.vue +0 -47
  54. package/components/content/TableOfContents.vue +0 -80
  55. package/components/content/TypeBadge.vue +0 -17
  56. package/components/content/UserMenu.vue +0 -62
  57. package/components/theme/Builder.vue +0 -284
  58. package/components/theme/Output.vue +0 -70
  59. package/components/theme/Picker.vue +0 -47
  60. package/components/theme/Preview.vue +0 -1684
  61. package/components/theme/Provider.vue +0 -43
  62. package/components/theme/Snooper.vue +0 -41
  63. package/components/theme/Swatch.vue +0 -47
  64. package/components/theme/custom-themes.ts +0 -34
  65. package/components/theme/theme-utils.ts +0 -175
@@ -1,16 +0,0 @@
1
- <script setup lang="ts">
2
- import { useRuntimeConfig } from '#imports'
3
- defineProps<{ id?: string }>()
4
- const heading = 1
5
- const { anchorLinks } = useRuntimeConfig().public.content
6
- const generate = anchorLinks?.depth >= heading && !anchorLinks?.exclude.includes(heading)
7
- </script>
8
-
9
- <template>
10
- <h1 :id="id">
11
- <a v-if="id && generate" :href="`#${id}`">
12
- <slot />
13
- </a>
14
- <slot v-else />
15
- </h1>
16
- </template>
@@ -1,16 +0,0 @@
1
- <script setup lang="ts">
2
- import { useRuntimeConfig } from '#imports'
3
- defineProps<{ id?: string }>()
4
- const heading = 2
5
- const { anchorLinks } = useRuntimeConfig().public.content
6
- const generate = anchorLinks?.depth >= heading && !anchorLinks?.exclude.includes(heading)
7
- </script>
8
-
9
- <template>
10
- <h2 :id="id">
11
- <a v-if="id && generate" :href="`#${id}`">
12
- <slot />
13
- </a>
14
- <slot v-else />
15
- </h2>
16
- </template>
@@ -1,16 +0,0 @@
1
- <script setup lang="ts">
2
- import { useRuntimeConfig } from '#imports'
3
- defineProps<{ id?: string }>()
4
- const heading = 3
5
- const { anchorLinks } = useRuntimeConfig().public.content
6
- const generate = anchorLinks?.depth >= heading && !anchorLinks?.exclude.includes(heading)
7
- </script>
8
-
9
- <template>
10
- <h3 :id="id">
11
- <a v-if="id && generate" :href="`#${id}`">
12
- <slot />
13
- </a>
14
- <slot v-else />
15
- </h3>
16
- </template>
@@ -1,16 +0,0 @@
1
- <script setup lang="ts">
2
- import { useRuntimeConfig } from '#imports'
3
- defineProps<{ id?: string }>()
4
- const heading = 4
5
- const { anchorLinks } = useRuntimeConfig().public.content
6
- const generate = anchorLinks?.depth >= heading && !anchorLinks?.exclude.includes(heading)
7
- </script>
8
-
9
- <template>
10
- <h4 :id="id">
11
- <a v-if="id && generate" :href="`#${id}`">
12
- <slot />
13
- </a>
14
- <slot v-else />
15
- </h4>
16
- </template>
@@ -1,16 +0,0 @@
1
- <script setup lang="ts">
2
- import { useRuntimeConfig } from '#imports'
3
- defineProps<{ id?: string }>()
4
- const heading = 5
5
- const { anchorLinks } = useRuntimeConfig().public.content
6
- const generate = anchorLinks?.depth >= heading && !anchorLinks?.exclude.includes(heading)
7
- </script>
8
-
9
- <template>
10
- <h5 :id="id">
11
- <a v-if="id && generate" :href="`#${id}`">
12
- <slot />
13
- </a>
14
- <slot v-else />
15
- </h5>
16
- </template>
@@ -1,16 +0,0 @@
1
- <script setup lang="ts">
2
- import { useRuntimeConfig } from '#imports'
3
- defineProps<{ id?: string }>()
4
- const heading = 6
5
- const { anchorLinks } = useRuntimeConfig().public.content
6
- const generate = anchorLinks?.depth >= heading && !anchorLinks?.exclude.includes(heading)
7
- </script>
8
-
9
- <template>
10
- <h6 :id="id">
11
- <a v-if="id && generate" :href="`#${id}`">
12
- <slot />
13
- </a>
14
- <slot v-else />
15
- </h6>
16
- </template>
@@ -1,3 +0,0 @@
1
- <template>
2
- <hr>
3
- </template>
@@ -1,34 +0,0 @@
1
- <script setup lang="ts">
2
- import { withBase } from 'ufo'
3
- import { computed, useRuntimeConfig } from '#imports'
4
-
5
- const props = defineProps({
6
- src: {
7
- type: String,
8
- default: '',
9
- },
10
- alt: {
11
- type: String,
12
- default: '',
13
- },
14
- width: {
15
- type: [String, Number],
16
- default: undefined,
17
- },
18
- height: {
19
- type: [String, Number],
20
- default: undefined,
21
- },
22
- })
23
-
24
- const refinedSrc = computed(() => {
25
- if (props.src?.startsWith('/') && !props.src.startsWith('//'))
26
- return withBase(props.src, useRuntimeConfig().app.baseURL)
27
-
28
- return props.src
29
- })
30
- </script>
31
-
32
- <template>
33
- <img :src="refinedSrc" :alt="alt" :width="width" :height="height">
34
- </template>
@@ -1,3 +0,0 @@
1
- <template>
2
- <li><slot /></li>
3
- </template>
@@ -1,5 +0,0 @@
1
- <template>
2
- <ol>
3
- <slot />
4
- </ol>
5
- </template>
@@ -1,3 +0,0 @@
1
- <template>
2
- <p><slot /></p>
3
- </template>
@@ -1,5 +0,0 @@
1
- <template>
2
- <strong>
3
- <slot />
4
- </strong>
5
- </template>
@@ -1,7 +0,0 @@
1
- <template>
2
- <div class="not-prose relative mb-10 mt-6 overflow-x-auto">
3
- <table class="table table-sm">
4
- <slot />
5
- </table>
6
- </div>
7
- </template>
@@ -1,5 +0,0 @@
1
- <template>
2
- <tbody>
3
- <slot />
4
- </tbody>
5
- </template>
@@ -1,5 +0,0 @@
1
- <template>
2
- <td>
3
- <slot />
4
- </td>
5
- </template>
@@ -1,5 +0,0 @@
1
- <template>
2
- <th>
3
- <slot />
4
- </th>
5
- </template>
@@ -1,5 +0,0 @@
1
- <template>
2
- <thead>
3
- <slot />
4
- </thead>
5
- </template>
@@ -1,5 +0,0 @@
1
- <template>
2
- <tr class="hover">
3
- <slot />
4
- </tr>
5
- </template>
@@ -1,5 +0,0 @@
1
- <template>
2
- <ul>
3
- <slot />
4
- </ul>
5
- </template>
@@ -1,160 +0,0 @@
1
- <script setup lang="ts">
2
- import { onKeyStroke, useFocus, useMagicKeys } from '@vueuse/core'
3
- import { useFuse } from '@vueuse/integrations/useFuse'
4
-
5
- const search = ref('')
6
- const { allLinks } = useNav()
7
- const tags = allLinks.flatMap(item => item.tags)
8
- const matchingTag = computed(() => {
9
- if (search.value.length < 2)
10
- return null
11
- return tags.find(tag => tag.toLowerCase().startsWith(search.value.toLowerCase()))
12
- })
13
-
14
- // search results and popular results
15
- const { results } = useFuse(search, allLinks, {
16
- fuseOptions: { keys: ['label', 'tags'], includeScore: true, distance: 3 },
17
- resultLimit: 12,
18
- })
19
- const defaultResults = [
20
- 'Button',
21
- 'Menu',
22
- 'Drawer',
23
- 'Tabs',
24
- 'Dropdown',
25
- ].map(label => allLinks.find(item => item.label === label)!).map(item => ({ item }))
26
- const eitherResults = computed(() => {
27
- if (results.value.length === 0)
28
- return defaultResults
29
- return results.value
30
- })
31
-
32
- // Open menu when searchbox is focused
33
- const isMenuOpen = ref(false)
34
- const searchbox = ref()
35
- const { focused } = useFocus(searchbox)
36
- watch(focused, (val) => {
37
- if (val) {
38
- isMenuOpen.value = val
39
- }
40
- else {
41
- setTimeout(() => {
42
- isMenuOpen.value = val
43
- }, 100)
44
- }
45
- })
46
-
47
- // track the highlighted index in the list
48
- const highlightedIndex = ref(0)
49
- const highlightedItem = computed(() => {
50
- return eitherResults.value[highlightedIndex.value].item
51
- })
52
- // when results change, reset the highlighted index
53
- watch(eitherResults, () => {
54
- highlightedIndex.value = 0
55
- })
56
-
57
- // meta|ctrl+k --> focus the searchbox
58
- const { meta, control } = useMagicKeys()
59
- onKeyStroke('k', () => {
60
- if (meta.value || control.value)
61
- focused.value = !focused.value
62
- })
63
-
64
- // escape --> close the list
65
- onKeyStroke('Escape', () => {
66
- if (focused.value) {
67
- if (search.value === '') {
68
- focused.value = false
69
- }
70
- else {
71
- search.value = ''
72
- highlightedIndex.value = 0
73
- }
74
- }
75
- })
76
-
77
- // menu click --> close the list
78
- function handleMenuClick() {
79
- focused.value = false
80
- }
81
-
82
- // enter --> navigate to highlighted item
83
- function handleEnter() {
84
- navigateTo(highlightedItem.value.to)
85
- focused.value = false
86
- }
87
-
88
- // arrow up --> highlighted previous item
89
- function handleArrowUp() {
90
- highlightedIndex.value = Math.max(highlightedIndex.value - 1, 0)
91
- }
92
- // arrow down --> highlight next item
93
- function handleArrowDown() {
94
- highlightedIndex.value = Math.min(highlightedIndex.value + 1, eitherResults.value.length - 1)
95
- }
96
- </script>
97
-
98
- <template>
99
- <Dropdown v-model:open="isMenuOpen" close-on-click-outside end>
100
- <DropdownTarget class="block relative">
101
- <Flex class="absolute z-10 top-0 bottom-0 pointer-events-none items-center pl-2">
102
- <Icon name="heroicons-solid:search" class="w-5 h-5 opacity-60" aria-hidden="true" />
103
- </Flex>
104
- <TextInput
105
- id="searchbox"
106
- ref="searchbox"
107
- v-model="search"
108
- placeholder="Search"
109
- name="search"
110
- bordered
111
- class="join-item max-w-[150px] md:max-w-none rounded-xl pl-8"
112
- onfocus="this.select()"
113
- @keypress.enter="handleEnter"
114
- @keydown.arrow-up="handleArrowUp"
115
- @keydown.arrow-down="handleArrowDown"
116
- />
117
- <Flex
118
- v-if="!focused" row
119
- class="hidden lg:flex items-center flex-nowrap absolute top-0 bottom-0 right-0 pr-2 pointer-events-none opacity-60"
120
- >
121
- <Kbd xs>cmd</Kbd>
122
- <Text xs class="relative bottom-px">
123
- +
124
- </Text>
125
- <Kbd xs>k</Kbd>
126
- </Flex>
127
- </DropdownTarget>
128
- <DropdownContent class="bg-base-100 shadow-xl rounded-xl border border-base-300 mt-2 w-full overflow-y-auto max-h-[75vh]" @click="handleMenuClick">
129
- <Menu>
130
- <MenuTitle v-if="!search.length">
131
- Popular Components
132
- </MenuTitle>
133
- <MenuTitle v-if="search.length && results.length">
134
- Search Results
135
- </MenuTitle>
136
-
137
- <MenuItem v-if="search.length && !results.length">
138
- <span>No Results Found</span>
139
- </MenuItem>
140
- <template v-else-if="search.length">
141
- <MenuItem v-for="(result, index) in results" :key="result.item.label" :active="index === highlightedIndex">
142
- <NuxtLink :to="result.item.to">
143
- {{ result.item.label }}
144
- <Badge v-if="matchingTag && result.item.tags.includes(matchingTag)" warning sm>
145
- {{ matchingTag }}
146
- </Badge>
147
- </NuxtLink>
148
- </MenuItem>
149
- </template>
150
- <template v-else>
151
- <MenuItem v-for="(result, index) in defaultResults" :key="result.item.label" :active="index === highlightedIndex">
152
- <NuxtLink :to="result.item.to">
153
- {{ result.item.label }}
154
- </NuxtLink>
155
- </MenuItem>
156
- </template>
157
- </Menu>
158
- </DropdownContent>
159
- </Dropdown>
160
- </template>
@@ -1,65 +0,0 @@
1
- <script setup>
2
- const route = useRoute()
3
- const { docsLinks, actions, dataDisplay, dataInput, layout, navigation, mockup } = useNav()
4
-
5
- const drawerState = createDrawerState('docs')
6
-
7
- watch(() => route.path, () => {
8
- drawerState.isDrawerOpen = false
9
- })
10
- </script>
11
-
12
- <template>
13
- <DrawerSide name="docs" class="border-r border-r-base-300/30 z-50">
14
- <!-- Sidebar component, swap this element with another sidebar if you like -->
15
- <div class="relative pt-4 menu w-80 bg-base-100 text-base-content">
16
- <NuxtLink to="/" class="fixed">
17
- <Logo class="ml-8 text-4xl text-base-content" />
18
- </NuxtLink>
19
-
20
- <div class="pb-12 pl-2 mt-12 overflow-y-auto">
21
- <SidebarMenuSection
22
- :links="docsLinks"
23
- no-divider
24
- class="pt-4"
25
- />
26
- <SidebarMenuSection
27
- title="Actions"
28
- title-icon="mdi:cursor-default-click"
29
- title-icon-classes="text-fuchsia-600 w-5 h-5"
30
- :links="actions"
31
- />
32
- <SidebarMenuSection
33
- title="Data Display"
34
- title-icon="ph:app-window-bold"
35
- title-icon-classes="text-teal-600 w-5 h-5"
36
- :links="dataDisplay"
37
- />
38
- <SidebarMenuSection
39
- title="Data Input"
40
- title-icon="material-symbols:edit-square-outline"
41
- title-icon-classes="text-red-600 w-5 h-5"
42
- :links="dataInput"
43
- />
44
- <SidebarMenuSection
45
- title="Layout"
46
- title-icon="ic:round-grid-view"
47
- title-icon-classes="text-blue-600 w-5 h-5"
48
- :links="layout"
49
- />
50
- <SidebarMenuSection
51
- title="Navigation"
52
- title-icon="mdi:link-variant"
53
- title-icon-classes="text-cyan-600 w-5 h-5"
54
- :links="navigation"
55
- />
56
- <SidebarMenuSection
57
- title="Mockup"
58
- title-icon="icon-park-outline:iphone"
59
- title-icon-classes="text-lime-600 w-5 h-5"
60
- :links="mockup"
61
- />
62
- </div>
63
- </div>
64
- </DrawerSide>
65
- </template>
@@ -1,38 +0,0 @@
1
- <script setup lang="ts">
2
- interface Link {
3
- label: string
4
- to: string
5
- pending: boolean
6
- pendingDocs: boolean
7
- icon?: string
8
- }
9
- defineProps<{
10
- title?: string
11
- titleIcon?: string
12
- titleIconClasses?: string
13
- links: Link[]
14
- noDivider?: boolean
15
- }>()
16
- </script>
17
-
18
- <template>
19
- <Menu>
20
- <li v-if="!noDivider" />
21
- <MenuTitle v-if="titleIcon || title" class="flex flex-row items-center gap-3">
22
- <Icon v-if="titleIcon" :name="titleIcon as string" :class="titleIconClasses as string" />
23
- {{ title }}
24
- </MenuTitle>
25
-
26
- <MenuItem
27
- v-for="link in links"
28
- :key="link.label"
29
- :class="{ 'opacity-30': link.pending }"
30
- >
31
- <NuxtLink :to="link.to" exact-active-class="active">
32
- <Icon v-if="link.icon" :name="link.icon" class="w-5 h-5 mr-1" />
33
- {{ link.label }}
34
- <Icon v-if="link.pendingDocs" name="feather:file-text" class="ml-2" />
35
- </NuxtLink>
36
- </MenuItem>
37
- </Menu>
38
- </template>
@@ -1,47 +0,0 @@
1
- <script>
2
- import { LockClosedIcon } from '@heroicons/vue/solid'
3
-
4
- export default {
5
- components: {
6
- LockClosedIcon,
7
- },
8
- }
9
- </script>
10
-
11
- <template>
12
- <div class="flex items-center justify-center min-h-full px-4 py-12 sm:px-6 lg:px-8">
13
- <div class="w-full max-w-md space-y-8">
14
- <div>
15
- <img
16
- class="w-auto h-24 mx-auto invert"
17
- src="https://avatars.githubusercontent.com/u/85031756"
18
- alt="Feathers Cloud"
19
- >
20
- <h2 class="mt-6 text-3xl font-extrabold text-center text-gray-900">
21
- Sign in to your account
22
- </h2>
23
- </div>
24
- <div class="mt-8 space-y-6">
25
- <a
26
- type="button"
27
- class="relative flex justify-center w-full px-4 py-2 text-sm font-medium text-white bg-indigo-600 border border-transparent rounded-md group hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500"
28
- href="/api/auth/login"
29
- >
30
- <span class="absolute inset-y-0 left-0 flex items-center pl-3">
31
- <LockClosedIcon
32
- class="w-5 h-5 text-indigo-500 group-hover:text-indigo-400"
33
- aria-hidden="true"
34
- />
35
- </span>
36
- Sign in
37
- </a>
38
- <div class="text-center">
39
- or
40
- <RouterLink to="/" class="text-blue-500">
41
- Return to Home
42
- </RouterLink>
43
- </div>
44
- </div>
45
- </div>
46
- </div>
47
- </template>
@@ -1,80 +0,0 @@
1
- <script setup lang="ts">
2
- const { toc, page } = useContent()
3
- const pageRoute = useRoute()
4
-
5
- function checkActive(hash: string) {
6
- return pageRoute.hash === hash ? 'active' : null
7
- }
8
-
9
- function toTop() {
10
- window.scrollTo({
11
- top: 0,
12
- behavior: 'smooth',
13
- })
14
- setTimeout(() => {
15
- window.location.hash = ''
16
- }, 600)
17
- }
18
-
19
- function toBottom() {
20
- window.scrollTo({
21
- top: document.body.scrollHeight,
22
- behavior: 'smooth',
23
- })
24
- }
25
- </script>
26
-
27
- <template>
28
- <Flex col>
29
- <Menu v-if="toc?.links?.length" class="menu-sm md:menu-xs xl:menu-sm">
30
- <MenuTitle>Table of Contents</MenuTitle>
31
- <MenuItem>
32
- <NuxtLink href="#" custom>
33
- <template #default="{ route }">
34
- <a
35
- class="flex flex-row items-center justify-between font-semibold bg-neutral/30"
36
- :class="checkActive(route.hash)"
37
- @click="toTop"
38
- >
39
- {{ page.title }}
40
- <Icon name="feather:arrow-up" class="text-base" />
41
- </a>
42
- </template>
43
- </NuxtLink>
44
- </MenuItem>
45
- <Menu>
46
- <MenuItem v-for="item in toc.links" :key="item.id">
47
- <NuxtLink :href="`#${item.id}`" custom>
48
- <template #default="{ route, navigate }">
49
- <a :class="checkActive(route.hash)" @click="navigate">
50
- {{ item.text }}
51
- </a>
52
- </template>
53
- </NuxtLink>
54
- <Menu v-if="item.children?.length">
55
- <MenuItem v-for="child in item.children" :key="child.id">
56
- <NuxtLink :href="`#${child.id}`" custom>
57
- <template #default="{ route, navigate }">
58
- <a :class="checkActive(route.hash)" @click="navigate">
59
- {{ child.text }}
60
- </a>
61
- </template>
62
- </NuxtLink>
63
- </MenuItem>
64
- </Menu>
65
- </MenuItem>
66
- <MenuItem>
67
- <a
68
- class="flex flex-row items-center justify-between hover:bg-accent/25 mt-6"
69
- @click="toBottom"
70
- >
71
- scroll to bottom
72
- <Icon name="feather:arrow-down" class="text-base" />
73
-
74
- </a>
75
- </MenuItem>
76
- </Menu>
77
- </Menu>
78
- <!-- <pre class="text-xs">{{ page }}</pre> -->
79
- </Flex>
80
- </template>
@@ -1,17 +0,0 @@
1
- <script setup lang="ts">
2
- const props = defineProps<{
3
- text: string
4
- }>()
5
-
6
- const color = computed(() => {
7
- if (props.text === 'boolean')
8
- return 'info'
9
- return 'warning'
10
- })
11
- </script>
12
-
13
- <template>
14
- <Badge :color="color">
15
- {{ text }}
16
- </Badge>
17
- </template>