divhunt 2.0.5 → 2.0.6

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 (121) hide show
  1. package/package.json +1 -1
  2. package/addons/render/elements/front/items/self/base/menu/menu.js +0 -96
  3. package/addons/render/elements/front/items/self/base/menu/styles/base.css +0 -116
  4. package/addons/render/elements/front/items/self/base/menu/styles/sizes.css +0 -27
  5. package/addons/render/elements/front/items/self/base/menu/styles/variants.css +0 -99
  6. package/addons/render/elements/front/items/self/base/tag/tag.css +0 -199
  7. package/addons/render/elements/front/items/self/base/tag/tag.js +0 -37
  8. package/addons/render/elements/front/items/self/cards/basic/basic.js +0 -89
  9. package/addons/render/elements/front/items/self/cards/basic/styles/base.css +0 -66
  10. package/addons/render/elements/front/items/self/cards/basic/styles/sizes.css +0 -32
  11. package/addons/render/elements/front/items/self/cards/basic/styles/variants.css +0 -99
  12. package/addons/render/elements/front/items/self/cards/list/list.js +0 -108
  13. package/addons/render/elements/front/items/self/cards/list/styles/base.css +0 -96
  14. package/addons/render/elements/front/items/self/cards/list/styles/sizes.css +0 -32
  15. package/addons/render/elements/front/items/self/cards/list/styles/variants.css +0 -99
  16. package/addons/render/elements/front/items/self/cards/media/media.js +0 -116
  17. package/addons/render/elements/front/items/self/cards/media/styles/base.css +0 -126
  18. package/addons/render/elements/front/items/self/cards/media/styles/sizes.css +0 -49
  19. package/addons/render/elements/front/items/self/cards/media/styles/variants.css +0 -74
  20. package/addons/render/elements/front/items/self/cards/profile/profile.js +0 -95
  21. package/addons/render/elements/front/items/self/cards/profile/styles/base.css +0 -142
  22. package/addons/render/elements/front/items/self/cards/profile/styles/sizes.css +0 -43
  23. package/addons/render/elements/front/items/self/cards/profile/styles/variants.css +0 -131
  24. package/addons/render/elements/front/items/self/cards/stat/stat.js +0 -117
  25. package/addons/render/elements/front/items/self/cards/stat/styles/base.css +0 -97
  26. package/addons/render/elements/front/items/self/cards/stat/styles/sizes.css +0 -49
  27. package/addons/render/elements/front/items/self/cards/stat/styles/variants.css +0 -124
  28. package/addons/render/elements/front/items/self/content/html/html.css +0 -93
  29. package/addons/render/elements/front/items/self/content/html/html.js +0 -40
  30. package/addons/render/elements/front/items/self/content/markdown/markdown.css +0 -200
  31. package/addons/render/elements/front/items/self/content/markdown/markdown.js +0 -120
  32. package/addons/render/elements/front/items/self/data/comments/comments.css +0 -253
  33. package/addons/render/elements/front/items/self/data/comments/comments.js +0 -134
  34. package/addons/render/elements/front/items/self/data/files/files.css +0 -116
  35. package/addons/render/elements/front/items/self/data/files/files.js +0 -85
  36. package/addons/render/elements/front/items/self/data/folders/folders.css +0 -104
  37. package/addons/render/elements/front/items/self/data/folders/folders.js +0 -73
  38. package/addons/render/elements/front/items/self/data/inbox/inbox.css +0 -225
  39. package/addons/render/elements/front/items/self/data/inbox/inbox.js +0 -111
  40. package/addons/render/elements/front/items/self/data/logs/logs.css +0 -133
  41. package/addons/render/elements/front/items/self/data/logs/logs.js +0 -65
  42. package/addons/render/elements/front/items/self/data/plans/plans.css +0 -231
  43. package/addons/render/elements/front/items/self/data/plans/plans.js +0 -104
  44. package/addons/render/elements/front/items/self/data/properties/properties.css +0 -108
  45. package/addons/render/elements/front/items/self/data/properties/properties.js +0 -156
  46. package/addons/render/elements/front/items/self/data/table/table.css +0 -153
  47. package/addons/render/elements/front/items/self/data/table/table.js +0 -106
  48. package/addons/render/elements/front/items/self/data/timeline/timeline.css +0 -127
  49. package/addons/render/elements/front/items/self/data/timeline/timeline.js +0 -57
  50. package/addons/render/elements/front/items/self/feedback/alert/alert.css +0 -258
  51. package/addons/render/elements/front/items/self/feedback/alert/alert.js +0 -67
  52. package/addons/render/elements/front/items/self/feedback/confirm/confirm.css +0 -229
  53. package/addons/render/elements/front/items/self/feedback/confirm/confirm.js +0 -81
  54. package/addons/render/elements/front/items/self/feedback/loader/loader.css +0 -203
  55. package/addons/render/elements/front/items/self/feedback/loader/loader.js +0 -25
  56. package/addons/render/elements/front/items/self/feedback/progress/progress.css +0 -136
  57. package/addons/render/elements/front/items/self/feedback/progress/progress.js +0 -40
  58. package/addons/render/elements/front/items/self/form/button/button.js +0 -105
  59. package/addons/render/elements/front/items/self/form/button/styles/base.css +0 -176
  60. package/addons/render/elements/front/items/self/form/button/styles/sizes.css +0 -78
  61. package/addons/render/elements/front/items/self/form/button/styles/variants.css +0 -421
  62. package/addons/render/elements/front/items/self/form/checkbox/checkbox.js +0 -57
  63. package/addons/render/elements/front/items/self/form/checkbox/styles/base.css +0 -52
  64. package/addons/render/elements/front/items/self/form/checkbox/styles/sizes.css +0 -39
  65. package/addons/render/elements/front/items/self/form/checkbox/styles/variants.css +0 -121
  66. package/addons/render/elements/front/items/self/form/field/field.css +0 -96
  67. package/addons/render/elements/front/items/self/form/field/field.js +0 -39
  68. package/addons/render/elements/front/items/self/form/input/input.css +0 -111
  69. package/addons/render/elements/front/items/self/form/input/input.js +0 -78
  70. package/addons/render/elements/front/items/self/form/input/styles/base.css +0 -26
  71. package/addons/render/elements/front/items/self/form/input/styles/sizes.css +0 -15
  72. package/addons/render/elements/front/items/self/form/input/styles/variants.css +0 -98
  73. package/addons/render/elements/front/items/self/form/radio/radio.js +0 -57
  74. package/addons/render/elements/front/items/self/form/radio/styles/base.css +0 -48
  75. package/addons/render/elements/front/items/self/form/radio/styles/sizes.css +0 -36
  76. package/addons/render/elements/front/items/self/form/radio/styles/variants.css +0 -121
  77. package/addons/render/elements/front/items/self/form/rating/rating.css +0 -95
  78. package/addons/render/elements/front/items/self/form/rating/rating.js +0 -88
  79. package/addons/render/elements/front/items/self/form/section/section.css +0 -107
  80. package/addons/render/elements/front/items/self/form/section/section.js +0 -39
  81. package/addons/render/elements/front/items/self/form/slider/slider.css +0 -244
  82. package/addons/render/elements/front/items/self/form/slider/slider.js +0 -69
  83. package/addons/render/elements/front/items/self/form/textarea/textarea.css +0 -117
  84. package/addons/render/elements/front/items/self/form/textarea/textarea.js +0 -69
  85. package/addons/render/elements/front/items/self/layout/empty/empty.css +0 -154
  86. package/addons/render/elements/front/items/self/layout/empty/empty.js +0 -43
  87. package/addons/render/elements/front/items/self/layout/heading/heading.css +0 -117
  88. package/addons/render/elements/front/items/self/layout/heading/heading.js +0 -47
  89. package/addons/render/elements/front/items/self/layout/hero/hero.js +0 -88
  90. package/addons/render/elements/front/items/self/layout/hero/styles/base.css +0 -81
  91. package/addons/render/elements/front/items/self/layout/hero/styles/sizes.css +0 -24
  92. package/addons/render/elements/front/items/self/layout/hero/styles/variants.css +0 -98
  93. package/addons/render/elements/front/items/self/navigation/breadcrumb/addon/_class/addon.js +0 -9
  94. package/addons/render/elements/front/items/self/navigation/breadcrumb/addon/functions/get.js +0 -22
  95. package/addons/render/elements/front/items/self/navigation/breadcrumb/breadcrumb.css +0 -13
  96. package/addons/render/elements/front/items/self/navigation/breadcrumb/breadcrumb.js +0 -51
  97. package/addons/render/elements/front/items/self/navigation/footer/addon/_class/addon.js +0 -11
  98. package/addons/render/elements/front/items/self/navigation/footer/addon/functions/columns.js +0 -11
  99. package/addons/render/elements/front/items/self/navigation/footer/addon/functions/get.js +0 -34
  100. package/addons/render/elements/front/items/self/navigation/footer/footer.css +0 -283
  101. package/addons/render/elements/front/items/self/navigation/footer/footer.js +0 -139
  102. package/addons/render/elements/front/items/self/navigation/navbar/addon/_class/addon.js +0 -13
  103. package/addons/render/elements/front/items/self/navigation/navbar/addon/functions/active.js +0 -7
  104. package/addons/render/elements/front/items/self/navigation/navbar/addon/functions/get.js +0 -31
  105. package/addons/render/elements/front/items/self/navigation/navbar/navbar.css +0 -140
  106. package/addons/render/elements/front/items/self/navigation/navbar/navbar.js +0 -118
  107. package/addons/render/elements/front/items/self/navigation/pagination/pagination.css +0 -160
  108. package/addons/render/elements/front/items/self/navigation/pagination/pagination.js +0 -131
  109. package/addons/render/elements/front/items/self/navigation/sidebar/addon/_class/addon.js +0 -12
  110. package/addons/render/elements/front/items/self/navigation/sidebar/addon/functions/active.js +0 -7
  111. package/addons/render/elements/front/items/self/navigation/sidebar/addon/functions/get.js +0 -35
  112. package/addons/render/elements/front/items/self/navigation/sidebar/addon/functions/groups.js +0 -10
  113. package/addons/render/elements/front/items/self/navigation/sidebar/sidebar.css +0 -278
  114. package/addons/render/elements/front/items/self/navigation/sidebar/sidebar.js +0 -85
  115. package/addons/render/elements/front/items/self/navigation/stepper/stepper.css +0 -202
  116. package/addons/render/elements/front/items/self/navigation/stepper/stepper.js +0 -82
  117. package/addons/render/elements/front/items/self/navigation/tabs/addon.js +0 -32
  118. package/addons/render/elements/front/items/self/navigation/tabs/tabs.css +0 -239
  119. package/addons/render/elements/front/items/self/navigation/tabs/tabs.js +0 -76
  120. package/addons/render/elements/front/items/self/preview/html/html.css +0 -377
  121. package/addons/render/elements/front/items/self/preview/html/html.js +0 -107
