@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.
- package/assets/css/components/_index.css +7 -1
- package/assets/css/components/action-card.css +1 -0
- package/assets/css/components/action-icon.css +2 -2
- package/assets/css/components/alert.css +28 -22
- package/assets/css/components/animation.css +52 -32
- package/assets/css/components/badge.css +1 -0
- package/assets/css/components/banner-text.css +15 -4
- package/assets/css/components/card.css +0 -1
- package/assets/css/components/content-placeholder.css +104 -0
- package/assets/css/components/dropdown.css +20 -7
- package/assets/css/components/empty-container.css +69 -1
- package/assets/css/components/filter-chosen.css +6 -0
- package/assets/css/components/filter-date-range.css +17 -1
- package/assets/css/components/filter-month.css +23 -17
- package/assets/css/components/filter-select.css +11 -0
- package/assets/css/components/icon-menu-item.css +12 -7
- package/assets/css/components/layout.css +1 -32
- package/assets/css/components/mobile-menu-nav.css +8 -4
- package/assets/css/components/modal.css +1 -1
- package/assets/css/components/number.css +12 -0
- package/assets/css/components/page-aside.css +54 -0
- package/assets/css/components/text-field.css +4 -0
- package/assets/js/css.js +1 -1
- package/assets/js/icons/mono.js +59 -91
- package/assets/js/icons/multicolor.js +1 -31
- package/components/1_atoms/AwActionIcon.vue +11 -2
- package/components/1_atoms/AwContentPlaceholder.vue +60 -0
- package/components/1_atoms/AwFlow.vue +37 -49
- package/components/1_atoms/AwGrid.vue +11 -3
- package/components/1_atoms/AwIcon/AwIcon.vue +5 -3
- package/components/1_atoms/AwIcon/AwIconSystemMono.vue +3 -2
- package/components/1_atoms/AwInput.vue +2 -2
- package/components/1_atoms/AwLabel.vue +1 -1
- package/components/1_atoms/AwList.vue +3 -1
- package/components/1_atoms/AwRadio.vue +1 -1
- package/components/1_atoms/AwSlider.vue +15 -1
- package/components/1_atoms/AwTag.vue +6 -1
- package/components/2_molecules/AwAlert.vue +63 -42
- package/components/2_molecules/AwBadge.vue +1 -1
- package/components/2_molecules/AwBannerText.vue +8 -2
- package/components/2_molecules/AwButton.vue +1 -1
- package/components/2_molecules/AwDescriptionInput.vue +19 -1
- package/components/2_molecules/AwEmptyContainer.vue +74 -72
- package/components/2_molecules/AwNumber.vue +180 -0
- package/components/2_molecules/AwSelect.vue +11 -4
- package/components/3_organisms/AwBottomBar.vue +22 -4
- package/components/3_organisms/AwFilterChosen.vue +73 -0
- package/components/3_organisms/AwFilterDateRange.vue +177 -0
- package/components/3_organisms/AwFilterMonth.vue +37 -40
- package/components/3_organisms/AwFilterSelect.vue +368 -0
- package/components/3_organisms/AwMultiBlockBuilder.vue +1 -1
- package/components/3_organisms/AwSubnav.vue +11 -1
- package/components/3_organisms/AwTable/AwTableBuilder.vue +20 -60
- package/components/3_organisms/AwTable/_AwTableCellDropdown.vue +6 -1
- package/components/3_organisms/AwTable/_AwTableRow.vue +2 -1
- package/components/4_pages/AwPage.vue +1 -0
- package/components/4_pages/AwPageAside.vue +108 -0
- package/components/5_layouts/AwLayoutCenter.vue +3 -8
- package/components/5_layouts/_AwMenuItemIcon.vue +9 -2
- package/components/5_layouts/_AwMobileMenuItem.vue +5 -3
- package/components/5_layouts/_AwUserMenu.vue +1 -1
- package/components/_config.js +26 -1
- package/docs/_template.md +80 -0
- package/docs/components/atoms/aw-accordion-fold.md +129 -0
- package/docs/components/atoms/aw-action-card-body.md +99 -0
- package/docs/components/atoms/aw-action-card.md +130 -0
- package/docs/components/atoms/aw-action-icon.md +126 -0
- package/docs/components/atoms/aw-avatar.md +106 -0
- package/docs/components/atoms/aw-card.md +137 -0
- package/docs/components/atoms/aw-checkbox.md +288 -0
- package/docs/components/atoms/aw-content-placeholder.md +147 -0
- package/docs/components/atoms/aw-description.md +83 -0
- package/docs/components/atoms/aw-dock.md +90 -0
- package/docs/components/atoms/aw-dropdown-button.md +94 -0
- package/docs/components/atoms/aw-dropdown.md +178 -0
- package/docs/components/atoms/aw-file.md +73 -0
- package/docs/components/atoms/aw-flow.md +140 -0
- package/docs/components/atoms/aw-grid.md +109 -0
- package/docs/components/atoms/aw-headline.md +71 -0
- package/docs/components/atoms/aw-icon-system-color.md +122 -0
- package/docs/components/atoms/aw-icon-system-mono.md +206 -0
- package/docs/components/atoms/aw-icon.md +235 -0
- package/docs/components/atoms/aw-info.md +123 -0
- package/docs/components/atoms/aw-input.md +212 -0
- package/docs/components/atoms/aw-label.md +136 -0
- package/docs/components/atoms/aw-link.md +151 -0
- package/docs/components/atoms/aw-list.md +152 -0
- package/docs/components/atoms/aw-progress.md +119 -0
- package/docs/components/atoms/aw-radio.md +182 -0
- package/docs/components/atoms/aw-refresh-wrapper.md +81 -0
- package/docs/components/atoms/aw-select-native.md +234 -0
- package/docs/components/atoms/aw-slider.md +189 -0
- package/docs/components/atoms/aw-sub-headline.md +73 -0
- package/docs/components/atoms/aw-switcher.md +192 -0
- package/docs/components/atoms/aw-tag.md +144 -0
- package/docs/components/atoms/aw-title.md +70 -0
- package/docs/components/atoms/aw-toggler.md +90 -0
- package/docs/components/layouts/aw-layout-center.md +168 -0
- package/docs/components/layouts/aw-layout-error.md +153 -0
- package/docs/components/layouts/aw-layout-provider.md +238 -0
- package/docs/components/layouts/aw-layout.md +88 -0
- package/docs/components/molecules/aw-action-button.md +138 -0
- package/docs/components/molecules/aw-alert.md +191 -0
- package/docs/components/molecules/aw-badge.md +129 -0
- package/docs/components/molecules/aw-banner-text.md +156 -0
- package/docs/components/molecules/aw-button-nav.md +111 -0
- package/docs/components/molecules/aw-button.md +193 -0
- package/docs/components/molecules/aw-description-input.md +124 -0
- package/docs/components/molecules/aw-empty-container.md +235 -0
- package/docs/components/molecules/aw-island.md +506 -0
- package/docs/components/molecules/aw-number.md +138 -0
- package/docs/components/molecules/aw-select-object.md +401 -0
- package/docs/components/molecules/aw-select.md +215 -0
- package/docs/components/molecules/aw-tab-nav.md +108 -0
- package/docs/components/molecules/aw-tel.md +129 -0
- package/docs/components/molecules/aw-textarea.md +83 -0
- package/docs/components/molecules/aw-userpic.md +115 -0
- package/docs/components/organisms/aw-address-block.md +64 -0
- package/docs/components/organisms/aw-address.md +132 -0
- package/docs/components/organisms/aw-birthday-picker.md +73 -0
- package/docs/components/organisms/aw-bottom-bar.md +66 -0
- package/docs/components/organisms/aw-calendar-days.md +115 -0
- package/docs/components/organisms/aw-calendar-nav.md +98 -0
- package/docs/components/organisms/aw-calendar-view.md +98 -0
- package/docs/components/organisms/aw-calendar.md +166 -0
- package/docs/components/organisms/aw-chart.md +154 -0
- package/docs/components/organisms/aw-chip-select.md +164 -0
- package/docs/components/organisms/aw-chip.md +126 -0
- package/docs/components/organisms/aw-code-snippet.md +94 -0
- package/docs/components/organisms/aw-code.md +132 -0
- package/docs/components/organisms/aw-context-menu.md +117 -0
- package/docs/components/organisms/aw-cropper.md +151 -0
- package/docs/components/organisms/aw-date.md +161 -0
- package/docs/components/organisms/aw-display-date.md +33 -0
- package/docs/components/organisms/aw-download-link.md +46 -0
- package/docs/components/organisms/aw-fetch-data.md +161 -0
- package/docs/components/organisms/aw-filter-chosen.md +226 -0
- package/docs/components/organisms/aw-filter-date-range.md +205 -0
- package/docs/components/organisms/aw-filter-month.md +43 -0
- package/docs/components/organisms/aw-filter-select.md +239 -0
- package/docs/components/organisms/aw-form.md +174 -0
- package/docs/components/organisms/aw-gmap-marker.md +86 -0
- package/docs/components/organisms/aw-gmap.md +90 -0
- package/docs/components/organisms/aw-image-upload.md +56 -0
- package/docs/components/organisms/aw-island-avatar.md +87 -0
- package/docs/components/organisms/aw-markdown-editor.md +104 -0
- package/docs/components/organisms/aw-modal-buttons.md +57 -0
- package/docs/components/organisms/aw-modal.md +246 -0
- package/docs/components/organisms/aw-model-edit.md +74 -0
- package/docs/components/organisms/aw-money.md +53 -0
- package/docs/components/organisms/aw-multi-block-builder.md +165 -0
- package/docs/components/organisms/aw-pagination.md +121 -0
- package/docs/components/organisms/aw-password.md +103 -0
- package/docs/components/organisms/aw-preview-card.md +45 -0
- package/docs/components/organisms/aw-search.md +116 -0
- package/docs/components/organisms/aw-subnav.md +122 -0
- package/docs/components/organisms/aw-table-builder.md +165 -0
- package/docs/components/organisms/aw-table-col.md +123 -0
- package/docs/components/organisms/aw-table-head.md +92 -0
- package/docs/components/organisms/aw-table-row.md +91 -0
- package/docs/components/organisms/aw-table.md +172 -0
- package/docs/components/organisms/aw-tags.md +54 -0
- package/docs/components/organisms/aw-toggle-show-aside.md +43 -0
- package/docs/components/organisms/aw-uploader-files.md +125 -0
- package/docs/components/organisms/aw-uploader.md +163 -0
- package/docs/components/organisms/aw-user-menu.md +87 -0
- package/docs/components/pages/aw-page-aside.md +296 -0
- package/docs/components/pages/aw-page-menu-buttons.md +172 -0
- package/docs/components/pages/aw-page-modal.md +198 -0
- package/docs/components/pages/aw-page-single.md +300 -0
- package/docs/components/pages/aw-page.md +194 -0
- package/docs/configuration.md +493 -0
- package/docs/cookbook/advanced-patterns.md +1388 -0
- package/docs/cookbook/common-patterns.md +965 -0
- package/docs/cookbook/index.md +786 -0
- package/docs/getting-started.md +596 -0
- package/docs/guides/best-practices.md +1106 -0
- package/docs/guides/data-fetching.md +852 -0
- package/docs/guides/error-handling.md +1172 -0
- package/docs/guides/forms-guide.md +1329 -0
- package/docs/guides/mobile-subnavigation.md +359 -0
- package/docs/guides/page-patterns/aside-pages.md +1418 -0
- package/docs/guides/page-patterns/dashboard-pages.md +990 -0
- package/docs/guides/page-patterns/detail-pages.md +1556 -0
- package/docs/guides/page-patterns/list-pages.md +1242 -0
- package/docs/index.md +263 -1
- package/docs/integrations.md +870 -0
- package/docs/reference/colors.md +232 -0
- package/docs/reference/icons.md +163 -0
- package/docs/reference/menu.md +462 -0
- package/docs/reference/plugins.md +970 -0
- package/docs/reference/troubleshooting.md +964 -0
- package/nuxt/awes.config.js +9 -8
- package/nuxt/index.js +2 -2
- package/nuxt/pages/more.vue +1 -1
- package/package.json +5 -3
- package/readme.md +171 -1
- package/store/awesIo.js +11 -0
- package/CHANGELOG.md +0 -4520
- package/docs/aw-accordion-fold.md +0 -46
- package/docs/aw-address.md +0 -44
- package/docs/aw-avatar.md +0 -51
- package/docs/aw-badge.md +0 -32
- package/docs/aw-button-nav.md +0 -44
- package/docs/aw-button.md +0 -50
- package/docs/aw-calendar-days.md +0 -46
- package/docs/aw-calendar-nav.md +0 -25
- package/docs/aw-calendar-view.md +0 -12
- package/docs/aw-calendar.md +0 -59
- package/docs/aw-card.md +0 -48
- package/docs/aw-chart.md +0 -51
- package/docs/aw-checkbox.md +0 -56
- package/docs/aw-chip-select.md +0 -46
- package/docs/aw-chip.md +0 -53
- package/docs/aw-code-snippet.md +0 -18
- package/docs/aw-code.md +0 -56
- package/docs/aw-content-wrapper.md +0 -40
- package/docs/aw-context-menu.md +0 -31
- package/docs/aw-cropper.md +0 -60
- package/docs/aw-dashboard-card.md +0 -37
- package/docs/aw-dashboard-donut.md +0 -30
- package/docs/aw-dashboard-line.md +0 -20
- package/docs/aw-dashboard-progress.md +0 -33
- package/docs/aw-dashboard-section.md +0 -32
- package/docs/aw-dashboard-speed.md +0 -30
- package/docs/aw-date.md +0 -52
- package/docs/aw-dropdown-button.md +0 -31
- package/docs/aw-dropdown.md +0 -69
- package/docs/aw-fetch-data.md +0 -45
- package/docs/aw-form.md +0 -52
- package/docs/aw-grid.md +0 -48
- package/docs/aw-icon.md +0 -50
- package/docs/aw-info.md +0 -53
- package/docs/aw-input.md +0 -55
- package/docs/aw-layout-default.md +0 -30
- package/docs/aw-layout-frame-center.md +0 -29
- package/docs/aw-layout-simple.md +0 -49
- package/docs/aw-link.md +0 -54
- package/docs/aw-markdown-editor.md +0 -51
- package/docs/aw-modal.md +0 -63
- package/docs/aw-multi-block-builder.md +0 -66
- package/docs/aw-page.md +0 -36
- package/docs/aw-pagination.md +0 -54
- package/docs/aw-password.md +0 -48
- package/docs/aw-radio.md +0 -54
- package/docs/aw-search.md +0 -49
- package/docs/aw-select.md +0 -93
- package/docs/aw-slider.md +0 -40
- package/docs/aw-svg-image.md +0 -19
- package/docs/aw-switcher.md +0 -51
- package/docs/aw-tab-nav.md +0 -55
- package/docs/aw-table-builder.md +0 -58
- package/docs/aw-table-col.md +0 -33
- package/docs/aw-table-head.md +0 -28
- package/docs/aw-table-row.md +0 -33
- package/docs/aw-table.md +0 -59
- package/docs/aw-tel.md +0 -47
- package/docs/aw-textarea.md +0 -47
- package/docs/aw-toggler.md +0 -41
- package/docs/aw-uploader-files.md +0 -20
- package/docs/aw-uploader.md +0 -60
- package/docs/aw-user-menu.md +0 -34
- package/docs/aw-userpic.md +0 -34
- /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 <AwDate /> 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 <AwFetchData /> 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
|