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,69 +0,0 @@
1
- import elements from '#elements/load.js';
2
-
3
- elements.ItemAdd({
4
- id: 'slider',
5
- icon: 'linear_scale',
6
- name: 'Slider',
7
- description: 'Range slider input for selecting numeric values.',
8
- category: 'Form',
9
- author: 'Divhunt',
10
- config: {
11
- value: {
12
- type: 'number',
13
- value: 50
14
- },
15
- min: {
16
- type: 'number',
17
- value: 0
18
- },
19
- max: {
20
- type: 'number',
21
- value: 100
22
- },
23
- step: {
24
- type: 'number',
25
- value: 10
26
- },
27
- variant: {
28
- type: 'array',
29
- value: ['brand', 'size-m'],
30
- options: ['brand', 'blue', 'red', 'orange', 'green', 'size-s', 'size-m', 'size-l']
31
- },
32
- onChange: {
33
- type: 'function'
34
- }
35
- },
36
- render: function()
37
- {
38
- this.handleInput = (event) =>
39
- {
40
- this.value = parseFloat(event.target.value);
41
- if (this.onChange)
42
- {
43
- this.onChange(this.value);
44
- }
45
- };
46
-
47
- this.getPercentage = () =>
48
- {
49
- return ((this.value - this.min) / (this.max - this.min)) * 100;
50
- };
51
-
52
- return `
53
- <div class="holder" :variant="variant.join(' ')">
54
- <div class="track">
55
- <div class="fill" :style="'width: ' + getPercentage() + '%'"></div>
56
- </div>
57
- <input
58
- type="range"
59
- class="input"
60
- :value="value"
61
- :min="min"
62
- :max="max"
63
- :step="step"
64
- dh-input="handleInput"
65
- />
66
- </div>
67
- `;
68
- }
69
- });
@@ -1,117 +0,0 @@
1
- /* Base */
2
- .e-c6e9f50 > .holder
3
- {
4
- position: relative;
5
- width: 100%;
6
- padding: var(--dh-spacing-s) var(--dh-spacing-m);
7
- border-radius: var(--dh-radius-m);
8
- border: none;
9
- background: transparent;
10
- transition: all 0.2s;
11
- }
12
-
13
- .e-c6e9f50 > .holder > textarea
14
- {
15
- width: 100%;
16
- background: transparent;
17
- border: none;
18
- outline: none;
19
- min-height: 100px;
20
- resize: none;
21
- color: var(--dh-text-1);
22
- padding: 0;
23
- }
24
-
25
- .e-c6e9f50 > .holder > textarea::placeholder
26
- {
27
- color: var(--dh-text-2);
28
- }
29
-
30
- .e-c6e9f50 > .holder > textarea:disabled
31
- {
32
- opacity: 0.5;
33
- cursor: not-allowed;
34
- }
35
-
36
- /* Variants - Background */
37
- .e-c6e9f50 > .holder[variant*="transparent"]
38
- {
39
- background: transparent;
40
- padding: 0;
41
- }
42
-
43
- .e-c6e9f50 > .holder[variant*="border"]
44
- {
45
- background: transparent;
46
- }
47
-
48
- .e-c6e9f50 > .holder[variant*="bg-1"]
49
- {
50
- background: var(--dh-bg-1);
51
- }
52
-
53
- .e-c6e9f50 > .holder[variant*="bg-1"]:hover
54
- {
55
- background: var(--dh-bg-1-hover);
56
- }
57
-
58
- .e-c6e9f50 > .holder[variant*="bg-2"]
59
- {
60
- background: var(--dh-bg-2);
61
- }
62
-
63
- .e-c6e9f50 > .holder[variant*="bg-2"]:hover
64
- {
65
- background: var(--dh-bg-2-hover);
66
- }
67
-
68
- .e-c6e9f50 > .holder[variant*="bg-3"]
69
- {
70
- background: var(--dh-bg-3);
71
- }
72
-
73
- .e-c6e9f50 > .holder[variant*="bg-3"]:hover
74
- {
75
- background: var(--dh-bg-3-hover);
76
- }
77
-
78
- .e-c6e9f50 > .holder[variant*="bg-4"]
79
- {
80
- background: var(--dh-bg-4);
81
- }
82
-
83
- .e-c6e9f50 > .holder[variant*="bg-4"]:hover
84
- {
85
- background: var(--dh-bg-4-hover);
86
- }
87
-
88
- /* Variants - Border */
89
- .e-c6e9f50 > .holder[variant*="border"]
90
- {
91
- border: 1px solid var(--dh-bg-2-border);
92
- }
93
-
94
- .e-c6e9f50 > .holder[variant*="bg-1"][variant*="border"]
95
- {
96
- border: 1px solid var(--dh-bg-1-border);
97
- }
98
-
99
- .e-c6e9f50 > .holder[variant*="bg-2"][variant*="border"]
100
- {
101
- border: 1px solid var(--dh-bg-2-border);
102
- }
103
-
104
- .e-c6e9f50 > .holder[variant*="bg-3"][variant*="border"]
105
- {
106
- border: 1px solid var(--dh-bg-3-border);
107
- }
108
-
109
- .e-c6e9f50 > .holder[variant*="bg-4"][variant*="border"]
110
- {
111
- border: 1px solid var(--dh-bg-4-border);
112
- }
113
-
114
- .e-c6e9f50 > .holder[variant*="border"]:focus-within
115
- {
116
- border-color: var(--dh-brand);
117
- }
@@ -1,69 +0,0 @@
1
- import elements from '#elements/load.js';
2
-
3
- elements.ItemAdd({
4
- id: 'textarea',
5
- icon: 'notes',
6
- name: 'Textarea',
7
- description: 'Multi-line text input with auto-resize option, character counting, and variant support for different UI contexts.',
8
- category: 'Form',
9
- author: 'Divhunt',
10
- config: {
11
- value: {
12
- type: 'string'
13
- },
14
- name: {
15
- type: 'string'
16
- },
17
- placeholder: {
18
- type: 'string'
19
- },
20
- rows: {
21
- type: 'number',
22
- value: 4
23
- },
24
- maxLength: {
25
- type: 'number'
26
- },
27
- disabled: {
28
- type: 'boolean'
29
- },
30
- readonly: {
31
- type: 'boolean'
32
- },
33
- variant: {
34
- type: 'array',
35
- value: ['bg-2'],
36
- options: ['transparent', 'border', 'bg-1', 'bg-2', 'bg-3', 'bg-4']
37
- },
38
- size: {
39
- type: 'string',
40
- value: 'm',
41
- options: ['s', 'm', 'l']
42
- },
43
- onInput: {
44
- type: 'function'
45
- },
46
- onChange: {
47
- type: 'function'
48
- }
49
- },
50
- render: function()
51
- {
52
- return `
53
- <div class="holder" :variant="variant.join(' ')" :size="size">
54
- <textarea
55
- :value="value"
56
- :placeholder="placeholder"
57
- :name="name"
58
- :rows="rows"
59
- :maxlength="maxLength"
60
- :disabled="disabled"
61
- :readonly="readonly"
62
- autocomplete="off"
63
- dh-input="onInput"
64
- dh-change="onChange"
65
- ></textarea>
66
- </div>
67
- `;
68
- }
69
- });
@@ -1,154 +0,0 @@
1
- /* Base */
2
- .e-68a084f7 > .holder
3
- {
4
- display: flex;
5
- flex-direction: column;
6
- align-items: center;
7
- justify-content: center;
8
- padding: var(--dh-spacing-l);
9
- gap: var(--dh-spacing-m);
10
- text-align: center;
11
- }
12
-
13
- .e-68a084f7 > .holder > .icon
14
- {
15
- font-size: 48px;
16
- color: var(--dh-text-2);
17
- opacity: 0.5;
18
- }
19
-
20
- .e-68a084f7 > .holder > .content
21
- {
22
- display: flex;
23
- flex-direction: column;
24
- gap: var(--dh-spacing-x);
25
- max-width: 400px;
26
- }
27
-
28
- .e-68a084f7 > .holder > .content > .title
29
- {
30
- font-size: var(--dh-size-l);
31
- font-weight: 600;
32
- color: var(--dh-text-1);
33
- }
34
-
35
- .e-68a084f7 > .holder > .content > .text
36
- {
37
- font-size: var(--dh-size-m);
38
- color: var(--dh-text-2);
39
- line-height: 1.6;
40
- }
41
-
42
- /* Variants - Background */
43
- .e-68a084f7 > .holder[variant*="bg-1"]
44
- {
45
- background: var(--dh-bg-1);
46
- border: 1px solid var(--dh-bg-1-border);
47
- border-radius: var(--dh-radius-l);
48
- }
49
-
50
- .e-68a084f7 > .holder[variant*="bg-2"]
51
- {
52
- background: var(--dh-bg-2);
53
- border: 1px solid var(--dh-bg-2-border);
54
- border-radius: var(--dh-radius-l);
55
- }
56
-
57
- .e-68a084f7 > .holder[variant*="bg-3"]
58
- {
59
- background: var(--dh-bg-3);
60
- border: 1px solid var(--dh-bg-3-border);
61
- border-radius: var(--dh-radius-l);
62
- }
63
-
64
- .e-68a084f7 > .holder[variant*="bg-4"]
65
- {
66
- background: var(--dh-bg-4);
67
- border: 1px solid var(--dh-bg-4-border);
68
- border-radius: var(--dh-radius-l);
69
- }
70
-
71
- /* Variants - Border */
72
- .e-68a084f7 > .holder[variant*="border"]
73
- {
74
- border-width: 2px;
75
- }
76
-
77
- /* Variants - Sizes */
78
- .e-68a084f7 > .holder[variant*="size-s"]
79
- {
80
- padding: var(--dh-spacing-m);
81
- gap: var(--dh-spacing-s);
82
- }
83
-
84
- .e-68a084f7 > .holder[variant*="size-s"] > .icon
85
- {
86
- font-size: 36px;
87
- }
88
-
89
- .e-68a084f7 > .holder[variant*="size-s"] > .content
90
- {
91
- max-width: 300px;
92
- }
93
-
94
- .e-68a084f7 > .holder[variant*="size-s"] > .content > .title
95
- {
96
- font-size: var(--dh-size-m);
97
- }
98
-
99
- .e-68a084f7 > .holder[variant*="size-s"] > .content > .text
100
- {
101
- font-size: var(--dh-size-s);
102
- }
103
-
104
- .e-68a084f7 > .holder[variant*="size-m"]
105
- {
106
- padding: var(--dh-spacing-l);
107
- gap: var(--dh-spacing-m);
108
- }
109
-
110
- .e-68a084f7 > .holder[variant*="size-m"] > .icon
111
- {
112
- font-size: 48px;
113
- }
114
-
115
- .e-68a084f7 > .holder[variant*="size-m"] > .content
116
- {
117
- max-width: 400px;
118
- }
119
-
120
- .e-68a084f7 > .holder[variant*="size-m"] > .content > .title
121
- {
122
- font-size: var(--dh-size-l);
123
- }
124
-
125
- .e-68a084f7 > .holder[variant*="size-m"] > .content > .text
126
- {
127
- font-size: var(--dh-size-m);
128
- }
129
-
130
- .e-68a084f7 > .holder[variant*="size-l"]
131
- {
132
- padding: var(--dh-spacing-l);
133
- gap: var(--dh-spacing-l);
134
- }
135
-
136
- .e-68a084f7 > .holder[variant*="size-l"] > .icon
137
- {
138
- font-size: 64px;
139
- }
140
-
141
- .e-68a084f7 > .holder[variant*="size-l"] > .content
142
- {
143
- max-width: 500px;
144
- }
145
-
146
- .e-68a084f7 > .holder[variant*="size-l"] > .content > .title
147
- {
148
- font-size: 24px;
149
- }
150
-
151
- .e-68a084f7 > .holder[variant*="size-l"] > .content > .text
152
- {
153
- font-size: var(--dh-size-l);
154
- }
@@ -1,43 +0,0 @@
1
- import elements from '#elements/load.js';
2
-
3
- elements.ItemAdd({
4
- id: 'empty',
5
- icon: 'inbox',
6
- name: 'Empty',
7
- description: 'Empty state placeholder with icon, title, and message.',
8
- category: 'Layout',
9
- author: 'Divhunt',
10
- config: {
11
- icon: {
12
- type: 'string',
13
- value: 'inbox'
14
- },
15
- title: {
16
- type: 'string',
17
- value: 'No items found'
18
- },
19
- text: {
20
- type: 'string',
21
- value: 'Get started by creating your first item.'
22
- },
23
- variant: {
24
- type: 'array',
25
- value: ['size-m', 'bg-1', 'border'],
26
- options: ['bg-1', 'bg-2', 'bg-3', 'bg-4', 'border', 'size-s', 'size-m', 'size-l']
27
- }
28
- },
29
- render: function()
30
- {
31
- return `
32
- <div class="holder" :variant="variant.join(' ')">
33
- <i dh-if="icon" class="icon">{{ icon }}</i>
34
-
35
- <div class="content">
36
- <div dh-if="title" class="title">{{ title }}</div>
37
- <div dh-if="text" class="text">{{ text }}</div>
38
- <slot></slot>
39
- </div>
40
- </div>
41
- `;
42
- }
43
- });
@@ -1,117 +0,0 @@
1
- .e-52c43b2c > .holder
2
- {
3
- display: flex;
4
- gap: var(--dh-spacing-m);
5
- padding-bottom: var(--dh-spacing-m);
6
- border-bottom: 1px solid var(--dh-bg-2-border);
7
- }
8
-
9
- .e-52c43b2c > .holder > i
10
- {
11
- width: 40px;
12
- height: 40px;
13
- flex-shrink: 0;
14
- display: flex;
15
- align-items: center;
16
- justify-content: center;
17
- border-radius: var(--dh-radius-m);
18
- background: var(--dh-brand-opacity);
19
- color: var(--dh-brand);
20
- font-size: 20px;
21
- transition: all 0.2s;
22
- }
23
-
24
- .e-52c43b2c > .holder > i:hover
25
- {
26
- background: var(--dh-brand-hover);
27
- transform: scale(1.05);
28
- }
29
-
30
- .e-52c43b2c > .holder > .content
31
- {
32
- display: flex;
33
- flex-direction: column;
34
- gap: var(--dh-spacing-x);
35
- flex: 1;
36
- }
37
-
38
- .e-52c43b2c > .holder > .content > h2
39
- {
40
- margin: 0;
41
- color: var(--dh-text-1);
42
- font-weight: 600;
43
- font-size: 24px;
44
- line-height: 1.2;
45
- letter-spacing: -0.02em;
46
- }
47
-
48
- .e-52c43b2c > .holder > .content > p
49
- {
50
- margin: 0;
51
- color: var(--dh-text-2);
52
- font-size: var(--dh-size-m);
53
- line-height: 1.5;
54
- }
55
-
56
- .e-52c43b2c > .holder[variant*="align-center"]
57
- {
58
- align-items: center;
59
- text-align: center;
60
- }
61
-
62
- .e-52c43b2c > .holder[variant*="align-right"]
63
- {
64
- align-items: flex-end;
65
- text-align: right;
66
- }
67
-
68
- .e-52c43b2c > .holder[variant*="size-s"] > i
69
- {
70
- width: 36px;
71
- height: 36px;
72
- font-size: 18px;
73
- }
74
-
75
- .e-52c43b2c > .holder[variant*="size-s"] > .content > h2
76
- {
77
- font-size: 20px;
78
- }
79
-
80
- .e-52c43b2c > .holder[variant*="size-s"] > .content > p
81
- {
82
- font-size: var(--dh-size-s);
83
- }
84
-
85
- .e-52c43b2c > .holder[variant*="size-m"] > i
86
- {
87
- width: 40px;
88
- height: 40px;
89
- font-size: 20px;
90
- }
91
-
92
- .e-52c43b2c > .holder[variant*="size-m"] > .content > h2
93
- {
94
- font-size: 24px;
95
- }
96
-
97
- .e-52c43b2c > .holder[variant*="size-m"] > .content > p
98
- {
99
- font-size: var(--dh-size-m);
100
- }
101
-
102
- .e-52c43b2c > .holder[variant*="size-l"] > i
103
- {
104
- width: 48px;
105
- height: 48px;
106
- font-size: 24px;
107
- }
108
-
109
- .e-52c43b2c > .holder[variant*="size-l"] > .content > h2
110
- {
111
- font-size: 32px;
112
- }
113
-
114
- .e-52c43b2c > .holder[variant*="size-l"] > .content > p
115
- {
116
- font-size: var(--dh-size-l);
117
- }
@@ -1,47 +0,0 @@
1
- import elements from '#elements/load.js';
2
-
3
- elements.ItemAdd({
4
- id: 'heading',
5
- icon: 'title',
6
- name: 'Heading',
7
- description: 'Heading component with alignment options (left, center, right), and size variants for different hierarchy levels.',
8
- category: 'Layout',
9
- author: 'Divhunt',
10
- config: {
11
- icon: {
12
- type: 'string',
13
- value: ''
14
- },
15
- color: {
16
- type: 'string',
17
- value: ''
18
- },
19
- title: {
20
- type: 'string',
21
- value: 'Heading Title'
22
- },
23
- description: {
24
- type: 'string',
25
- value: 'This is a description text that provides additional context and information about the heading above.'
26
- },
27
- variant: {
28
- type: 'array',
29
- value: ['align-left', 'size-m'],
30
- options: ['align-left', 'align-center', 'align-right', 'size-s', 'size-m', 'size-l']
31
- }
32
- },
33
- render: function()
34
- {
35
- return `
36
- <div class="holder" :variant="variant.join(' ')">
37
- <i dh-if="icon" :style="color ? 'color: ' + color : ''">{{ icon }}</i>
38
- <div class="content">
39
- <slot name="top"></slot>
40
- <h2>{{ title }}</h2>
41
- <p dh-if="description">{{ description }}</p>
42
- <slot name="bottom"></slot>
43
- </div>
44
- </div>
45
- `;
46
- }
47
- });
@@ -1,88 +0,0 @@
1
- import elements from '#elements/load.js';
2
-
3
- elements.ItemAdd({
4
- id: 'hero',
5
- icon: 'web',
6
- name: 'Hero',
7
- description: 'Hero section with headline, subtext, CTAs, and trust indicators for landing pages.',
8
- category: 'Layout',
9
- author: 'Divhunt',
10
- config: {
11
- badge: {
12
- type: 'string',
13
- value: 'New Release'
14
- },
15
- title: {
16
- type: 'string',
17
- value: 'Build faster with'
18
- },
19
- highlight: {
20
- type: 'string',
21
- value: 'Divhunt'
22
- },
23
- description: {
24
- type: 'string',
25
- value: 'The all-in-one platform for building modern web applications. Ship products faster with our intuitive tools and components.'
26
- },
27
- buttons: {
28
- type: 'array',
29
- value: [
30
- { text: 'Get Started', variant: ['brand', 'size-m'] },
31
- { text: 'Learn More', variant: ['border', 'size-m'] }
32
- ],
33
- each: {
34
- type: 'object',
35
- config: {
36
- text: { type: 'string', value: 'Button' },
37
- href: { type: 'string', value: '' },
38
- variant: { type: 'array', value: ['brand', 'size-m'] }
39
- }
40
- }
41
- },
42
- stats: {
43
- type: 'array',
44
- value: [
45
- { value: '10K+', label: 'Active Users', icon: 'group' },
46
- { value: '99.9%', label: 'Uptime', icon: 'check_circle' },
47
- { value: '24/7', label: 'Support', icon: 'support_agent' }
48
- ],
49
- each: {
50
- type: 'object',
51
- config: {
52
- value: { type: 'string', value: '100' },
53
- label: { type: 'string', value: 'Label' },
54
- icon: { type: 'string', value: '' }
55
- }
56
- }
57
- },
58
- variant: {
59
- type: 'array',
60
- value: ['center', 'size-m'],
61
- options: ['left', 'center', 'right', 'size-s', 'size-m', 'size-l', 'bg-1', 'bg-2', 'bg-3', 'bg-4', 'border']
62
- }
63
- },
64
- render: function()
65
- {
66
- return `
67
- <div class="holder" :variant="variant.join(' ')">
68
- <slot name="top"></slot>
69
- <div class="content">
70
- <e-tag dh-if="badge" :text="badge" :variant="['border', 'size-s']"></e-tag>
71
- <h1>{{ title }}<span dh-if="highlight">{{ highlight }}</span></h1>
72
- <p dh-if="description">{{ description }}</p>
73
- <div dh-if="buttons.length" class="actions">
74
- <e-button dh-for="button in buttons" :text="button.text" :href="button.href" :variant="button.variant"></e-button>
75
- </div>
76
- <div dh-if="stats.length" class="stats">
77
- <div dh-for="stat in stats" class="stat">
78
- <i dh-if="stat.icon">{{ stat.icon }}</i>
79
- <strong>{{ stat.value }}</strong>
80
- <span>{{ stat.label }}</span>
81
- </div>
82
- </div>
83
- </div>
84
- <slot name="bottom"></slot>
85
- </div>
86
- `;
87
- }
88
- });