@@ -1,104 +0,0 @@
1
- /* Base */
2
- .e-55cd111> .holder
3
- {
4
- display: grid;
5
- grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
6
- gap: var(--dh-spacing-m);
7
- }
8
-
9
- .e-55cd111> .holder > .folder
10
- {
11
- display: flex;
12
- flex-direction: column;
13
- gap: var(--dh-spacing-m);
14
- padding: var(--dh-spacing-l);
15
- background: var(--dh-bg-2);
16
- border: 1px solid var(--dh-bg-2-border);
17
- border-radius: var(--dh-radius-l);
18
- cursor: pointer;
19
- transition: all 0.2s ease;
20
- position: relative;
21
- }
22
-
23
- .e-55cd111> .holder > .folder:hover
24
- {
25
- transform: translateY(-2px);
26
- border-color: var(--dh-brand);
27
- }
28
-
29
- .e-55cd111> .holder > .folder > .icon-wrapper
30
- {
31
- display: flex;
32
- align-items: center;
33
- justify-content: center;
34
- width: 64px;
35
- height: 64px;
36
- border-radius: var(--dh-radius-m);
37
- background: var(--dh-bg-3);
38
- }
39
-
40
- .e-55cd111> .holder > .folder > .icon-wrapper > .icon
41
- {
42
- font-size: 36px;
43
- color: var(--dh-brand);
44
- }
45
-
46
- .e-55cd111> .holder > .folder > .info
47
- {
48
- display: flex;
49
- flex-direction: column;
50
- gap: var(--dh-spacing-x);
51
- flex: 1;
52
- }
53
-
54
- .e-55cd111> .holder > .folder > .info > .name
55
- {
56
- font-weight: 600;
57
- color: var(--dh-text-1);
58
- font-size: var(--dh-size-m);
59
- }
60
-
61
- .e-55cd111> .holder > .folder > .info > .count
62
- {
63
- font-size: var(--dh-size-s);
64
- color: var(--dh-text-2);
65
- }
66
-
67
- .e-55cd111> .holder > .folder > .actions
68
- {
69
- position: absolute;
70
- top: var(--dh-spacing-m);
71
- right: var(--dh-spacing-m);
72
- opacity: 0;
73
- transition: opacity 0.2s ease;
74
- }
75
-
76
- .e-55cd111> .holder > .folder:hover > .actions
77
- {
78
- opacity: 1;
79
- }
80
-
81
- /* Folder Colors */
82
- .e-55cd111> .holder > .folder[color="brand"] > .icon-wrapper > .icon { color: var(--dh-brand); }
83
- .e-55cd111> .holder > .folder[color="blue"] > .icon-wrapper > .icon { color: var(--dh-blue); }
84
- .e-55cd111> .holder > .folder[color="green"] > .icon-wrapper > .icon { color: var(--dh-green); }
85
- .e-55cd111> .holder > .folder[color="orange"] > .icon-wrapper > .icon { color: var(--dh-orange); }
86
- .e-55cd111> .holder > .folder[color="red"] > .icon-wrapper > .icon { color: var(--dh-red); }
87
-
88
- /* Variants - List */
89
- .e-55cd111> .holder[variant*="list"] { display: flex; flex-direction: column; gap: 0; }
90
- .e-55cd111> .holder[variant*="list"] > .folder { flex-direction: row; align-items: center; gap: var(--dh-spacing-m); border-radius: 0; border-left: none; border-right: none; border-top: none; }
91
- .e-55cd111> .holder[variant*="list"] > .folder:last-child { border-bottom: none; }
92
- .e-55cd111> .holder[variant*="list"] > .folder > .icon-wrapper { width: 48px; height: 48px; }
93
- .e-55cd111> .holder[variant*="list"] > .folder > .icon-wrapper > .icon { font-size: 28px; }
94
- .e-55cd111> .holder[variant*="list"] > .folder:hover { transform: none; background: var(--dh-bg-3); }
95
-
96
- /* Variants - Compact */
97
- .e-55cd111> .holder[variant*="compact"] { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: var(--dh-spacing-s); }
98
- .e-55cd111> .holder[variant*="compact"] > .folder { padding: var(--dh-spacing-m); gap: var(--dh-spacing-s); }
99
- .e-55cd111> .holder[variant*="compact"] > .folder > .icon-wrapper { width: 48px; height: 48px; }
100
- .e-55cd111> .holder[variant*="compact"] > .folder > .icon-wrapper > .icon { font-size: 28px; }
101
- .e-55cd111> .holder[variant*="compact"] > .folder > .info > .name { font-size: var(--dh-size-s); }
102
-
103
- /* Variants - Border */
104
- .e-55cd111> .holder[variant*="border"] { border: 1px solid var(--dh-bg-2-border); border-radius: var(--dh-radius-l); padding: var(--dh-spacing-m); background: var(--dh-bg-1); }
@@ -1,73 +0,0 @@
1
- import elements from '#elements/load.js';
2
-
3
- elements.ItemAdd({
4
- id: 'folders',
5
- icon: 'folder',
6
- name: 'Folders',
7
- description: 'Folder grid with item counts and colors.',
8
- category: 'Data',
9
- author: 'Divhunt',
10
- config: {
11
- folders: {
12
- type: 'array',
13
- value: [
14
- {
15
- name: 'Projects',
16
- count: 24,
17
- color: 'brand'
18
- },
19
- {
20
- name: 'Documents',
21
- count: 156,
22
- color: 'blue'
23
- },
24
- {
25
- name: 'Images',
26
- count: 89,
27
- color: 'green'
28
- },
29
- {
30
- name: 'Videos',
31
- count: 12,
32
- color: 'orange'
33
- },
34
- {
35
- name: 'Archives',
36
- count: 7,
37
- color: 'red'
38
- },
39
- {
40
- name: 'Templates',
41
- count: 32,
42
- color: 'brand'
43
- }
44
- ]
45
- },
46
- variant: {
47
- type: 'array',
48
- value: ['grid'],
49
- options: ['grid', 'list', 'compact', 'border']
50
- }
51
- },
52
- render: function()
53
- {
54
- return `
55
- <div class="holder" :variant="variant.join(' ')">
56
- <div dh-for="folder in folders" class="folder" :color="folder.color">
57
- <div class="icon-wrapper">
58
- <i class="icon">folder</i>
59
- </div>
60
- <div class="info">
61
- <div class="name">{{ folder.name }}</div>
62
- <div class="count">{{ folder.count }} items</div>
63
- </div>
64
- <div class="actions">
65
- <e-button :variant="['ghost', 'size-s']">
66
- <i class="icon">more_vert</i>
67
- </e-button>
68
- </div>
69
- </div>
70
- </div>
71
- `;
72
- }
73
- });
@@ -1,225 +0,0 @@
1
- /* Base */
2
- .e-68d92230 > .holder
3
- {
4
- display: flex;
5
- flex-direction: column;
6
- background: var(--dh-bg-1);
7
- border-radius: var(--dh-radius-l);
8
- overflow: hidden;
9
- height: 700px;
10
- }
11
-
12
- .e-68d92230 > .holder > .header
13
- {
14
- padding: var(--dh-spacing-l);
15
- background: var(--dh-bg-2);
16
- border-bottom: 1px solid var(--dh-bg-2-border);
17
- display: flex;
18
- justify-content: space-between;
19
- align-items: flex-start;
20
- gap: var(--dh-spacing-m);
21
- }
22
-
23
- .e-68d92230 > .holder > .header > .info
24
- {
25
- display: flex;
26
- flex-direction: column;
27
- gap: var(--dh-spacing-x);
28
- flex: 1;
29
- }
30
-
31
- .e-68d92230 > .holder > .header > .info > .subject
32
- {
33
- font-size: var(--dh-size-l);
34
- font-weight: 600;
35
- color: var(--dh-text-1);
36
- margin: 0;
37
- }
38
-
39
- .e-68d92230 > .holder > .header > .info > .meta
40
- {
41
- display: flex;
42
- align-items: center;
43
- gap: var(--dh-spacing-x);
44
- font-size: var(--dh-size-s);
45
- }
46
-
47
- .e-68d92230 > .holder > .header > .info > .meta > .label
48
- {
49
- color: var(--dh-text-2);
50
- font-weight: 600;
51
- }
52
-
53
- .e-68d92230 > .holder > .header > .info > .meta > .value
54
- {
55
- color: var(--dh-text-1);
56
- }
57
-
58
- .e-68d92230 > .holder > .header > .actions
59
- {
60
- display: flex;
61
- gap: var(--dh-spacing-x);
62
- }
63
-
64
- .e-68d92230 > .holder > .messages
65
- {
66
- flex: 1;
67
- overflow-y: auto;
68
- padding: var(--dh-spacing-l);
69
- display: flex;
70
- flex-direction: column;
71
- gap: var(--dh-spacing-l);
72
- background: var(--dh-bg-1);
73
- }
74
-
75
- .e-68d92230 > .holder > .messages > .message
76
- {
77
- display: flex;
78
- gap: var(--dh-spacing-m);
79
- animation: fadeIn 0.3s ease;
80
- }
81
-
82
- @keyframes fadeIn
83
- {
84
- from
85
- {
86
- opacity: 0;
87
- transform: translateY(8px);
88
- }
89
- to
90
- {
91
- opacity: 1;
92
- transform: translateY(0);
93
- }
94
- }
95
-
96
- .e-68d92230 > .holder > .messages > .message > .avatar
97
- {
98
- width: 40px;
99
- height: 40px;
100
- border-radius: 50%;
101
- background: var(--dh-bg-3);
102
- display: flex;
103
- align-items: center;
104
- justify-content: center;
105
- flex-shrink: 0;
106
- border: 2px solid var(--dh-bg-2);
107
- }
108
-
109
- .e-68d92230 > .holder > .messages > .message > .avatar > .icon
110
- {
111
- font-size: 24px;
112
- color: var(--dh-text-2);
113
- }
114
-
115
- .e-68d92230 > .holder > .messages > .message > .avatar > img
116
- {
117
- width: 100%;
118
- height: 100%;
119
- object-fit: cover;
120
- border-radius: 50%;
121
- }
122
-
123
- .e-68d92230 > .holder > .messages > .message > .content
124
- {
125
- display: flex;
126
- flex-direction: column;
127
- gap: var(--dh-spacing-x);
128
- flex: 1;
129
- max-width: 70%;
130
- }
131
-
132
- .e-68d92230 > .holder > .messages > .message > .content > .msg-header
133
- {
134
- display: flex;
135
- align-items: center;
136
- gap: var(--dh-spacing-s);
137
- padding: 0 var(--dh-spacing-x);
138
- }
139
-
140
- .e-68d92230 > .holder > .messages > .message > .content > .msg-header > .sender
141
- {
142
- font-weight: 600;
143
- color: var(--dh-text-1);
144
- font-size: var(--dh-size-s);
145
- }
146
-
147
- .e-68d92230 > .holder > .messages > .message > .content > .msg-header > .time
148
- {
149
- font-size: 11px;
150
- color: var(--dh-text-2);
151
- }
152
-
153
- .e-68d92230 > .holder > .messages > .message > .content > .bubble
154
- {
155
- padding: var(--dh-spacing-m);
156
- background: var(--dh-bg-2);
157
- border-radius: var(--dh-radius-m);
158
- color: var(--dh-text-1);
159
- font-size: var(--dh-size-m);
160
- line-height: 1.6;
161
- border: 1px solid var(--dh-bg-2-border);
162
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
163
- max-width: fit-content;
164
- }
165
-
166
- .e-68d92230 > .holder > .messages > .message[sender="me"]
167
- {
168
- flex-direction: row-reverse;
169
- }
170
-
171
- .e-68d92230 > .holder > .messages > .message[sender="me"] > .content
172
- {
173
- align-items: flex-end;
174
- }
175
-
176
- .e-68d92230 > .holder > .messages > .message[sender="me"] > .content > .bubble
177
- {
178
- background: var(--dh-brand);
179
- color: white;
180
- border-color: var(--dh-brand-border);
181
- }
182
-
183
- .e-68d92230 > .holder > .composer
184
- {
185
- padding: var(--dh-spacing-l);
186
- background: var(--dh-bg-2);
187
- border-top: 1px solid var(--dh-bg-2-border);
188
- display: flex;
189
- flex-direction: column;
190
- gap: var(--dh-spacing-m);
191
- }
192
-
193
- .e-68d92230 > .holder > .composer > .composer-actions
194
- {
195
- display: flex;
196
- justify-content: space-between;
197
- align-items: center;
198
- gap: var(--dh-spacing-s);
199
- }
200
-
201
- .e-68d92230 > .holder > .composer > .composer-actions > .left
202
- {
203
- display: flex;
204
- gap: var(--dh-spacing-x);
205
- }
206
-
207
- /* Variants - Border */
208
- .e-68d92230 > .holder[variant*="border"] { border: 1px solid var(--dh-bg-2-border); }
209
-
210
- /* Variants - Background */
211
- .e-68d92230 > .holder[variant*="bg-1"] { background: var(--dh-bg-1); }
212
- .e-68d92230 > .holder[variant*="bg-2"] { background: var(--dh-bg-2); }
213
- .e-68d92230 > .holder[variant*="bg-2"] > .messages { background: var(--dh-bg-1); }
214
- .e-68d92230 > .holder[variant*="bg-3"] { background: var(--dh-bg-3); }
215
- .e-68d92230 > .holder[variant*="bg-3"] > .messages { background: var(--dh-bg-2); }
216
-
217
- /* Variants - Compact */
218
- .e-68d92230 > .holder[variant*="compact"] { height: 800px; }
219
- .e-68d92230 > .holder[variant*="compact"] > .header { padding: var(--dh-spacing-m); }
220
- .e-68d92230 > .holder[variant*="compact"] > .header > .info > .subject { font-size: var(--dh-size-m); }
221
- .e-68d92230 > .holder[variant*="compact"] > .messages { padding: var(--dh-spacing-m); gap: var(--dh-spacing-m); }
222
- .e-68d92230 > .holder[variant*="compact"] > .messages > .message > .avatar { width: 32px; height: 32px; }
223
- .e-68d92230 > .holder[variant*="compact"] > .messages > .message > .avatar > .icon { font-size: 18px; }
224
- .e-68d92230 > .holder[variant*="compact"] > .messages > .message > .content > .bubble { padding: var(--dh-spacing-s); font-size: var(--dh-size-s); }
225
- .e-68d92230 > .holder[variant*="compact"] > .composer { padding: var(--dh-spacing-m); gap: var(--dh-spacing-s); }
@@ -1,111 +0,0 @@
1
- import elements from '#elements/load.js';
2
-
3
- elements.ItemAdd({
4
- id: 'inbox',
5
- icon: 'inbox',
6
- name: 'Inbox',
7
- description: 'Message inbox with sender/recipient info and reply textarea.',
8
- category: 'Data',
9
- author: 'Divhunt',
10
- config: {
11
- subject: {
12
- type: 'string',
13
- value: 'Project Requirements Discussion'
14
- },
15
- recipient: {
16
- type: 'string',
17
- value: 'John Smith'
18
- },
19
- messages: {
20
- type: 'array',
21
- value: [
22
- {
23
- sender: 'John Smith',
24
- avatar: '',
25
- time: '10:30 AM',
26
- message: 'Hey, I wanted to discuss the new project requirements with you. Do you have time this afternoon?',
27
- isMe: false
28
- },
29
- {
30
- sender: 'Me',
31
- avatar: '',
32
- time: '10:32 AM',
33
- message: 'Sure! I am free after 3 PM. Should we schedule a quick call?',
34
- isMe: true
35
- },
36
- {
37
- sender: 'John Smith',
38
- avatar: '',
39
- time: '10:35 AM',
40
- message: 'Perfect! I will send you a calendar invite. Thanks!',
41
- isMe: false
42
- }
43
- ]
44
- },
45
- placeholder: {
46
- type: 'string',
47
- value: 'Type your message...'
48
- },
49
- variant: {
50
- type: 'array',
51
- value: ['border', 'compact'],
52
- options: ['border', 'bg-1', 'bg-2', 'bg-3', 'compact']
53
- }
54
- },
55
- render: function()
56
- {
57
- return `
58
- <div class="holder" :variant="variant.join(' ')">
59
- <div class="header">
60
- <div class="info">
61
- <h3 class="subject">{{ subject }}</h3>
62
- <div class="meta">
63
- <span class="label">To:</span>
64
- <span class="value">{{ recipient }}</span>
65
- </div>
66
- </div>
67
- <div class="actions">
68
- <e-button :variant="['outline', 'size-s']">
69
- <i class="icon">archive</i>
70
- </e-button>
71
- <e-button :variant="['outline', 'size-s']">
72
- <i class="icon">delete</i>
73
- </e-button>
74
- </div>
75
- </div>
76
- <div class="messages">
77
- <div dh-for="msg in messages" class="message" :sender="msg.isMe ? 'me' : 'them'">
78
- <div class="avatar">
79
- <i dh-if="!msg.avatar" class="icon">person</i>
80
- <img dh-if="msg.avatar" :src="msg.avatar" alt="Avatar">
81
- </div>
82
- <div class="content">
83
- <div class="msg-header">
84
- <span class="sender">{{ msg.sender }}</span>
85
- <span class="time">{{ msg.time }}</span>
86
- </div>
87
- <div class="bubble">{{ msg.message }}</div>
88
- </div>
89
- </div>
90
- </div>
91
- <div class="composer">
92
- <e-textarea :placeholder="placeholder" :variant="['border']" rows="3"></e-textarea>
93
- <div class="composer-actions">
94
- <div class="left">
95
- <e-button :variant="['ghost', 'size-s']">
96
- <i class="icon">attach_file</i>
97
- </e-button>
98
- <e-button :variant="['ghost', 'size-s']">
99
- <i class="icon">image</i>
100
- </e-button>
101
- </div>
102
- <e-button :variant="['brand']">
103
- <i class="icon">send</i>
104
- Send
105
- </e-button>
106
- </div>
107
- </div>
108
- </div>
109
- `;
110
- }
111
- });
@@ -1,133 +0,0 @@
1
- /* Base */
2
- .e-4ded73b > .holder
3
- {
4
- display: flex;
5
- flex-direction: column;
6
- background: var(--dh-bg-1);
7
- border-radius: var(--dh-radius-m);
8
- overflow: auto;
9
- font-family: 'Courier New', monospace;
10
- font-size: var(--dh-size-s);
11
- }
12
-
13
- .e-4ded73b > .holder > .log-entry
14
- {
15
- display: flex;
16
- align-items: center;
17
- gap: var(--dh-spacing-m);
18
- padding: var(--dh-spacing-s) var(--dh-spacing-m);
19
- border-bottom: 1px solid var(--dh-bg-2);
20
- transition: background 0.1s ease;
21
- }
22
-
23
- .e-4ded73b > .holder > .log-entry:hover
24
- {
25
- background: var(--dh-bg-2);
26
- }
27
-
28
- .e-4ded73b > .holder > .log-entry:last-child
29
- {
30
- border-bottom: none;
31
- }
32
-
33
- .e-4ded73b > .holder > .log-entry > .timestamp
34
- {
35
- color: var(--dh-text-2);
36
- font-size: 11px;
37
- min-width: 60px;
38
- opacity: 0.7;
39
- }
40
-
41
- .e-4ded73b > .holder > .log-entry > .icon
42
- {
43
- font-size: 16px;
44
- flex-shrink: 0;
45
- }
46
-
47
- .e-4ded73b > .holder > .log-entry > .message
48
- {
49
- color: var(--dh-text-1);
50
- flex: 1;
51
- word-break: break-word;
52
- }
53
-
54
- /* Log Types */
55
- .e-4ded73b > .holder > .log-entry[type="info"] > .icon
56
- {
57
- color: var(--dh-blue);
58
- }
59
-
60
- .e-4ded73b > .holder > .log-entry[type="success"] > .icon
61
- {
62
- color: var(--dh-green);
63
- }
64
-
65
- .e-4ded73b > .holder > .log-entry[type="warning"] > .icon
66
- {
67
- color: var(--dh-orange);
68
- }
69
-
70
- .e-4ded73b > .holder > .log-entry[type="error"] > .icon
71
- {
72
- color: var(--dh-red);
73
- }
74
-
75
- .e-4ded73b > .holder > .log-entry[type="error"] > .message
76
- {
77
- color: var(--dh-red);
78
- }
79
-
80
- /* Variants - Dark */
81
- .e-4ded73b > .holder[variant*="dark"]
82
- {
83
- background: var(--dh-bg-1);
84
- }
85
-
86
- .e-4ded73b > .holder[variant*="dark"] > .log-entry
87
- {
88
- border-bottom-color: var(--dh-bg-2);
89
- }
90
-
91
- .e-4ded73b > .holder[variant*="dark"] > .log-entry:hover
92
- {
93
- background: var(--dh-bg-2);
94
- }
95
-
96
- /* Variants - Light */
97
- .e-4ded73b > .holder[variant*="light"]
98
- {
99
- background: var(--dh-bg-3);
100
- }
101
-
102
- .e-4ded73b > .holder[variant*="light"] > .log-entry
103
- {
104
- border-bottom-color: var(--dh-bg-4);
105
- }
106
-
107
- .e-4ded73b > .holder[variant*="light"] > .log-entry:hover
108
- {
109
- background: var(--dh-bg-4);
110
- }
111
-
112
- /* Variants - Compact */
113
- .e-4ded73b > .holder[variant*="compact"] > .log-entry
114
- {
115
- padding: var(--dh-spacing-x) var(--dh-spacing-s);
116
- gap: var(--dh-spacing-s);
117
- }
118
-
119
- .e-4ded73b > .holder[variant*="compact"] > .log-entry > .timestamp
120
- {
121
- min-width: 50px;
122
- }
123
-
124
- .e-4ded73b > .holder[variant*="compact"] > .log-entry > .icon
125
- {
126
- font-size: 14px;
127
- }
128
-
129
- /* Variants - Border */
130
- .e-4ded73b > .holder[variant*="border"]
131
- {
132
- border: 1px solid var(--dh-bg-4);
133
- }
@@ -1,65 +0,0 @@
1
- import elements from '#elements/load.js';
2
-
3
- elements.ItemAdd({
4
- id: 'logs',
5
- icon: 'terminal',
6
- name: 'Logs',
7
- description: 'Console-style log viewer with syntax highlighting and filtering.',
8
- category: 'Data',
9
- author: 'Divhunt',
10
- config: {
11
- logs: {
12
- type: 'array',
13
- value: [
14
- {
15
- type: 'info',
16
- timestamp: '10:23:45',
17
- message: 'Server started on port 3000'
18
- },
19
- {
20
- type: 'success',
21
- timestamp: '10:23:46',
22
- message: 'Database connection established'
23
- },
24
- {
25
- type: 'warning',
26
- timestamp: '10:24:12',
27
- message: 'API rate limit approaching threshold'
28
- },
29
- {
30
- type: 'error',
31
- timestamp: '10:25:33',
32
- message: 'Failed to connect to external service'
33
- }
34
- ]
35
- },
36
- variant: {
37
- type: 'array',
38
- value: ['light', 'border'],
39
- options: ['dark', 'light', 'compact', 'border']
40
- }
41
- },
42
- render: function()
43
- {
44
- this.getIcon = (type) =>
45
- {
46
- const icons = {
47
- info: 'info',
48
- success: 'check_circle',
49
- warning: 'warning',
50
- error: 'error'
51
- };
52
- return icons[type] || 'circle';
53
- };
54
-
55
- return `
56
- <div class="holder" :variant="variant.join(' ')">
57
- <div dh-for="log in logs" class="log-entry" :type="log.type">
58
- <span class="timestamp">{{ log.timestamp }}</span>
59
- <i class="icon">{{ getIcon(log.type) }}</i>
60
- <span class="message">{{ log.message }}</span>
61
- </div>
62
- </div>
63
- `;
64
- }
65
- });