@xleddyl/443-components-vue 0.8.2 → 0.8.3

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 (59) hide show
  1. package/README.md +33 -18
  2. package/dist/components/core/FormField.vue +5 -0
  3. package/dist/components/core/FormField.vue.d.ts +4 -0
  4. package/dist/components/core/Input.vue +59 -5
  5. package/dist/components/core/Input.vue.d.ts +8 -4
  6. package/dist/components/core/Textarea.vue +28 -3
  7. package/dist/components/core/Textarea.vue.d.ts +6 -4
  8. package/dist/components/data/DescriptionList.vue.d.ts +1 -1
  9. package/dist/components/data/Pagination.vue +8 -2
  10. package/dist/components/data/Pagination.vue.d.ts +2 -0
  11. package/dist/components/forms/CheckboxGroup.vue +7 -1
  12. package/dist/components/forms/CheckboxGroup.vue.d.ts +1 -0
  13. package/dist/components/forms/ColorInput.vue.d.ts +4 -4
  14. package/dist/components/forms/Combobox.vue +4 -3
  15. package/dist/components/forms/Combobox.vue.d.ts +1 -0
  16. package/dist/components/forms/DateInput.vue.d.ts +8 -4
  17. package/dist/components/forms/NumberInput.vue.d.ts +4 -4
  18. package/dist/components/forms/PasswordInput.vue.d.ts +8 -4
  19. package/dist/components/forms/PinInput.vue.d.ts +4 -4
  20. package/dist/components/forms/Select.vue +21 -2
  21. package/dist/components/forms/Select.vue.d.ts +3 -3
  22. package/dist/components/forms/Slider.vue.d.ts +4 -4
  23. package/dist/components/forms/TimeInput.vue.d.ts +8 -4
  24. package/dist/components/layout/Card.vue.d.ts +1 -1
  25. package/dist/components/overlays/ConfirmDialog.vue.d.ts +2 -2
  26. package/dist/components/overlays/ConfirmHost.vue.d.ts +2 -2
  27. package/dist/components/overlays/ContextMenu.vue.d.ts +2 -2
  28. package/dist/components/overlays/DropdownMenu.vue.d.ts +2 -2
  29. package/dist/components/overlays/types.d.ts +2 -2
  30. package/dist/components/templates/SettingsModal.vue.d.ts +2 -2
  31. package/dist/composables/useForm.d.ts +8 -1
  32. package/dist/composables/useForm.mjs +22 -4
  33. package/dist/composables/useOverlay.d.ts +1 -1
  34. package/dist/editor/RichTextEditor.vue +95 -9
  35. package/dist/editor/RichTextEditor.vue.d.ts +4 -1
  36. package/dist/editor/rich-text-editor.css +21 -0
  37. package/dist/editor/types.d.ts +1 -0
  38. package/dist/grid/DataGrid.vue +48 -18
  39. package/dist/grid/DataGrid.vue.d.ts +6 -1
  40. package/dist/grid/cells/ImageCell.vue +6 -1
  41. package/dist/grid/data-grid.css +16 -2
  42. package/dist/grid/index.d.ts +2 -1
  43. package/dist/grid/index.mjs +6 -1
  44. package/dist/grid/modules.d.ts +1 -0
  45. package/dist/grid/modules.mjs +23 -0
  46. package/dist/grid/theme.mjs +1 -1
  47. package/dist/grid/types.d.ts +3 -0
  48. package/dist/internal/forms/counter.d.ts +18 -0
  49. package/dist/internal/forms/counter.mjs +31 -0
  50. package/dist/internal/overlays/OverlayView.vue.d.ts +2 -2
  51. package/dist/locale/de.mjs +11 -1
  52. package/dist/locale/en.mjs +11 -1
  53. package/dist/locale/it.mjs +11 -1
  54. package/dist/locale/types.d.ts +10 -0
  55. package/dist/styles/core/form-field.css +6 -0
  56. package/dist/styles/core/input.css +29 -0
  57. package/dist/styles/core/textarea.css +10 -0
  58. package/dist/styles/forms/choice.css +6 -0
  59. package/package.json +1 -1
