@awes-io/ui 2.142.3 → 2.144.0

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 (264) hide show
  1. package/assets/css/components/_index.css +7 -1
  2. package/assets/css/components/action-card.css +1 -0
  3. package/assets/css/components/action-icon.css +2 -2
  4. package/assets/css/components/alert.css +28 -22
  5. package/assets/css/components/animation.css +52 -32
  6. package/assets/css/components/badge.css +1 -0
  7. package/assets/css/components/banner-text.css +15 -4
  8. package/assets/css/components/card.css +0 -1
  9. package/assets/css/components/content-placeholder.css +104 -0
  10. package/assets/css/components/dropdown.css +20 -7
  11. package/assets/css/components/empty-container.css +69 -1
  12. package/assets/css/components/filter-chosen.css +6 -0
  13. package/assets/css/components/filter-date-range.css +17 -1
  14. package/assets/css/components/filter-month.css +23 -17
  15. package/assets/css/components/filter-select.css +11 -0
  16. package/assets/css/components/icon-menu-item.css +12 -7
  17. package/assets/css/components/layout.css +1 -32
  18. package/assets/css/components/mobile-menu-nav.css +8 -4
  19. package/assets/css/components/modal.css +1 -1
  20. package/assets/css/components/number.css +12 -0
  21. package/assets/css/components/page-aside.css +54 -0
  22. package/assets/css/components/text-field.css +4 -0
  23. package/assets/js/css.js +1 -1
  24. package/assets/js/icons/mono.js +59 -91
  25. package/assets/js/icons/multicolor.js +1 -31
  26. package/components/1_atoms/AwActionIcon.vue +11 -2
  27. package/components/1_atoms/AwContentPlaceholder.vue +60 -0
  28. package/components/1_atoms/AwFlow.vue +37 -49
  29. package/components/1_atoms/AwGrid.vue +11 -3
  30. package/components/1_atoms/AwIcon/AwIcon.vue +5 -3
  31. package/components/1_atoms/AwIcon/AwIconSystemMono.vue +3 -2
  32. package/components/1_atoms/AwInput.vue +2 -2
  33. package/components/1_atoms/AwLabel.vue +1 -1
  34. package/components/1_atoms/AwList.vue +3 -1
  35. package/components/1_atoms/AwRadio.vue +1 -1
  36. package/components/1_atoms/AwSlider.vue +15 -1
  37. package/components/1_atoms/AwTag.vue +6 -1
  38. package/components/2_molecules/AwAlert.vue +63 -42
  39. package/components/2_molecules/AwBadge.vue +1 -1
  40. package/components/2_molecules/AwBannerText.vue +8 -2
  41. package/components/2_molecules/AwButton.vue +1 -1
  42. package/components/2_molecules/AwDescriptionInput.vue +19 -1
  43. package/components/2_molecules/AwEmptyContainer.vue +74 -72
  44. package/components/2_molecules/AwNumber.vue +180 -0
  45. package/components/2_molecules/AwSelect.vue +11 -4
  46. package/components/3_organisms/AwBottomBar.vue +22 -4
  47. package/components/3_organisms/AwFilterChosen.vue +73 -0
  48. package/components/3_organisms/AwFilterDateRange.vue +177 -0
  49. package/components/3_organisms/AwFilterMonth.vue +37 -40
  50. package/components/3_organisms/AwFilterSelect.vue +368 -0
  51. package/components/3_organisms/AwMultiBlockBuilder.vue +1 -1
  52. package/components/3_organisms/AwSubnav.vue +11 -1
  53. package/components/3_organisms/AwTable/AwTableBuilder.vue +20 -60
  54. package/components/3_organisms/AwTable/_AwTableCellDropdown.vue +6 -1
  55. package/components/3_organisms/AwTable/_AwTableRow.vue +2 -1
  56. package/components/4_pages/AwPage.vue +1 -0
  57. package/components/4_pages/AwPageAside.vue +108 -0
  58. package/components/5_layouts/AwLayoutCenter.vue +3 -8
  59. package/components/5_layouts/_AwMenuItemIcon.vue +9 -2
  60. package/components/5_layouts/_AwMobileMenuItem.vue +5 -3
  61. package/components/5_layouts/_AwUserMenu.vue +1 -1
  62. package/components/_config.js +26 -1
  63. package/docs/_template.md +80 -0
  64. package/docs/components/atoms/aw-accordion-fold.md +129 -0
  65. package/docs/components/atoms/aw-action-card-body.md +99 -0
  66. package/docs/components/atoms/aw-action-card.md +130 -0
  67. package/docs/components/atoms/aw-action-icon.md +126 -0
  68. package/docs/components/atoms/aw-avatar.md +106 -0
  69. package/docs/components/atoms/aw-card.md +137 -0
  70. package/docs/components/atoms/aw-checkbox.md +288 -0
  71. package/docs/components/atoms/aw-content-placeholder.md +147 -0
  72. package/docs/components/atoms/aw-description.md +83 -0
  73. package/docs/components/atoms/aw-dock.md +90 -0
  74. package/docs/components/atoms/aw-dropdown-button.md +94 -0
  75. package/docs/components/atoms/aw-dropdown.md +178 -0
  76. package/docs/components/atoms/aw-file.md +73 -0
  77. package/docs/components/atoms/aw-flow.md +140 -0
  78. package/docs/components/atoms/aw-grid.md +109 -0
  79. package/docs/components/atoms/aw-headline.md +71 -0
  80. package/docs/components/atoms/aw-icon-system-color.md +122 -0
  81. package/docs/components/atoms/aw-icon-system-mono.md +206 -0
  82. package/docs/components/atoms/aw-icon.md +235 -0
  83. package/docs/components/atoms/aw-info.md +123 -0
  84. package/docs/components/atoms/aw-input.md +212 -0
  85. package/docs/components/atoms/aw-label.md +136 -0
  86. package/docs/components/atoms/aw-link.md +151 -0
  87. package/docs/components/atoms/aw-list.md +152 -0
  88. package/docs/components/atoms/aw-progress.md +119 -0
  89. package/docs/components/atoms/aw-radio.md +182 -0
  90. package/docs/components/atoms/aw-refresh-wrapper.md +81 -0
  91. package/docs/components/atoms/aw-select-native.md +234 -0
  92. package/docs/components/atoms/aw-slider.md +189 -0
  93. package/docs/components/atoms/aw-sub-headline.md +73 -0
  94. package/docs/components/atoms/aw-switcher.md +192 -0
  95. package/docs/components/atoms/aw-tag.md +144 -0
  96. package/docs/components/atoms/aw-title.md +70 -0
  97. package/docs/components/atoms/aw-toggler.md +90 -0
  98. package/docs/components/layouts/aw-layout-center.md +168 -0
  99. package/docs/components/layouts/aw-layout-error.md +153 -0
  100. package/docs/components/layouts/aw-layout-provider.md +238 -0
  101. package/docs/components/layouts/aw-layout.md +88 -0
  102. package/docs/components/molecules/aw-action-button.md +138 -0
  103. package/docs/components/molecules/aw-alert.md +191 -0
  104. package/docs/components/molecules/aw-badge.md +129 -0
  105. package/docs/components/molecules/aw-banner-text.md +156 -0
  106. package/docs/components/molecules/aw-button-nav.md +111 -0
  107. package/docs/components/molecules/aw-button.md +193 -0
  108. package/docs/components/molecules/aw-description-input.md +124 -0
  109. package/docs/components/molecules/aw-empty-container.md +235 -0
  110. package/docs/components/molecules/aw-island.md +506 -0
  111. package/docs/components/molecules/aw-number.md +138 -0
  112. package/docs/components/molecules/aw-select-object.md +401 -0
  113. package/docs/components/molecules/aw-select.md +215 -0
  114. package/docs/components/molecules/aw-tab-nav.md +108 -0
  115. package/docs/components/molecules/aw-tel.md +129 -0
  116. package/docs/components/molecules/aw-textarea.md +83 -0
  117. package/docs/components/molecules/aw-userpic.md +115 -0
  118. package/docs/components/organisms/aw-address-block.md +64 -0
  119. package/docs/components/organisms/aw-address.md +132 -0
  120. package/docs/components/organisms/aw-birthday-picker.md +73 -0
  121. package/docs/components/organisms/aw-bottom-bar.md +66 -0
  122. package/docs/components/organisms/aw-calendar-days.md +115 -0
  123. package/docs/components/organisms/aw-calendar-nav.md +98 -0
  124. package/docs/components/organisms/aw-calendar-view.md +98 -0
  125. package/docs/components/organisms/aw-calendar.md +166 -0
  126. package/docs/components/organisms/aw-chart.md +154 -0
  127. package/docs/components/organisms/aw-chip-select.md +164 -0
  128. package/docs/components/organisms/aw-chip.md +126 -0
  129. package/docs/components/organisms/aw-code-snippet.md +94 -0
  130. package/docs/components/organisms/aw-code.md +132 -0
  131. package/docs/components/organisms/aw-context-menu.md +117 -0
  132. package/docs/components/organisms/aw-cropper.md +151 -0
  133. package/docs/components/organisms/aw-date.md +161 -0
  134. package/docs/components/organisms/aw-display-date.md +33 -0
  135. package/docs/components/organisms/aw-download-link.md +46 -0
  136. package/docs/components/organisms/aw-fetch-data.md +161 -0
  137. package/docs/components/organisms/aw-filter-chosen.md +226 -0
  138. package/docs/components/organisms/aw-filter-date-range.md +205 -0
  139. package/docs/components/organisms/aw-filter-month.md +43 -0
  140. package/docs/components/organisms/aw-filter-select.md +239 -0
  141. package/docs/components/organisms/aw-form.md +174 -0
  142. package/docs/components/organisms/aw-gmap-marker.md +86 -0
  143. package/docs/components/organisms/aw-gmap.md +90 -0
  144. package/docs/components/organisms/aw-image-upload.md +56 -0
  145. package/docs/components/organisms/aw-island-avatar.md +87 -0
  146. package/docs/components/organisms/aw-markdown-editor.md +104 -0
  147. package/docs/components/organisms/aw-modal-buttons.md +57 -0
  148. package/docs/components/organisms/aw-modal.md +246 -0
  149. package/docs/components/organisms/aw-model-edit.md +74 -0
  150. package/docs/components/organisms/aw-money.md +53 -0
  151. package/docs/components/organisms/aw-multi-block-builder.md +165 -0
  152. package/docs/components/organisms/aw-pagination.md +121 -0
  153. package/docs/components/organisms/aw-password.md +103 -0
  154. package/docs/components/organisms/aw-preview-card.md +45 -0
  155. package/docs/components/organisms/aw-search.md +116 -0
  156. package/docs/components/organisms/aw-subnav.md +122 -0
  157. package/docs/components/organisms/aw-table-builder.md +165 -0
  158. package/docs/components/organisms/aw-table-col.md +123 -0
  159. package/docs/components/organisms/aw-table-head.md +92 -0
  160. package/docs/components/organisms/aw-table-row.md +91 -0
  161. package/docs/components/organisms/aw-table.md +172 -0
  162. package/docs/components/organisms/aw-tags.md +54 -0
  163. package/docs/components/organisms/aw-toggle-show-aside.md +43 -0
  164. package/docs/components/organisms/aw-uploader-files.md +125 -0
  165. package/docs/components/organisms/aw-uploader.md +163 -0
  166. package/docs/components/organisms/aw-user-menu.md +87 -0
  167. package/docs/components/pages/aw-page-aside.md +296 -0
  168. package/docs/components/pages/aw-page-menu-buttons.md +172 -0
  169. package/docs/components/pages/aw-page-modal.md +198 -0
  170. package/docs/components/pages/aw-page-single.md +300 -0
  171. package/docs/components/pages/aw-page.md +194 -0
  172. package/docs/configuration.md +493 -0
  173. package/docs/cookbook/advanced-patterns.md +1388 -0
  174. package/docs/cookbook/common-patterns.md +965 -0
  175. package/docs/cookbook/index.md +786 -0
  176. package/docs/getting-started.md +596 -0
  177. package/docs/guides/best-practices.md +1106 -0
  178. package/docs/guides/data-fetching.md +852 -0
  179. package/docs/guides/error-handling.md +1172 -0
  180. package/docs/guides/forms-guide.md +1329 -0
  181. package/docs/guides/mobile-subnavigation.md +359 -0
  182. package/docs/guides/page-patterns/aside-pages.md +1418 -0
  183. package/docs/guides/page-patterns/dashboard-pages.md +990 -0
  184. package/docs/guides/page-patterns/detail-pages.md +1556 -0
  185. package/docs/guides/page-patterns/list-pages.md +1242 -0
  186. package/docs/index.md +263 -1
  187. package/docs/integrations.md +870 -0
  188. package/docs/reference/colors.md +232 -0
  189. package/docs/reference/icons.md +163 -0
  190. package/docs/reference/menu.md +462 -0
  191. package/docs/reference/plugins.md +970 -0
  192. package/docs/reference/troubleshooting.md +964 -0
  193. package/nuxt/awes.config.js +9 -8
  194. package/nuxt/index.js +2 -2
  195. package/nuxt/pages/more.vue +1 -1
  196. package/package.json +5 -3
  197. package/readme.md +171 -1
  198. package/store/awesIo.js +11 -0
  199. package/CHANGELOG.md +0 -4520
  200. package/docs/aw-accordion-fold.md +0 -46
  201. package/docs/aw-address.md +0 -44
  202. package/docs/aw-avatar.md +0 -51
  203. package/docs/aw-badge.md +0 -32
  204. package/docs/aw-button-nav.md +0 -44
  205. package/docs/aw-button.md +0 -50
  206. package/docs/aw-calendar-days.md +0 -46
  207. package/docs/aw-calendar-nav.md +0 -25
  208. package/docs/aw-calendar-view.md +0 -12
  209. package/docs/aw-calendar.md +0 -59
  210. package/docs/aw-card.md +0 -48
  211. package/docs/aw-chart.md +0 -51
  212. package/docs/aw-checkbox.md +0 -56
  213. package/docs/aw-chip-select.md +0 -46
  214. package/docs/aw-chip.md +0 -53
  215. package/docs/aw-code-snippet.md +0 -18
  216. package/docs/aw-code.md +0 -56
  217. package/docs/aw-content-wrapper.md +0 -40
  218. package/docs/aw-context-menu.md +0 -31
  219. package/docs/aw-cropper.md +0 -60
  220. package/docs/aw-dashboard-card.md +0 -37
  221. package/docs/aw-dashboard-donut.md +0 -30
  222. package/docs/aw-dashboard-line.md +0 -20
  223. package/docs/aw-dashboard-progress.md +0 -33
  224. package/docs/aw-dashboard-section.md +0 -32
  225. package/docs/aw-dashboard-speed.md +0 -30
  226. package/docs/aw-date.md +0 -52
  227. package/docs/aw-dropdown-button.md +0 -31
  228. package/docs/aw-dropdown.md +0 -69
  229. package/docs/aw-fetch-data.md +0 -45
  230. package/docs/aw-form.md +0 -52
  231. package/docs/aw-grid.md +0 -48
  232. package/docs/aw-icon.md +0 -50
  233. package/docs/aw-info.md +0 -53
  234. package/docs/aw-input.md +0 -55
  235. package/docs/aw-layout-default.md +0 -30
  236. package/docs/aw-layout-frame-center.md +0 -29
  237. package/docs/aw-layout-simple.md +0 -49
  238. package/docs/aw-link.md +0 -54
  239. package/docs/aw-markdown-editor.md +0 -51
  240. package/docs/aw-modal.md +0 -63
  241. package/docs/aw-multi-block-builder.md +0 -66
  242. package/docs/aw-page.md +0 -36
  243. package/docs/aw-pagination.md +0 -54
  244. package/docs/aw-password.md +0 -48
  245. package/docs/aw-radio.md +0 -54
  246. package/docs/aw-search.md +0 -49
  247. package/docs/aw-select.md +0 -93
  248. package/docs/aw-slider.md +0 -40
  249. package/docs/aw-svg-image.md +0 -19
  250. package/docs/aw-switcher.md +0 -51
  251. package/docs/aw-tab-nav.md +0 -55
  252. package/docs/aw-table-builder.md +0 -58
  253. package/docs/aw-table-col.md +0 -33
  254. package/docs/aw-table-head.md +0 -28
  255. package/docs/aw-table-row.md +0 -33
  256. package/docs/aw-table.md +0 -59
  257. package/docs/aw-tel.md +0 -47
  258. package/docs/aw-textarea.md +0 -47
  259. package/docs/aw-toggler.md +0 -41
  260. package/docs/aw-uploader-files.md +0 -20
  261. package/docs/aw-uploader.md +0 -60
  262. package/docs/aw-user-menu.md +0 -34
  263. package/docs/aw-userpic.md +0 -34
  264. /package/components/{3_organisms → 2_molecules}/AwTel.vue +0 -0
