ketekny-ui-kit 1.0.122 → 1.0.124

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.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ketekny-ui-kit",
3
3
  "type": "module",
4
- "version": "1.0.122",
4
+ "version": "1.0.124",
5
5
  "description": "A Vue 3 UI component library with Tailwind CSS styling",
6
6
  "main": "index.js",
7
7
  "files": [
@@ -14,10 +14,21 @@ import {
14
14
  import SidebarMenuItem from './SidebarMenuItem.vue'
15
15
  import kMenu from '../../ui/kMenu.vue'
16
16
  import demoAvatarUrl from '../assets/placeholder-user.jpg'
17
+ import logoLightUrl from '../assets/logo-light.png'
18
+ import logoDarkUrl from '../assets/logo-dark.png'
19
+ import logoIconLightUrl from '../assets/logo_icon.jpg'
20
+ import logoIconDarkUrl from '../assets/logo-icon-dark.png'
17
21
 
18
22
  const FAVORITES_STORAGE_KEY = 'ketekny-ui-sidebar-favorites'
19
23
  const MENU_TAB_STORAGE_KEY = 'ketekny-ui-sidebar-menu-tab'
20
- const LOGO_BASE_URL = 'https://s3.ketekny.gr/public/web-apps/logos'
24
+ // const LOGO_BASE_URL = 'https://s3.ketekny.gr/public/web-apps/logos'
25
+
26
+ const DEFAULT_LOGOS = {
27
+ light: logoLightUrl,
28
+ dark: logoDarkUrl,
29
+ iconLight: logoIconLightUrl,
30
+ iconDark: logoIconDarkUrl,
31
+ }
21
32
  const LG_VIEWPORT_QUERY = '(min-width: 1024px)'
22
33
 
23
34
  export default {
@@ -45,6 +56,11 @@ export default {
45
56
  type: String,
46
57
  default: "",
47
58
  },
59
+ // { light, dark, iconLight, iconDark } — any subset overrides the default
60
+ logos: {
61
+ type: Object,
62
+ default: null,
63
+ },
48
64
  width: {
49
65
  type: String,
50
66
  default: "360px",
@@ -83,7 +99,6 @@ export default {
83
99
  data() {
84
100
  return {
85
101
  demoAvatarUrl,
86
- logoBaseUrl: LOGO_BASE_URL,
87
102
  activeId: '',
88
103
  activeMenuTab: 'all',
89
104
  query: '',
@@ -100,6 +115,9 @@ export default {
100
115
  }
101
116
  },
102
117
  computed: {
118
+ logoSrc() {
119
+ return { ...DEFAULT_LOGOS, ...this.logos }
120
+ },
103
121
  sidebarWidthStyle() {
104
122
  return {
105
123
  width: this.collapsed ? this.collapsedWidth : this.width,
@@ -483,13 +501,13 @@ export default {
483
501
  <div class="relative flex items-center px-4 py-4" :class="collapsed ? 'justify-center' : 'gap-2.5'">
484
502
  <template v-if="collapsed">
485
503
  <img
486
- :src="`${logoBaseUrl}/logo_icon.jpg`"
504
+ :src="logoSrc.iconLight"
487
505
  alt="Ketekny logo"
488
506
  class="sidebar-logo-light size-9 shrink-0 rounded-lg object-contain cursor-pointer"
489
507
  @click="handleLogoClick"
490
508
  />
491
509
  <img
492
- :src="`${logoBaseUrl}/logo-icon-dark.png`"
510
+ :src="logoSrc.iconDark"
493
511
  alt="Ketekny logo"
494
512
  class="sidebar-logo-dark size-9 shrink-0 rounded-lg object-contain cursor-pointer"
495
513
  @click="handleLogoClick"
@@ -497,13 +515,13 @@ export default {
497
515
  </template>
498
516
  <template v-else>
499
517
  <img
500
- :src="`${logoBaseUrl}/logo-light.png`"
518
+ :src="logoSrc.light"
501
519
  alt="Ketekny logo"
502
520
  class="sidebar-logo-light min-w-0 flex-1 object-contain cursor-pointer"
503
521
  @click="handleLogoClick"
504
522
  />
505
523
  <img
506
- :src="`${logoBaseUrl}/logo-dark.png`"
524
+ :src="logoSrc.dark"
507
525
  alt="Ketekny logo"
508
526
  class="sidebar-logo-dark min-w-0 flex-1 object-contain cursor-pointer"
509
527
  @click="handleLogoClick"
@@ -1,11 +1,12 @@
1
1
  <template>
2
- <div class="flex h-screen bg-canvas text-canvas-foreground">
2
+ <div class="flex h-[100dvh] bg-canvas text-canvas-foreground">
3
3
  <div v-if="mobileMenuOpen" class="fixed inset-0 z-30 bg-slate-950/50 backdrop-blur-[1px] lg:hidden" @click="closeMenu" />
4
4
 
5
5
  <MultilevelSidebar
6
6
  :theme="theme"
7
7
  :title="title"
8
8
  :app-icon="appIcon"
9
+ :logos="logos"
9
10
  :width="width"
10
11
  :collapsed-width="collapsedWidth"
11
12
  :main-menu="mainMenu"
@@ -70,6 +71,11 @@ export default {
70
71
  type: String,
71
72
  default: "",
72
73
  },
74
+ // { light, dark, iconLight, iconDark } — any subset overrides the default
75
+ logos: {
76
+ type: Object,
77
+ default: null,
78
+ },
73
79
  width: {
74
80
  type: String,
75
81
  default: "360px",