@@ -40,7 +40,10 @@ export const de = {
40
40
  maxItems: "W\xE4hle h\xF6chstens {count} Eintrag | W\xE4hle h\xF6chstens {count} Eintr\xE4ge",
41
41
  pattern: "Ung\xFCltiges Format",
42
42
  invalid: "Ung\xFCltiger Wert",
43
- requiredHint: "(erforderlich)"
43
+ requiredHint: "(erforderlich)",
44
+ optional: "Optional",
45
+ characterCount: "{count} von {max} Zeichen",
46
+ characterLimitReached: "Zeichenlimit erreicht"
44
47
  },
45
48
  editor: {
46
49
  bold: "Fett",
@@ -59,6 +62,13 @@ export const de = {
59
62
  linkUrl: "Link-URL",
60
63
  applyLink: "\xDCbernehmen",
61
64
  removeLink: "Link entfernen",
65
+ linkType: "Linktyp",
66
+ linkTypeUrl: "Webadresse",
67
+ linkTypeEmail: "E-Mail",
68
+ linkTypePhone: "Telefon",
69
+ linkEmail: "E-Mail-Adresse",
70
+ linkPhone: "Telefonnummer",
71
+ linkText: "Linktext",
62
72
  characters: "{count} Zeichen | {count} Zeichen",
63
73
  limit: "{count} von {max} Zeichen",
64
74
  limitReached: "Zeichenlimit erreicht"
@@ -40,7 +40,10 @@ export const en = {
40
40
  maxItems: "Select at most {count} item | Select at most {count} items",
41
41
  pattern: "Invalid format",
42
42
  invalid: "Invalid value",
43
- requiredHint: "(required)"
43
+ requiredHint: "(required)",
44
+ optional: "Optional",
45
+ characterCount: "{count} of {max} characters",
46
+ characterLimitReached: "Character limit reached"
44
47
  },
45
48
  editor: {
46
49
  bold: "Bold",
@@ -59,6 +62,13 @@ export const en = {
59
62
  linkUrl: "Link URL",
60
63
  applyLink: "Apply",
61
64
  removeLink: "Remove link",
65
+ linkType: "Link type",
66
+ linkTypeUrl: "Web address",
67
+ linkTypeEmail: "Email",
68
+ linkTypePhone: "Phone",
69
+ linkEmail: "Email address",
70
+ linkPhone: "Phone number",
71
+ linkText: "Link text",
62
72
  characters: "{count} character | {count} characters",
63
73
  limit: "{count} of {max} characters",
64
74
  limitReached: "Character limit reached"
@@ -40,7 +40,10 @@ export const it = {
40
40
  maxItems: "Seleziona al massimo {count} elemento | Seleziona al massimo {count} elementi",
41
41
  pattern: "Formato non valido",
42
42
  invalid: "Valore non valido",
43
- requiredHint: "(obbligatorio)"
43
+ requiredHint: "(obbligatorio)",
44
+ optional: "Facoltativo",
45
+ characterCount: "{count} di {max} caratteri",
46
+ characterLimitReached: "Limite di caratteri raggiunto"
44
47
  },
45
48
  editor: {
46
49
  bold: "Grassetto",
@@ -59,6 +62,13 @@ export const it = {
59
62
  linkUrl: "URL del link",
60
63
  applyLink: "Applica",
61
64
  removeLink: "Rimuovi link",
65
+ linkType: "Tipo di link",
66
+ linkTypeUrl: "Indirizzo web",
67
+ linkTypeEmail: "Email",
68
+ linkTypePhone: "Telefono",
69
+ linkEmail: "Indirizzo email",
70
+ linkPhone: "Numero di telefono",
71
+ linkText: "Testo del link",
62
72
  characters: "{count} carattere | {count} caratteri",
63
73
  limit: "{count} di {max} caratteri",
64
74
  limitReached: "Limite di caratteri raggiunto"
@@ -39,6 +39,9 @@ export interface KMessages {
39
39
  pattern: string;
40
40
  invalid: string;
41
41
  requiredHint: string;
42
+ optional: string;
43
+ characterCount: string;
44
+ characterLimitReached: string;
42
45
  };
43
46
  editor: {
44
47
  bold: string;
@@ -57,6 +60,13 @@ export interface KMessages {
57
60
  linkUrl: string;
58
61
  applyLink: string;
59
62
  removeLink: string;
63
+ linkType: string;
64
+ linkTypeUrl: string;
65
+ linkTypeEmail: string;
66
+ linkTypePhone: string;
67
+ linkEmail: string;
68
+ linkPhone: string;
69
+ linkText: string;
60
70
  characters: string;
61
71
  limit: string;
62
72
  limitReached: string;
@@ -37,6 +37,12 @@
37
37
  color: var(--k-danger-text);
38
38
  }
39
39
 
40
+ .k-form-field-optional {
41
+ font-size: 0.75rem;
42
+ font-weight: var(--k-font-weight, 400);
43
+ color: var(--k-text-muted);
44
+ }
45
+
40
46
  .k-form-field-hint {
41
47
  margin-left: auto;
42
48
  font-size: 0.75rem;
@@ -134,3 +134,32 @@
134
134
  .k-input.has-trail .k-field {
135
135
  padding-right: 2.125rem;
136
136
  }
137
+
138
+ .k-field-counter {
139
+ font-size: 0.75rem;
140
+ line-height: 1;
141
+ color: var(--k-text-muted);
142
+ white-space: nowrap;
143
+ pointer-events: none;
144
+ }
145
+
146
+ .k-field-counter.is-over {
147
+ color: var(--k-danger-text);
148
+ }
149
+
150
+ .k-input > .k-field-counter {
151
+ position: absolute;
152
+ right: 0.6875rem;
153
+ }
154
+
155
+ .k-input.has-trail > .k-field-counter {
156
+ right: 2.125rem;
157
+ }
158
+
159
+ .k-input.has-counter .k-field {
160
+ padding-right: calc(var(--k-input-counter-chars) * 0.5rem + 1rem);
161
+ }
162
+
163
+ .k-input.has-counter.has-trail .k-field {
164
+ padding-right: calc(var(--k-input-counter-chars) * 0.5rem + 2.5rem);
165
+ }
@@ -37,3 +37,13 @@
37
37
  .k-textarea-box.has-trail .k-textarea {
38
38
  padding-right: 2.125rem;
39
39
  }
40
+
41
+ .k-textarea-box > .k-field-counter {
42
+ position: absolute;
43
+ right: 1.25rem;
44
+ bottom: 0.5rem;
45
+ }
46
+
47
+ .k-textarea-box.has-counter .k-textarea {
48
+ padding-bottom: 1.5rem;
49
+ }
@@ -25,6 +25,12 @@
25
25
  gap: 0.5rem 1.25rem;
26
26
  }
27
27
 
28
+ .k-choice-group.has-columns > .k-choice-group-items {
29
+ display: grid;
30
+ grid-template-columns: repeat(var(--k-choice-columns), minmax(0, 1fr));
31
+ gap: 0.625rem 1.25rem;
32
+ }
33
+
28
34
  .k-radio-group-card > .k-choice-group-items {
29
35
  gap: 0.5rem;
30
36
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xleddyl/443-components-vue",
3
- "version": "0.8.2",
3
+ "version": "0.8.3",
4
4
  "description": "Compact, scoped dashboard components for Vue and Nuxt",
5
5
  "license": "MIT",
6
6
  "author": "Edoardo Alberti (https://github.com/xleddyl)",