@@ -0,0 +1,151 @@
1
+ ---
2
+ metaTitle: Cropper component | AwesCode UI
3
+ meta:
4
+ - name: description
5
+ content: The <AwCropper /> component is used to render Cropper - UI Vue component for AwesCode UI.
6
+ title: Cropper
7
+ ---
8
+
9
+ # AwCropper
10
+
11
+ **Category:** Organism | **Import:** Dynamic
12
+
13
+ The `AwCropper` component is an image cropping tool built on Croppie.js. It allows users to select and crop a portion of an image with rotation support and customizable output dimensions.
14
+
15
+ ## Overview
16
+
17
+ `AwCropper` provides an image cropping solution with:
18
+ - Interactive crop area selection
19
+ - Image rotation (90° increments)
20
+ - Customizable viewport and output dimensions
21
+ - Circle or square crop shapes
22
+ - Format and quality control
23
+ - Mobile-friendly touch support
24
+
25
+ ## Usage
26
+
27
+ ### Basic Example
28
+
29
+ ```markup
30
+ <AwCropper
31
+ src="/path/to/image.jpg"
32
+ :width="200"
33
+ :height="200"
34
+ @save="handleCrop"
35
+ />
36
+ ```
37
+
38
+ ### Square Crop
39
+
40
+ ```markup
41
+ <AwCropper
42
+ src="/path/to/image.jpg"
43
+ :width="300"
44
+ :height="300"
45
+ square
46
+ @save="handleCrop"
47
+ />
48
+ ```
49
+
50
+ ### Custom Output Size
51
+
52
+ ```markup
53
+ <AwCropper
54
+ src="/path/to/image.jpg"
55
+ :width="200"
56
+ :height="200"
57
+ :save-width="800"
58
+ :save-height="800"
59
+ format="jpeg"
60
+ :quality="0.9"
61
+ @save="handleCrop"
62
+ />
63
+ ```
64
+
65
+ ### Custom Buttons
66
+
67
+ ```markup
68
+ <AwCropper
69
+ src="/path/to/image.jpg"
70
+ :width="200"
71
+ :height="200"
72
+ @save="handleCrop"
73
+ @cancel="handleCancel"
74
+ >
75
+ <template #buttons="{ rotate, save }">
76
+ <AwButton @click="rotate">Rotate</AwButton>
77
+ <AwButton @click="save" color="accent">Save</AwButton>
78
+ <AwButton @click="$emit('cancel')">Cancel</AwButton>
79
+ </template>
80
+ </AwCropper>
81
+ ```
82
+
83
+ ## API
84
+
85
+ ### Props
86
+
87
+ | Name | Description | Type | Required | Default |
88
+ |------|-------------|------|----------|---------|
89
+ | src | Source image URL | `String` | `true` | - |
90
+ | width | Viewport width in pixels | `String` / `Number` | `false` | `200` |
91
+ | height | Viewport height in pixels | `String` / `Number` | `false` | `200` |
92
+ | saveWidth | Output image width in pixels | `Number` | `false` | `800` |
93
+ | saveHeight | Output image height in pixels | `Number` | `false` | `800` |
94
+ | padding | Padding around viewport | `String` / `Number` | `false` | `100` |
95
+ | format | Output format: `'png'` or `'jpeg'` | `String` | `false` | `'png'` |
96
+ | quality | Output quality (0-1, JPEG only) | `String` / `Number` | `false` | `1` |
97
+ | square | Use square crop shape (instead of circle) | `Boolean` | `false` | `false` |
98
+
99
+ ### Slots
100
+
101
+ | Name | Description | Props | Default Slot Content |
102
+ |------|-------------|-------|---------------------|
103
+ | buttons | Custom buttons area | `{ rotate, save }` | Default rotate and save buttons |
104
+ | upload | Upload area (not used in current implementation) | - | - |
105
+
106
+ ### Events
107
+
108
+ | Name | Payload | Description |
109
+ |------|---------|-------------|
110
+ | save | `Blob` | Emitted when save is clicked, returns cropped image as Blob |
111
+ | cancel | - | Emitted when cancel is clicked (if handled) |
112
+
113
+ ### Methods
114
+
115
+ | Name | Parameters | Description |
116
+ |------|------------|-------------|
117
+ | rotate | - | Rotate image 90° counter-clockwise |
118
+ | save | - | Trigger save (emits `save` event with Blob) |
119
+ | refresh | - | Refresh cropper with current image |
120
+
121
+ ### Config Options
122
+
123
+ The component uses default configuration from `@AwConfig`. You can override these defaults in your project's `awes.config.js`:
124
+
125
+ ```javascript
126
+ export default {
127
+ AwCropper: {
128
+ baseClass: 'aw-cropper'
129
+ }
130
+ }
131
+ ```
132
+
133
+ ## Related Components
134
+
135
+ - `AwButton` - Button component for actions
136
+ - `AwImageUpload` - Image upload component
137
+
138
+ ## Notes
139
+
140
+ - **Import Method:** Dynamic - Component is loaded on-demand as an organism
141
+ - Uses Croppie.js library for image cropping functionality
142
+ - Viewport defines the visible crop area
143
+ - Output dimensions (`saveWidth`/`saveHeight`) define the final image size
144
+ - Format `'png'` supports transparency, `'jpeg'` does not
145
+ - Quality only affects JPEG output (0-1 range)
146
+ - Square mode creates square crop area, otherwise circle
147
+ - Rotation is in 90° increments (counter-clockwise)
148
+ - Pinch zoom is prevented on mobile devices
149
+ - Component initializes Croppie on mount
150
+ - Image orientation is automatically handled
151
+ - Save returns a Blob that can be used with FileReader or FormData
@@ -0,0 +1,161 @@
1
+ ---
2
+ metaTitle: Date component | AwesCode UI
3
+ meta:
4
+ - name: description
5
+ content: The &lt;AwDate /&gt; component is used to render Date - UI Vue component for AwesCode UI.
6
+ title: Date
7
+ ---
8
+
9
+ # AwDate
10
+
11
+ **Category:** Organism | **Import:** Dynamic
12
+
13
+ The `AwDate` component is a date input field with an integrated calendar dropdown. It combines an input field with a calendar picker, supporting single dates, date ranges, and editable text input.
14
+
15
+ ## Overview
16
+
17
+ `AwDate` provides a date input solution with:
18
+ - Text input field with calendar dropdown
19
+ - Single date or date range selection
20
+ - Editable input (when format allows)
21
+ - Clear button support
22
+ - Prefix/postfix support
23
+ - Automatic calendar view sizing
24
+ - Day.js integration for date formatting
25
+
26
+ ## Usage
27
+
28
+ ### Basic Example
29
+
30
+ ```markup
31
+ <AwDate v-model="selectedDate" label="Select Date" />
32
+ ```
33
+
34
+ ### With Format
35
+
36
+ ```markup
37
+ <AwDate
38
+ v-model="selectedDate"
39
+ format="DD.MM.YYYY"
40
+ label="Date"
41
+ />
42
+ ```
43
+
44
+ ### Date Range
45
+
46
+ ```markup
47
+ <AwDate
48
+ v-model="dateRange"
49
+ range
50
+ format="DD.MM.YYYY"
51
+ label="Date Range"
52
+ />
53
+ ```
54
+
55
+ ### Clearable
56
+
57
+ ```markup
58
+ <AwDate
59
+ v-model="selectedDate"
60
+ clearable
61
+ label="Date"
62
+ />
63
+ ```
64
+
65
+ ### Editable Input
66
+
67
+ ```markup
68
+ <AwDate
69
+ v-model="selectedDate"
70
+ format="DD.MM.YYYY"
71
+ editable
72
+ label="Date"
73
+ />
74
+ ```
75
+
76
+ ### With Prefix/Postfix
77
+
78
+ ```markup
79
+ <AwDate
80
+ v-model="selectedDate"
81
+ prefix="From:"
82
+ postfix="to"
83
+ label="Date"
84
+ />
85
+ ```
86
+
87
+ ### With Min/Max
88
+
89
+ ```markup
90
+ <AwDate
91
+ v-model="selectedDate"
92
+ :min="minDate"
93
+ :max="maxDate"
94
+ label="Date"
95
+ />
96
+ ```
97
+
98
+ ## API
99
+
100
+ ### Props
101
+
102
+ All props from `AwCalendar` are supported, plus:
103
+
104
+ | Name | Description | Type | Required | Default |
105
+ |------|-------------|------|----------|---------|
106
+ | format | Date format string (e.g., `'DD.MM.YYYY'`) | `String` | `false` | `'ll'` |
107
+ | clearable | Show clear button when value exists | `Boolean` | `false` | `false` |
108
+ | editable | Allow manual text input (only for DMY formats) | `Boolean` | `false` | `false` |
109
+ | prefix | Prefix text shown when value exists | `String` | `false` | `''` |
110
+ | postfix | Postfix text shown when value exists | `String` | `false` | `''` |
111
+ | label | Input label | `String` | `false` | `''` |
112
+
113
+ **Calendar Props (inherited):**
114
+ - `value`, `range`, `min`, `max`, `disabledDays`, `firstDay`, `showToday`, `parseFormat`, `outputFormat`
115
+
116
+ ### Slots
117
+
118
+ | Name | Description | Props | Default Slot Content |
119
+ |------|-------------|-------|---------------------|
120
+ | prefix | Custom prefix content | - | Prefix text |
121
+ | postfix | Custom postfix content | - | Postfix text |
122
+ | All calendar slots | Same as `AwCalendar` | - | - |
123
+
124
+ ### Events
125
+
126
+ | Name | Payload | Description |
127
+ |------|---------|-------------|
128
+ | input | `Date` / `Object` | Emitted when date is selected |
129
+ | focus | `Event` | Emitted when input receives focus |
130
+ | All calendar events | - | Inherited from `AwCalendar` |
131
+
132
+ ### Config Options
133
+
134
+ The component uses default configuration from `@AwConfig`. You can override these defaults in your project's `awes.config.js`:
135
+
136
+ ```javascript
137
+ export default {
138
+ AwDate: {
139
+ format: 'll' // Default date format
140
+ }
141
+ }
142
+ ```
143
+
144
+ ## Related Components
145
+
146
+ - `AwCalendar` - Calendar component used in dropdown
147
+ - `AwInput` - Base input component
148
+ - `AwDropdown` - Dropdown component for calendar
149
+
150
+ ## Notes
151
+
152
+ - **Import Method:** Dynamic - Component is loaded on-demand as an organism
153
+ - Input is editable only when format contains only DMY characters and separators
154
+ - Calendar dropdown automatically adjusts number of month views based on available width
155
+ - Range selection shows two dates separated by `' - '` in input
156
+ - Uses field mixin for standard field behavior
157
+ - Uses calendar mixin for date logic
158
+ - Format string uses Day.js format tokens
159
+ - When editable, manual input is validated and parsed using format
160
+ - Dropdown closes automatically when date is selected (unless range mode)
161
+ - Clear button clears the value (sets to `null`)
@@ -0,0 +1,33 @@
1
+ ---
2
+ metaTitle: DisplayDate component | AwesCode UI
3
+ meta:
4
+ - name: description
5
+ content: The <AwDisplayDate /> component displays formatted dates - UI Vue component for AwesCode UI.
6
+ title: DisplayDate
7
+ ---
8
+
9
+ # AwDisplayDate
10
+
11
+ **Category:** Organism | **Import:** Dynamic
12
+
13
+ The `AwDisplayDate` component displays formatted date strings with support for various formats and localization.
14
+
15
+ ## Usage
16
+
17
+ ```markup
18
+ <AwDisplayDate :date="new Date()" format="MMMM D, YYYY" />
19
+ ```
20
+
21
+ ## API
22
+
23
+ ### Props
24
+
25
+ | Name | Description | Type | Required | Default |
26
+ |------|-------------|------|----------|---------|
27
+ | date | Date to display | `Date\|String` | `true` | - |
28
+ | format | Date format string | `String` | `false` | `'MMM D, YYYY'` |
29
+
30
+ ## Notes
31
+
32
+ - **Import Method:** Dynamic - Component is loaded on-demand as organism
33
+ - Uses Day.js for formatting
@@ -0,0 +1,46 @@
1
+ ---
2
+ metaTitle: DownloadLink component | AwesCode UI
3
+ meta:
4
+ - name: description
5
+ content: The <AwDownloadLink /> component provides file download functionality - UI Vue component for AwesCode UI.
6
+ title: DownloadLink
7
+ ---
8
+
9
+ # AwDownloadLink
10
+
11
+ **Category:** Organism | **Import:** Dynamic
12
+
13
+ The `AwDownloadLink` component handles file downloads with loading states and error handling.
14
+
15
+ ## Usage
16
+
17
+ ```markup
18
+ <AwDownloadLink
19
+ href="/api/download/file.pdf"
20
+ filename="document.pdf"
21
+ >
22
+ Download PDF
23
+ </AwDownloadLink>
24
+ ```
25
+
26
+ ## API
27
+
28
+ ### Props
29
+
30
+ | Name | Description | Type | Required | Default |
31
+ |------|-------------|------|----------|---------|
32
+ | href | Download URL | `String` | `true` | - |
33
+ | filename | Downloaded filename | `String` | `false` | - |
34
+
35
+ ### Events
36
+
37
+ | Name | Payload | Description |
38
+ |------|---------|-------------|
39
+ | success | - | Download completed |
40
+ | error | `error` | Download failed |
41
+
42
+ ## Notes
43
+
44
+ - **Import Method:** Dynamic - Component is loaded on-demand as organism
45
+ - Shows loading state during download
46
+ - Uses axios for download requests
@@ -0,0 +1,161 @@
1
+ ---
2
+ metaTitle: FetchData component | AwesCode UI
3
+ meta:
4
+ - name: description
5
+ content: The &lt;AwFetchData /&gt; component is used to render FetchData - UI Vue component for AwesCode UI.
6
+ title: FetchData
7
+ ---
8
+
9
+ # AwFetchData
10
+
11
+ **Category:** Organism | **Import:** Dynamic
12
+
13
+ The `AwFetchData` component is a wrapper component that fetches data from an API endpoint and provides loading and error states. It automatically watches route parameters and refetches when they change.
14
+
15
+ ## Overview
16
+
17
+ `AwFetchData` provides a data fetching solution with:
18
+ - Automatic data fetching on mount
19
+ - Loading state management
20
+ - Error handling and display
21
+ - Route parameter watching (auto-refetch on change)
22
+ - Customizable loading/error displays
23
+ - Blur effect during loading
24
+
25
+ ## Usage
26
+
27
+ ### Basic Example
28
+
29
+ ```markup
30
+ <AwFetchData url="/api/users">
31
+ <template #default="{ data }">
32
+ <div v-for="user in data" :key="user.id">
33
+ {{ user.name }}
34
+ </div>
35
+ </template>
36
+ </AwFetchData>
37
+ ```
38
+
39
+ ### With Custom Loading
40
+
41
+ ```markup
42
+ <AwFetchData url="/api/users">
43
+ <template #default="{ data }">
44
+ <UserList :users="data" />
45
+ </template>
46
+
47
+ <template #loading>
48
+ <AwContentPlaceholder type="text" :lines="6" />
49
+ </template>
50
+ </AwFetchData>
51
+ ```
52
+
53
+ ### Loading State for Form Data
54
+
55
+ ```markup
56
+ <AwFetchData url="/api/user/profile">
57
+ <template #default="{ data }">
58
+ <AwForm url="/api/user/profile" method="patch">
59
+ <AwInput v-model="data.name" label="Name" />
60
+ <AwInput v-model="data.email" label="Email" />
61
+ <AwButton type="submit">Save</AwButton>
62
+ </AwForm>
63
+ </template>
64
+
65
+ <template #loading>
66
+ <AwContentPlaceholder type="form" :lines="4" />
67
+ </template>
68
+ </AwFetchData>
69
+ ```
70
+
71
+ ### With Custom Error
72
+
73
+ ```markup
74
+ <AwFetchData url="/api/users">
75
+ <template #default="{ data }">
76
+ <UserList :users="data" />
77
+ </template>
78
+
79
+ <template #error="{ error }">
80
+ <AwAlert :text="error" color="error" />
81
+ <AwButton @click="refetch">Retry</AwButton>
82
+ </template>
83
+ </AwFetchData>
84
+ ```
85
+
86
+ ### Manual Fetch
87
+
88
+ ```markup
89
+ <AwFetchData url="/api/users" :fetch="false" ref="fetcher">
90
+ <template #default="{ data }">
91
+ <UserList :users="data" />
92
+ </template>
93
+ </AwFetchData>
94
+
95
+ <AwButton @click="$refs.fetcher._fetchFromWatcher()">
96
+ Load Data
97
+ </AwButton>
98
+ ```
99
+
100
+ ### With Route Parameters
101
+
102
+ ```markup
103
+ <!-- Automatically refetches when ?page= changes -->
104
+ <AwFetchData url="/api/users">
105
+ <template #default="{ data }">
106
+ <UserList :users="data" />
107
+ </template>
108
+ </AwFetchData>
109
+ ```
110
+
111
+ ## API
112
+
113
+ ### Props
114
+
115
+ | Name | Description | Type | Required | Default |
116
+ |------|-------------|------|----------|---------|
117
+ | url | API endpoint URL | `String` | `true` | - |
118
+ | method | HTTP method | `String` | `false` | `'GET'` |
119
+ | tag | HTML tag for wrapper element | `String` | `false` | `'div'` |
120
+ | fetch | Fetch data on mount | `Boolean` | `false` | `true` |
121
+
122
+ ### Slots
123
+
124
+ | Name | Description | Props | Default Slot Content |
125
+ |------|-------------|-------|---------------------|
126
+ | default | Content with fetched data | `{ data }` | - |
127
+ | loading | Custom loading display | - | Default loading chip with spinner |
128
+ | error | Custom error display | `{ error }` | Default error message with refresh button |
129
+
130
+ ### Events
131
+
132
+ This component does not emit custom events.
133
+
134
+ ### Methods
135
+
136
+ | Name | Parameters | Description |
137
+ |------|------------|-------------|
138
+ | _fetchFromWatcher | - | Manually trigger data fetch |
139
+
140
+ ### Mixins
141
+
142
+ - `WatchParams` - Watches route parameters and refetches when they change
143
+
144
+ ## Related Components
145
+
146
+ - `AwChip` - Chip component used in default loading state
147
+ - `AwButton` - Button component used in default error state
148
+ - `AwProgress` - Progress component (can be used in loading slot)
149
+
150
+ ## Notes
151
+
152
+ - **Import Method:** Dynamic - Component is loaded on-demand as an organism
153
+ - Uses `$axios` for HTTP requests (must be configured)
154
+ - Loading state only shows if request takes longer than 350ms
155
+ - Route parameters are automatically included in request
156
+ - Error message is extracted from `response.data.message` or shows default
157
+ - Data is stored in `data` property and passed to default slot
158
+ - Component uses `fetchQuery()` method from `WatchParams` mixin
159
+ - Blur effect (3px) is applied to content during loading
160
+ - Default slot receives `{ data }` object with fetched data
161
+ - Error slot receives `{ error }` string with error message