@mmlogic/components 0.3.4 → 0.3.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 (173) hide show
  1. package/dist/{collection/utils/cell-renderer.js → mosterdcomponents/cell-renderer-CbRwLOo8.js} +9 -3
  2. package/dist/mosterdcomponents/cell-renderer-CbRwLOo8.js.map +1 -0
  3. package/dist/{esm/index.js → mosterdcomponents/client-layout-D88nn5zf.js} +4 -1
  4. package/dist/mosterdcomponents/client-layout-D88nn5zf.js.map +1 -0
  5. package/dist/{collection/utils/format.js → mosterdcomponents/format-BAfsQfy1.js} +12 -7
  6. package/dist/mosterdcomponents/format-BAfsQfy1.js.map +1 -0
  7. package/dist/{collection/utils/i18n.js → mosterdcomponents/i18n-hoGGKbKU.js} +6 -1
  8. package/dist/mosterdcomponents/i18n-hoGGKbKU.js.map +1 -0
  9. package/dist/mosterdcomponents/index-B_tPFIvS.js +4585 -0
  10. package/dist/mosterdcomponents/index-B_tPFIvS.js.map +1 -0
  11. package/dist/mosterdcomponents/index-I5SuYv7a.js +4 -0
  12. package/dist/mosterdcomponents/index-I5SuYv7a.js.map +1 -0
  13. package/dist/mosterdcomponents/index.esm.js +5 -1
  14. package/dist/mosterdcomponents/index.esm.js.map +1 -0
  15. package/dist/mosterdcomponents/mosterdcomponents.css +180 -1
  16. package/dist/mosterdcomponents/mosterdcomponents.esm.js +50 -1
  17. package/dist/mosterdcomponents/mosterdcomponents.esm.js.map +1 -0
  18. package/dist/mosterdcomponents/mrd-boolean-field.entry.js +37 -0
  19. package/dist/mosterdcomponents/mrd-boolean-field.entry.js.map +1 -0
  20. package/dist/mosterdcomponents/mrd-currency-field.entry.js +67 -0
  21. package/dist/mosterdcomponents/mrd-currency-field.entry.js.map +1 -0
  22. package/dist/mosterdcomponents/mrd-date-field.entry.js +46 -0
  23. package/dist/mosterdcomponents/mrd-date-field.entry.js.map +1 -0
  24. package/dist/mosterdcomponents/mrd-datetime-field.entry.js +78 -0
  25. package/dist/mosterdcomponents/mrd-datetime-field.entry.js.map +1 -0
  26. package/dist/mosterdcomponents/mrd-email-field.entry.js +50 -0
  27. package/dist/mosterdcomponents/mrd-email-field.entry.js.map +1 -0
  28. package/dist/{collection/components/mrd-field/mrd-field.js → mosterdcomponents/mrd-field.entry.js} +28 -179
  29. package/dist/mosterdcomponents/mrd-field.entry.js.map +1 -0
  30. package/dist/mosterdcomponents/mrd-file-field.entry.js +108 -0
  31. package/dist/mosterdcomponents/mrd-file-field.entry.js.map +1 -0
  32. package/dist/{collection/components/mrd-form/mrd-form.js → mosterdcomponents/mrd-form.entry.js} +82 -280
  33. package/dist/mosterdcomponents/mrd-form.entry.js.map +1 -0
  34. package/dist/mosterdcomponents/mrd-hyperlink-field.entry.js +87 -0
  35. package/dist/mosterdcomponents/mrd-hyperlink-field.entry.js.map +1 -0
  36. package/dist/mosterdcomponents/mrd-image-field.entry.js +122 -0
  37. package/dist/mosterdcomponents/mrd-image-field.entry.js.map +1 -0
  38. package/dist/{collection/components/mrd-layout-section/mrd-layout-section.js → mosterdcomponents/mrd-layout-section.entry.js} +31 -418
  39. package/dist/mosterdcomponents/mrd-layout-section.entry.js.map +1 -0
  40. package/dist/mosterdcomponents/mrd-list-field.entry.js +107 -0
  41. package/dist/mosterdcomponents/mrd-list-field.entry.js.map +1 -0
  42. package/dist/mosterdcomponents/mrd-longtext-field.entry.js +47 -0
  43. package/dist/mosterdcomponents/mrd-longtext-field.entry.js.map +1 -0
  44. package/dist/mosterdcomponents/mrd-number-field.entry.js +87 -0
  45. package/dist/mosterdcomponents/mrd-number-field.entry.js.map +1 -0
  46. package/dist/mosterdcomponents/mrd-relation-field.entry.js +267 -0
  47. package/dist/mosterdcomponents/mrd-relation-field.entry.js.map +1 -0
  48. package/dist/mosterdcomponents/mrd-secret-field.entry.js +49 -0
  49. package/dist/mosterdcomponents/mrd-secret-field.entry.js.map +1 -0
  50. package/dist/{collection/components/mrd-table/mrd-table.js → mosterdcomponents/mrd-table.entry.js} +67 -398
  51. package/dist/mosterdcomponents/mrd-table.entry.js.map +1 -0
  52. package/dist/mosterdcomponents/mrd-text-field.entry.js +47 -0
  53. package/dist/mosterdcomponents/mrd-text-field.entry.js.map +1 -0
  54. package/dist/mosterdcomponents/mrd-textarea-field.entry.js +86 -0
  55. package/dist/mosterdcomponents/mrd-textarea-field.entry.js.map +1 -0
  56. package/dist/mosterdcomponents/mrd-time-field.entry.js +46 -0
  57. package/dist/mosterdcomponents/mrd-time-field.entry.js.map +1 -0
  58. package/dist/{esm/quill-CiuCgGz_.js → mosterdcomponents/quill-C9pgw_k-.js} +16282 -1397
  59. package/dist/mosterdcomponents/quill-C9pgw_k-.js.map +1 -0
  60. package/dist/{collection/utils/validation.js → mosterdcomponents/validation-ixb43cqU.js} +12 -5
  61. package/dist/mosterdcomponents/validation-ixb43cqU.js.map +1 -0
  62. package/dist/types/components/mrd-form/mrd-form.d.ts +13 -1
  63. package/dist/types/components/mrd-relation-field/mrd-relation-field.d.ts +3 -0
  64. package/dist/types/components/mrd-table/mrd-table.d.ts +4 -0
  65. package/dist/types/components.d.ts +19 -9
  66. package/package.json +1 -1
  67. package/dist/cjs/app-globals-V2Kpy_OQ.js +0 -5
  68. package/dist/cjs/index-BPj2cBXs.js +0 -1570
  69. package/dist/cjs/index.cjs.js +0 -66
  70. package/dist/cjs/loader.cjs.js +0 -13
  71. package/dist/cjs/mosterdcomponents.cjs.js +0 -25
  72. package/dist/cjs/mrd-boolean-field_20.cjs.entry.js +0 -3848
  73. package/dist/cjs/quill-DmFfnC1f.js +0 -16272
  74. package/dist/collection/collection-manifest.json +0 -32
  75. package/dist/collection/components/mrd-boolean-field/mrd-boolean-field.js +0 -199
  76. package/dist/collection/components/mrd-boolean-field/mrd-boolean-field.scss +0 -77
  77. package/dist/collection/components/mrd-currency-field/mrd-currency-field.js +0 -248
  78. package/dist/collection/components/mrd-currency-field/mrd-currency-field.scss +0 -100
  79. package/dist/collection/components/mrd-date-field/mrd-date-field.js +0 -206
  80. package/dist/collection/components/mrd-date-field/mrd-date-field.scss +0 -66
  81. package/dist/collection/components/mrd-datetime-field/mrd-datetime-field.js +0 -240
  82. package/dist/collection/components/mrd-datetime-field/mrd-datetime-field.scss +0 -66
  83. package/dist/collection/components/mrd-email-field/mrd-email-field.js +0 -230
  84. package/dist/collection/components/mrd-email-field/mrd-email-field.scss +0 -69
  85. package/dist/collection/components/mrd-field/mrd-field.scss +0 -118
  86. package/dist/collection/components/mrd-file-field/mrd-file-field.js +0 -341
  87. package/dist/collection/components/mrd-file-field/mrd-file-field.scss +0 -153
  88. package/dist/collection/components/mrd-form/mrd-form.scss +0 -148
  89. package/dist/collection/components/mrd-hyperlink-field/mrd-hyperlink-field.js +0 -291
  90. package/dist/collection/components/mrd-hyperlink-field/mrd-hyperlink-field.scss +0 -91
  91. package/dist/collection/components/mrd-image-field/mrd-image-field.js +0 -356
  92. package/dist/collection/components/mrd-image-field/mrd-image-field.scss +0 -190
  93. package/dist/collection/components/mrd-layout-section/mrd-layout-section.scss +0 -445
  94. package/dist/collection/components/mrd-list-field/mrd-list-field.js +0 -313
  95. package/dist/collection/components/mrd-list-field/mrd-list-field.scss +0 -109
  96. package/dist/collection/components/mrd-longtext-field/mrd-longtext-field.js +0 -227
  97. package/dist/collection/components/mrd-longtext-field/mrd-longtext-field.scss +0 -78
  98. package/dist/collection/components/mrd-number-field/mrd-number-field.js +0 -316
  99. package/dist/collection/components/mrd-number-field/mrd-number-field.scss +0 -77
  100. package/dist/collection/components/mrd-relation-field/mrd-relation-field.js +0 -678
  101. package/dist/collection/components/mrd-relation-field/mrd-relation-field.scss +0 -266
  102. package/dist/collection/components/mrd-secret-field/mrd-secret-field.js +0 -229
  103. package/dist/collection/components/mrd-secret-field/mrd-secret-field.scss +0 -73
  104. package/dist/collection/components/mrd-table/mrd-table.scss +0 -742
  105. package/dist/collection/components/mrd-text-field/mrd-text-field.js +0 -227
  106. package/dist/collection/components/mrd-text-field/mrd-text-field.scss +0 -69
  107. package/dist/collection/components/mrd-textarea-field/mrd-textarea-field.js +0 -267
  108. package/dist/collection/components/mrd-textarea-field/mrd-textarea-field.scss +0 -79
  109. package/dist/collection/components/mrd-time-field/mrd-time-field.js +0 -206
  110. package/dist/collection/components/mrd-time-field/mrd-time-field.scss +0 -66
  111. package/dist/collection/dev/api.js +0 -136
  112. package/dist/collection/dev/app.js +0 -868
  113. package/dist/collection/dev/auth.js +0 -156
  114. package/dist/collection/dev/example-data.js +0 -403
  115. package/dist/collection/dev/sprites.svg +0 -55
  116. package/dist/collection/index.js +0 -1
  117. package/dist/collection/types/client-layout.js +0 -64
  118. package/dist/collection/types/index.js +0 -1
  119. package/dist/components/client-layout.js +0 -1
  120. package/dist/components/format.js +0 -1
  121. package/dist/components/i18n.js +0 -1
  122. package/dist/components/index.js +0 -1
  123. package/dist/components/mrd-boolean-field.js +0 -1
  124. package/dist/components/mrd-boolean-field2.js +0 -1
  125. package/dist/components/mrd-currency-field.js +0 -1
  126. package/dist/components/mrd-currency-field2.js +0 -1
  127. package/dist/components/mrd-date-field.js +0 -1
  128. package/dist/components/mrd-date-field2.js +0 -1
  129. package/dist/components/mrd-datetime-field.js +0 -1
  130. package/dist/components/mrd-datetime-field2.js +0 -1
  131. package/dist/components/mrd-email-field.js +0 -1
  132. package/dist/components/mrd-email-field2.js +0 -1
  133. package/dist/components/mrd-field.js +0 -1
  134. package/dist/components/mrd-field2.js +0 -1
  135. package/dist/components/mrd-file-field.js +0 -1
  136. package/dist/components/mrd-file-field2.js +0 -1
  137. package/dist/components/mrd-form.js +0 -1
  138. package/dist/components/mrd-hyperlink-field.js +0 -1
  139. package/dist/components/mrd-hyperlink-field2.js +0 -1
  140. package/dist/components/mrd-image-field.js +0 -1
  141. package/dist/components/mrd-image-field2.js +0 -1
  142. package/dist/components/mrd-layout-section.js +0 -1
  143. package/dist/components/mrd-list-field.js +0 -1
  144. package/dist/components/mrd-list-field2.js +0 -1
  145. package/dist/components/mrd-longtext-field.js +0 -1
  146. package/dist/components/mrd-longtext-field2.js +0 -1
  147. package/dist/components/mrd-number-field.js +0 -1
  148. package/dist/components/mrd-number-field2.js +0 -1
  149. package/dist/components/mrd-relation-field.js +0 -1
  150. package/dist/components/mrd-relation-field2.js +0 -1
  151. package/dist/components/mrd-secret-field.js +0 -1
  152. package/dist/components/mrd-secret-field2.js +0 -1
  153. package/dist/components/mrd-table.js +0 -1
  154. package/dist/components/mrd-table2.js +0 -1
  155. package/dist/components/mrd-text-field.js +0 -1
  156. package/dist/components/mrd-text-field2.js +0 -1
  157. package/dist/components/mrd-textarea-field.js +0 -1
  158. package/dist/components/mrd-textarea-field2.js +0 -1
  159. package/dist/components/mrd-time-field.js +0 -1
  160. package/dist/components/mrd-time-field2.js +0 -1
  161. package/dist/components/quill.js +0 -1
  162. package/dist/components/validation.js +0 -1
  163. package/dist/esm/app-globals-DQuL1Twl.js +0 -3
  164. package/dist/esm/index-_tsCCkAi.js +0 -1561
  165. package/dist/esm/loader.js +0 -11
  166. package/dist/esm/mosterdcomponents.js +0 -21
  167. package/dist/esm/mrd-boolean-field_20.entry.js +0 -3827
  168. package/dist/index.cjs.js +0 -1
  169. package/dist/index.js +0 -1
  170. package/dist/mosterdcomponents/p-CiuCgGz_.js +0 -1
  171. package/dist/mosterdcomponents/p-DQuL1Twl.js +0 -1
  172. package/dist/mosterdcomponents/p-_tsCCkAi.js +0 -2
  173. package/dist/mosterdcomponents/p-c9839596.entry.js +0 -1
@@ -0,0 +1,4 @@
1
+ import './client-layout-D88nn5zf.js';
2
+ //# sourceMappingURL=index-I5SuYv7a.js.map
3
+
4
+ //# sourceMappingURL=index-I5SuYv7a.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-I5SuYv7a.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1 +1,5 @@
1
- var E,A,T,O,R;!function(E){E.OBJECT_FORM_DASHBOARD="OBJECT_FORM_DASHBOARD",E.CLASS_DASHBOARD="CLASS_DASHBOARD",E.GENERAL_DASHBOARD="GENERAL_DASHBOARD",E.NAVIGATION_PANE="NAVIGATION_PANE"}(E||(E={})),function(E){E.FIELD="FIELD",E.RELATION="RELATION",E.SECTION="SECTION",E.GROUP="GROUP",E.HEADER="HEADER",E.TEXT="TEXT",E.NAVIGATE="NAVIGATE",E.ACTION="ACTION",E.SEARCH="SEARCH",E.VIEW="VIEW",E.RELATED_VIEW="RELATED_VIEW",E.RELATED_OBJECT="RELATED_OBJECT"}(A||(A={})),function(E){E.TEXT="TEXT",E.TEXTBLOCK="TEXTBLOCK",E.INTEGER="INTEGER",E.DECIMAL="DECIMAL",E.PERCENTAGE="PERCENTAGE",E.CURRENCY="CURRENCY",E.BOOLEAN="BOOLEAN",E.DATE="DATE",E.DATETIME="DATETIME",E.TIME="TIME",E.EMAIL="EMAIL",E.HYPERLINK="HYPERLINK",E.LIST="LIST",E.FILE="FILE",E.IMAGE="IMAGE",E.LONGTEXT="LONGTEXT",E.JSON="JSON",E.SECRET="SECRET"}(T||(T={})),function(E){E.SEARCH="SEARCH",E.DROPDOWN="DROPDOWN",E.CHECKBOX="CHECKBOX"}(O||(O={})),function(E){E.SEARCH="SEARCH",E.DROPDOWN="DROPDOWN",E.CHECKBOX="CHECKBOX"}(R||(R={}));export{T as ClientLayoutItemFieldDataType,O as ClientLayoutItemRelationDisplayType,R as ClientLayoutItemRelationEditBehavior,A as ClientLayoutItemType,E as ClientLayoutType}
1
+ import './index-I5SuYv7a.js';
2
+ export { b as ClientLayoutItemFieldDataType, c as ClientLayoutItemRelationDisplayType, d as ClientLayoutItemRelationEditBehavior, a as ClientLayoutItemType, C as ClientLayoutType } from './client-layout-D88nn5zf.js';
3
+ //# sourceMappingURL=index.esm.js.map
4
+
5
+ //# sourceMappingURL=index.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1 +1,180 @@
1
- :root{--mrd-color-primary:#2563eb;--mrd-color-primary-light:#dbeafe;--mrd-color-primary-dark:#1d4ed8;--mrd-color-primary-hover:#1e40af;--mrd-color-neutral-50:#f9fafb;--mrd-color-neutral-100:#f3f4f6;--mrd-color-neutral-200:#e5e7eb;--mrd-color-neutral-300:#d1d5db;--mrd-color-neutral-400:#9ca3af;--mrd-color-neutral-500:#6b7280;--mrd-color-neutral-600:#4b5563;--mrd-color-neutral-700:#374151;--mrd-color-neutral-800:#1f2937;--mrd-color-neutral-900:#111827;--mrd-color-danger:#dc2626;--mrd-color-danger-light:#fee2e2;--mrd-color-danger-dark:#b91c1c;--mrd-color-success:#16a34a;--mrd-color-success-light:#dcfce7;--mrd-color-success-dark:#15803d;--mrd-color-warning:#d97706;--mrd-color-warning-light:#fef3c7;--mrd-color-white:#ffffff;--mrd-color-black:#000000;--mrd-font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;--mrd-font-family-mono:'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, monospace;--mrd-font-size-xs:0.75rem;--mrd-font-size-sm:0.875rem;--mrd-font-size-base:1rem;--mrd-font-size-lg:1.125rem;--mrd-font-size-xl:1.25rem;--mrd-font-size-2xl:1.5rem;--mrd-font-weight-normal:400;--mrd-font-weight-medium:500;--mrd-font-weight-semibold:600;--mrd-font-weight-bold:700;--mrd-line-height-tight:1.25;--mrd-line-height-normal:1.5;--mrd-line-height-relaxed:1.75;--mrd-space-0:0;--mrd-space-1:0.25rem;--mrd-space-2:0.5rem;--mrd-space-3:0.75rem;--mrd-space-4:1rem;--mrd-space-5:1.25rem;--mrd-space-6:1.5rem;--mrd-space-8:2rem;--mrd-space-10:2.5rem;--mrd-space-12:3rem;--mrd-border-width:1px;--mrd-border-color:#d1d5db;--mrd-border-color-focus:#2563eb;--mrd-border-color-error:#dc2626;--mrd-border-radius-sm:0.25rem;--mrd-border-radius:0.375rem;--mrd-border-radius-md:0.5rem;--mrd-border-radius-lg:0.75rem;--mrd-border-radius-full:9999px;--mrd-shadow-sm:0 1px 2px 0 rgb(0 0 0 / 0.05);--mrd-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);--mrd-shadow-md:0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);--mrd-shadow-lg:0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);--mrd-shadow-focus:0 0 0 3px rgb(37 99 235 / 0.2);--mrd-shadow-focus-error:0 0 0 3px rgb(220 38 38 / 0.2);--mrd-transition-fast:100ms ease;--mrd-transition:200ms ease;--mrd-transition-slow:300ms ease;--mrd-input-height:2.5rem;--mrd-input-height-sm:2rem;--mrd-input-height-lg:3rem;--mrd-input-padding-x:0.75rem;--mrd-input-padding-y:0.5rem;--mrd-input-bg:#ffffff;--mrd-input-bg-disabled:#f3f4f6;--mrd-input-color:#1f2937;--mrd-input-placeholder-color:#9ca3af;--mrd-label-color:#374151;--mrd-label-font-size:0.875rem;--mrd-label-font-weight:500;--mrd-label-margin-bottom:0.25rem;--mrd-error-color:#dc2626;--mrd-error-font-size:0.75rem;--mrd-z-dropdown:100;--mrd-z-modal:200;--mrd-z-tooltip:300}*,*::before,*::after{box-sizing:border-box}
1
+ /* Mosterd Components global styles & CSS custom properties */
2
+
3
+ :root {
4
+ /* Color palette */
5
+ --mrd-color-primary: #2563eb;
6
+ --mrd-color-primary-light: #dbeafe;
7
+ --mrd-color-primary-dark: #1d4ed8;
8
+ --mrd-color-primary-hover: #1e40af;
9
+
10
+ --mrd-color-neutral-50: #f9fafb;
11
+ --mrd-color-neutral-100: #f3f4f6;
12
+ --mrd-color-neutral-200: #e5e7eb;
13
+ --mrd-color-neutral-300: #d1d5db;
14
+ --mrd-color-neutral-400: #9ca3af;
15
+ --mrd-color-neutral-500: #6b7280;
16
+ --mrd-color-neutral-600: #4b5563;
17
+ --mrd-color-neutral-700: #374151;
18
+ --mrd-color-neutral-800: #1f2937;
19
+ --mrd-color-neutral-900: #111827;
20
+
21
+ --mrd-color-danger: #dc2626;
22
+ --mrd-color-danger-light: #fee2e2;
23
+ --mrd-color-danger-dark: #b91c1c;
24
+
25
+ --mrd-color-success: #16a34a;
26
+ --mrd-color-success-light: #dcfce7;
27
+ --mrd-color-success-dark: #15803d;
28
+
29
+ --mrd-color-warning: #d97706;
30
+ --mrd-color-warning-light: #fef3c7;
31
+
32
+ --mrd-color-white: #ffffff;
33
+ --mrd-color-black: #000000;
34
+
35
+ /* Typography */
36
+ --mrd-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
37
+ --mrd-font-family-mono: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, monospace;
38
+
39
+ --mrd-font-size-xs: 0.75rem;
40
+ --mrd-font-size-sm: 0.875rem;
41
+ --mrd-font-size-base: 1rem;
42
+ --mrd-font-size-lg: 1.125rem;
43
+ --mrd-font-size-xl: 1.25rem;
44
+ --mrd-font-size-2xl: 1.5rem;
45
+
46
+ --mrd-font-weight-normal: 400;
47
+ --mrd-font-weight-medium: 500;
48
+ --mrd-font-weight-semibold: 600;
49
+ --mrd-font-weight-bold: 700;
50
+
51
+ --mrd-line-height-tight: 1.25;
52
+ --mrd-line-height-normal: 1.5;
53
+ --mrd-line-height-relaxed: 1.75;
54
+
55
+ /* Spacing */
56
+ --mrd-space-0: 0;
57
+ --mrd-space-1: 0.25rem;
58
+ --mrd-space-2: 0.5rem;
59
+ --mrd-space-3: 0.75rem;
60
+ --mrd-space-4: 1rem;
61
+ --mrd-space-5: 1.25rem;
62
+ --mrd-space-6: 1.5rem;
63
+ --mrd-space-8: 2rem;
64
+ --mrd-space-10: 2.5rem;
65
+ --mrd-space-12: 3rem;
66
+
67
+ /* Border */
68
+ --mrd-border-width: 1px;
69
+ --mrd-border-color: #d1d5db;
70
+ --mrd-border-color-focus: #2563eb;
71
+ --mrd-border-color-error: #dc2626;
72
+
73
+ --mrd-border-radius-sm: 0.25rem;
74
+ --mrd-border-radius: 0.375rem;
75
+ --mrd-border-radius-md: 0.5rem;
76
+ --mrd-border-radius-lg: 0.75rem;
77
+ --mrd-border-radius-full: 9999px;
78
+
79
+ /* Shadow */
80
+ --mrd-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
81
+ --mrd-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
82
+ --mrd-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
83
+ --mrd-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
84
+ --mrd-shadow-focus: 0 0 0 3px rgb(37 99 235 / 0.2);
85
+ --mrd-shadow-focus-error: 0 0 0 3px rgb(220 38 38 / 0.2);
86
+
87
+ /* Transition */
88
+ --mrd-transition-fast: 100ms ease;
89
+ --mrd-transition: 200ms ease;
90
+ --mrd-transition-slow: 300ms ease;
91
+
92
+ /* Form inputs */
93
+ --mrd-input-height: 2.5rem;
94
+ --mrd-input-height-sm: 2rem;
95
+ --mrd-input-height-lg: 3rem;
96
+ --mrd-input-padding-x: 0.75rem;
97
+ --mrd-input-padding-y: 0.5rem;
98
+ --mrd-input-bg: #ffffff;
99
+ --mrd-input-bg-disabled: #f3f4f6;
100
+ --mrd-input-color: #1f2937;
101
+ --mrd-input-placeholder-color: #9ca3af;
102
+
103
+ /* Label */
104
+ --mrd-label-color: #374151;
105
+ --mrd-label-font-size: 0.875rem;
106
+ --mrd-label-font-weight: 500;
107
+ --mrd-label-margin-bottom: 0.25rem;
108
+
109
+ /* Error */
110
+ --mrd-error-color: #dc2626;
111
+ --mrd-error-font-size: 0.75rem;
112
+
113
+ /* Z-index */
114
+ --mrd-z-dropdown: 100;
115
+ --mrd-z-modal: 200;
116
+ --mrd-z-tooltip: 300;
117
+ }
118
+
119
+ *,
120
+ *::before,
121
+ *::after {
122
+ box-sizing: border-box;
123
+ }
124
+
125
+ /* Prose rules for mrd-textarea-field: Quill generates DOM dynamically so Stencil's
126
+ scoped CSS (.sc-*) never reaches these elements — global stylesheet is the only option. */
127
+ mrd-textarea-field .ql-editor p {
128
+ margin-bottom: 0.75em;
129
+ }
130
+
131
+ mrd-textarea-field .ql-editor p:last-child {
132
+ margin-bottom: 0;
133
+ }
134
+
135
+ mrd-textarea-field .ql-editor ul {
136
+ list-style: disc;
137
+ padding-left: 1.5em;
138
+ margin-bottom: 0.75em;
139
+ }
140
+
141
+ mrd-textarea-field .ql-editor ol {
142
+ list-style: decimal;
143
+ padding-left: 1.5em;
144
+ margin-bottom: 0.75em;
145
+ }
146
+
147
+ mrd-textarea-field .ql-editor li {
148
+ margin-bottom: 0.25em;
149
+ }
150
+
151
+ mrd-textarea-field .ql-editor h1 {
152
+ font-size: 1.75em;
153
+ font-weight: 700;
154
+ margin-bottom: 0.5em;
155
+ }
156
+
157
+ mrd-textarea-field .ql-editor h2 {
158
+ font-size: 1.375em;
159
+ font-weight: 700;
160
+ margin-bottom: 0.5em;
161
+ }
162
+
163
+ mrd-textarea-field .ql-editor h3 {
164
+ font-size: 1.125em;
165
+ font-weight: 600;
166
+ margin-bottom: 0.5em;
167
+ }
168
+
169
+ mrd-textarea-field .ql-editor a {
170
+ color: var(--mrd-color-primary);
171
+ text-decoration: underline;
172
+ }
173
+
174
+ mrd-textarea-field .ql-editor strong {
175
+ font-weight: 700;
176
+ }
177
+
178
+ mrd-textarea-field .ql-editor em {
179
+ font-style: italic;
180
+ }
@@ -1 +1,50 @@
1
- import{p as e,b as l}from"./p-_tsCCkAi.js";export{s as setNonce}from"./p-_tsCCkAi.js";import{g as a}from"./p-DQuL1Twl.js";(()=>{const l=import.meta.url,a={};return""!==l&&(a.resourcesUrl=new URL(".",l).href),e(a)})().then((async e=>(await a(),l([["p-c9839596",[[2,"mrd-form",{layout:[16],locale:[1],values:[16],referenceHref:[1,"reference-href"],referenceClass:[1,"reference-class"],showCancel:[4,"show-cancel"],formValues:[32],errors:[32],submitted:[32],setFieldValue:[64]},null,{values:[{valuesChanged:0}]}],[2,"mrd-layout-section",{items:[16],data:[16],views:[16],links:[16],locale:[1],searchQueryMap:[32],searchResultsMap:[32],imagePreviewUrl:[32],imagePreviews:[32],openHistoryField:[32],setSearchResults:[64],setViewPage:[64],setViewAggregations:[64],setImagePreview:[64],openImagePreview:[64]},null,{data:[{dataChanged:0}]}],[2,"mrd-field",{item:[16],locale:[1],value:[16],historyEntries:[32],currentValue:[32]},null,{value:[{valueChanged:0}]}],[2,"mrd-table",{item:[16],parentId:[1,"parent-id"],rows:[16],locale:[1],totalElements:[2,"total-elements"],pageSize:[2,"page-size"],rowHeight:[2,"row-height"],tableHeight:[2,"table-height"],activeViewIdx:[32],loadedPages:[32],requestedPages:[32],renderStart:[32],renderEnd:[32],colWidths:[32],sortField:[32],sortDir:[32],filterMode:[32],activeFilters:[32],openFilterCol:[32],pendingFilter:[32],popupPos:[32],createPickerOpen:[32],scrollTop:[32],textblockModal:[32],jsonModal:[32],aggregations:[32],aggregationsTotal:[32],minKnownTotal:[32],init:[64],setPage:[64],setAggregations:[64]},null,{totalElements:[{totalElementsChanged:0}],item:[{itemChanged:0}]}],[2,"mrd-boolean-field",{name:[1],label:[1],value:[4],required:[4],disabled:[4],locale:[1],checked:[32]}],[2,"mrd-currency-field",{name:[1],label:[1],value:[16],required:[4],disabled:[4],locale:[1],amountDisplay:[32],currency:[32],error:[32]}],[2,"mrd-date-field",{name:[1],label:[1],value:[1],required:[4],disabled:[4],locale:[1],error:[32]}],[2,"mrd-datetime-field",{name:[1],label:[1],value:[1],required:[4],disabled:[4],locale:[1],error:[32],localValue:[32]},null,{value:[{valueChanged:0}]}],[2,"mrd-email-field",{name:[1],label:[1],value:[1],placeholder:[1],required:[4],disabled:[4],locale:[1],error:[32]}],[2,"mrd-file-field",{name:[1],label:[1],value:[16],required:[4],disabled:[4],locale:[1],accept:[1],maxSize:[2,"max-size"],fileName:[32],isDragging:[32],uploading:[32],error:[32]},null,{value:[{valueChanged:0}]}],[2,"mrd-hyperlink-field",{name:[1],label:[1],value:[1],placeholder:[1],required:[4],disabled:[4],locale:[1],internalHref:[32],internalName:[32],error:[32]},null,{value:[{valueChanged:0}]}],[2,"mrd-image-field",{name:[1],label:[1],value:[16],required:[4],disabled:[4],locale:[1],accept:[1],maxSize:[2,"max-size"],previewUrl:[32],fileName:[32],isDragging:[32],uploading:[32],error:[32]},null,{value:[{valueChanged:0}]}],[2,"mrd-list-field",{name:[1],label:[1],value:[1],required:[4],disabled:[4],multiple:[4],locale:[1],listItems:[16],error:[32],selected:[32]}],[2,"mrd-longtext-field",{name:[1],label:[1],value:[1],placeholder:[1],required:[4],disabled:[4],locale:[1],error:[32]}],[2,"mrd-number-field",{name:[1],label:[1],value:[2],placeholder:[1],required:[4],disabled:[4],locale:[1],dataType:[1,"data-type"],decimalPrecision:[2,"decimal-precision"],displayValue:[32],error:[32]}],[2,"mrd-relation-field",{name:[1],label:[1],required:[4],disabled:[4],locale:[1],relatedClass:[1,"related-class"],mostSignificantClass:[1,"most-significant-class"],displayType:[1,"display-type"],editBehavior:[1,"edit-behavior"],commonRelation:[1,"common-relation"],multiple:[4],dropdownValues:[16],value:[1],searchQuery:[32],searchResults:[32],allRecords:[32],isLoading:[32],selectedItems:[32],showResults:[32],error:[32],highlightedIndex:[32],setAllRecords:[64],setSearchResults:[64],setLoading:[64]},null,{allRecords:[{allRecordsChanged:0}]}],[2,"mrd-secret-field",{name:[1],label:[1],value:[1],placeholder:[1],required:[4],disabled:[4],locale:[1],error:[32]}],[2,"mrd-text-field",{name:[1],label:[1],value:[1],placeholder:[1],required:[4],disabled:[4],locale:[1],error:[32]}],[2,"mrd-textarea-field",{name:[1],label:[1],value:[1],placeholder:[1],required:[4],disabled:[4],locale:[1],error:[32],editorReady:[32]}],[2,"mrd-time-field",{name:[1],label:[1],value:[1],required:[4],disabled:[4],locale:[1],error:[32]}]]]],e))));
1
+ import { B as BUILD, c as consoleDevInfo, H, w as win, N as NAMESPACE, p as promiseResolve, g as globalScripts, b as bootstrapLazy } from './index-B_tPFIvS.js';
2
+ export { s as setNonce } from './index-B_tPFIvS.js';
3
+
4
+ /*
5
+ Stencil Client Patch Browser v4.43.2 | MIT Licensed | https://stenciljs.com
6
+ */
7
+
8
+ var patchBrowser = () => {
9
+ if (BUILD.isDev && !BUILD.isTesting) {
10
+ consoleDevInfo("Running in development mode.");
11
+ }
12
+ if (BUILD.cloneNodeFix) {
13
+ patchCloneNodeFix(H.prototype);
14
+ }
15
+ const scriptElm = BUILD.scriptDataOpts ? win.document && Array.from(win.document.querySelectorAll("script")).find(
16
+ (s) => new RegExp(`/${NAMESPACE}(\\.esm)?\\.js($|\\?|#)`).test(s.src) || s.getAttribute("data-stencil-namespace") === NAMESPACE
17
+ ) : null;
18
+ const importMeta = import.meta.url;
19
+ const opts = BUILD.scriptDataOpts ? (scriptElm || {})["data-opts"] || {} : {};
20
+ if (importMeta !== "") {
21
+ opts.resourcesUrl = new URL(".", importMeta).href;
22
+ }
23
+ return promiseResolve(opts);
24
+ };
25
+ var patchCloneNodeFix = (HTMLElementPrototype) => {
26
+ const nativeCloneNodeFn = HTMLElementPrototype.cloneNode;
27
+ HTMLElementPrototype.cloneNode = function(deep) {
28
+ if (this.nodeName === "TEMPLATE") {
29
+ return nativeCloneNodeFn.call(this, deep);
30
+ }
31
+ const clonedNode = nativeCloneNodeFn.call(this, false);
32
+ const srcChildNodes = this.childNodes;
33
+ if (deep) {
34
+ for (let i = 0; i < srcChildNodes.length; i++) {
35
+ if (srcChildNodes[i].nodeType !== 2) {
36
+ clonedNode.appendChild(srcChildNodes[i].cloneNode(true));
37
+ }
38
+ }
39
+ }
40
+ return clonedNode;
41
+ };
42
+ };
43
+
44
+ patchBrowser().then(async (options) => {
45
+ await globalScripts();
46
+ return bootstrapLazy([["mrd-form",[[2,"mrd-form",{"layout":[16],"locale":[1],"values":[16],"referenceHref":[1,"reference-href"],"referenceClass":[1,"reference-class"],"showCancel":[4,"show-cancel"],"me":[16],"formValues":[32],"errors":[32],"submitted":[32],"setFieldValue":[64]},null,{"values":[{"valuesChanged":0}],"me":[{"meChanged":0}]}]]],["mrd-layout-section",[[2,"mrd-layout-section",{"items":[16],"data":[16],"views":[16],"links":[16],"locale":[1],"searchQueryMap":[32],"searchResultsMap":[32],"imagePreviewUrl":[32],"imagePreviews":[32],"openHistoryField":[32],"setSearchResults":[64],"setViewPage":[64],"setViewAggregations":[64],"setImagePreview":[64],"openImagePreview":[64]},null,{"data":[{"dataChanged":0}]}]]],["mrd-field",[[2,"mrd-field",{"item":[16],"locale":[1],"value":[16],"historyEntries":[32],"currentValue":[32]},null,{"value":[{"valueChanged":0}]}]]],["mrd-table",[[2,"mrd-table",{"item":[16],"parentId":[1,"parent-id"],"rows":[16],"locale":[1],"totalElements":[2,"total-elements"],"pageSize":[2,"page-size"],"rowHeight":[2,"row-height"],"tableHeight":[2,"table-height"],"activeViewIdx":[32],"loadedPages":[32],"requestedPages":[32],"renderStart":[32],"renderEnd":[32],"colWidths":[32],"sortField":[32],"sortDir":[32],"filterMode":[32],"activeFilters":[32],"openFilterCol":[32],"pendingFilter":[32],"popupPos":[32],"createPickerOpen":[32],"viewPopoverOpen":[32],"scrollTop":[32],"textblockModal":[32],"jsonModal":[32],"aggregations":[32],"aggregationsTotal":[32],"minKnownTotal":[32],"init":[64],"setPage":[64],"setAggregations":[64]},null,{"totalElements":[{"totalElementsChanged":0}],"item":[{"itemChanged":0}]}]]],["mrd-boolean-field",[[2,"mrd-boolean-field",{"name":[1],"label":[1],"value":[4],"required":[4],"disabled":[4],"locale":[1],"checked":[32]}]]],["mrd-currency-field",[[2,"mrd-currency-field",{"name":[1],"label":[1],"value":[16],"required":[4],"disabled":[4],"locale":[1],"amountDisplay":[32],"currency":[32],"error":[32]}]]],["mrd-date-field",[[2,"mrd-date-field",{"name":[1],"label":[1],"value":[1],"required":[4],"disabled":[4],"locale":[1],"error":[32]}]]],["mrd-datetime-field",[[2,"mrd-datetime-field",{"name":[1],"label":[1],"value":[1],"required":[4],"disabled":[4],"locale":[1],"error":[32],"localValue":[32]},null,{"value":[{"valueChanged":0}]}]]],["mrd-email-field",[[2,"mrd-email-field",{"name":[1],"label":[1],"value":[1],"placeholder":[1],"required":[4],"disabled":[4],"locale":[1],"error":[32]}]]],["mrd-file-field",[[2,"mrd-file-field",{"name":[1],"label":[1],"value":[16],"required":[4],"disabled":[4],"locale":[1],"accept":[1],"maxSize":[2,"max-size"],"fileName":[32],"isDragging":[32],"uploading":[32],"error":[32]},null,{"value":[{"valueChanged":0}]}]]],["mrd-hyperlink-field",[[2,"mrd-hyperlink-field",{"name":[1],"label":[1],"value":[1],"placeholder":[1],"required":[4],"disabled":[4],"locale":[1],"internalHref":[32],"internalName":[32],"error":[32]},null,{"value":[{"valueChanged":0}]}]]],["mrd-image-field",[[2,"mrd-image-field",{"name":[1],"label":[1],"value":[16],"required":[4],"disabled":[4],"locale":[1],"accept":[1],"maxSize":[2,"max-size"],"previewUrl":[32],"fileName":[32],"isDragging":[32],"uploading":[32],"error":[32]},null,{"value":[{"valueChanged":0}]}]]],["mrd-list-field",[[2,"mrd-list-field",{"name":[1],"label":[1],"value":[1],"required":[4],"disabled":[4],"multiple":[4],"locale":[1],"listItems":[16],"error":[32],"selected":[32]}]]],["mrd-longtext-field",[[2,"mrd-longtext-field",{"name":[1],"label":[1],"value":[1],"placeholder":[1],"required":[4],"disabled":[4],"locale":[1],"error":[32]}]]],["mrd-number-field",[[2,"mrd-number-field",{"name":[1],"label":[1],"value":[2],"placeholder":[1],"required":[4],"disabled":[4],"locale":[1],"dataType":[1,"data-type"],"decimalPrecision":[2,"decimal-precision"],"displayValue":[32],"error":[32]}]]],["mrd-relation-field",[[2,"mrd-relation-field",{"name":[1],"label":[1],"required":[4],"disabled":[4],"locale":[1],"relatedClass":[1,"related-class"],"mostSignificantClass":[1,"most-significant-class"],"displayType":[1,"display-type"],"editBehavior":[1,"edit-behavior"],"commonRelation":[1,"common-relation"],"multiple":[4],"dropdownValues":[16],"value":[1],"searchQuery":[32],"searchResults":[32],"allRecords":[32],"isLoading":[32],"selectedItems":[32],"showResults":[32],"error":[32],"highlightedIndex":[32],"setAllRecords":[64],"setSearchResults":[64],"setLoading":[64]},null,{"allRecords":[{"allRecordsChanged":0}],"value":[{"valueChanged":0}]}]]],["mrd-secret-field",[[2,"mrd-secret-field",{"name":[1],"label":[1],"value":[1],"placeholder":[1],"required":[4],"disabled":[4],"locale":[1],"error":[32]}]]],["mrd-text-field",[[2,"mrd-text-field",{"name":[1],"label":[1],"value":[1],"placeholder":[1],"required":[4],"disabled":[4],"locale":[1],"error":[32]}]]],["mrd-textarea-field",[[2,"mrd-textarea-field",{"name":[1],"label":[1],"value":[1],"placeholder":[1],"required":[4],"disabled":[4],"locale":[1],"error":[32],"editorReady":[32]}]]],["mrd-time-field",[[2,"mrd-time-field",{"name":[1],"label":[1],"value":[1],"required":[4],"disabled":[4],"locale":[1],"error":[32]}]]]], options);
47
+ });
48
+ //# sourceMappingURL=mosterdcomponents.esm.js.map
49
+
50
+ //# sourceMappingURL=mosterdcomponents.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mosterdcomponents.esm.js","sources":["node_modules/@stencil/core/internal/client/patch-browser.js","@lazy-browser-entrypoint?app-data=conditional"],"sourcesContent":["/*\n Stencil Client Patch Browser v4.43.2 | MIT Licensed | https://stenciljs.com\n */\n\n// src/client/client-patch-browser.ts\nimport { BUILD, NAMESPACE } from \"@stencil/core/internal/app-data\";\nimport { consoleDevInfo, H, promiseResolve, win } from \"@stencil/core\";\nvar patchBrowser = () => {\n if (BUILD.isDev && !BUILD.isTesting) {\n consoleDevInfo(\"Running in development mode.\");\n }\n if (BUILD.cloneNodeFix) {\n patchCloneNodeFix(H.prototype);\n }\n const scriptElm = BUILD.scriptDataOpts ? win.document && Array.from(win.document.querySelectorAll(\"script\")).find(\n (s) => new RegExp(`/${NAMESPACE}(\\\\.esm)?\\\\.js($|\\\\?|#)`).test(s.src) || s.getAttribute(\"data-stencil-namespace\") === NAMESPACE\n ) : null;\n const importMeta = import.meta.url;\n const opts = BUILD.scriptDataOpts ? (scriptElm || {})[\"data-opts\"] || {} : {};\n if (importMeta !== \"\") {\n opts.resourcesUrl = new URL(\".\", importMeta).href;\n }\n return promiseResolve(opts);\n};\nvar patchCloneNodeFix = (HTMLElementPrototype) => {\n const nativeCloneNodeFn = HTMLElementPrototype.cloneNode;\n HTMLElementPrototype.cloneNode = function(deep) {\n if (this.nodeName === \"TEMPLATE\") {\n return nativeCloneNodeFn.call(this, deep);\n }\n const clonedNode = nativeCloneNodeFn.call(this, false);\n const srcChildNodes = this.childNodes;\n if (deep) {\n for (let i = 0; i < srcChildNodes.length; i++) {\n if (srcChildNodes[i].nodeType !== 2) {\n clonedNode.appendChild(srcChildNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nexport {\n patchBrowser\n};\n","export { setNonce } from '@stencil/core';\nimport { bootstrapLazy } from '@stencil/core';\nimport { patchBrowser } from '@stencil/core/internal/client/patch-browser';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\npatchBrowser().then(async (options) => {\n await globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n});\n"],"names":[],"mappings":";;;AAAA;AACA;AACA;;AAKA,IAAI,YAAY,GAAG,MAAM;AACzB,EAAE,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;AACvC,IAAI,cAAc,CAAC,8BAA8B,CAAC;AAClD;AACA,EAAE,IAAI,KAAK,CAAC,YAAY,EAAE;AAC1B,IAAI,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;AAClC;AACA,EAAE,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,GAAG,GAAG,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;AACnH,IAAI,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,wBAAwB,CAAC,KAAK;AAC1H,GAAG,GAAG,IAAI;AACV,EAAE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG;AACpC,EAAE,MAAM,IAAI,GAAG,KAAK,CAAC,cAAc,GAAG,CAAC,SAAS,IAAI,EAAE,EAAE,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE;AAC/E,EAAE,IAAI,UAAU,KAAK,EAAE,EAAE;AACzB,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,IAAI;AACrD;AACA,EAAE,OAAO,cAAc,CAAC,IAAI,CAAC;AAC7B,CAAC;AACD,IAAI,iBAAiB,GAAG,CAAC,oBAAoB,KAAK;AAClD,EAAE,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,SAAS;AAC1D,EAAE,oBAAoB,CAAC,SAAS,GAAG,SAAS,IAAI,EAAE;AAClD,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,UAAU,EAAE;AACtC,MAAM,OAAO,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;AAC/C;AACA,IAAI,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;AAC1D,IAAI,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU;AACzC,IAAI,IAAI,IAAI,EAAE;AACd,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrD,QAAQ,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,EAAE;AAC7C,UAAU,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAClE;AACA;AACA;AACA,IAAI,OAAO,UAAU;AACrB,GAAG;AACH,CAAC;;ACrCD,YAAY,EAAE,CAAC,IAAI,CAAC,OAAO,OAAO,KAAK;AACvC,EAAE,MAAM,aAAa,EAAE;AACvB,EAAE,OAAO,aAAa,CAAC,4BAA4B,EAAE,OAAO,CAAC;AAC7D,CAAC,CAAC","x_google_ignoreList":[0]}
@@ -0,0 +1,37 @@
1
+ import { r as registerInstance, a as createEvent, h, d as Host } from './index-B_tPFIvS.js';
2
+
3
+ const mrdBooleanFieldScss = () => `.sc-mrd-boolean-field-h{display:block}.mrd-boolean-field.sc-mrd-boolean-field{display:flex;align-items:center;width:100%}.mrd-boolean-field__toggle-label.sc-mrd-boolean-field{display:flex;align-items:center;gap:var(--mrd-space-3);cursor:pointer;user-select:none}.mrd-boolean-field__checkbox.sc-mrd-boolean-field{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.mrd-boolean-field__checkbox.sc-mrd-boolean-field:checked+.mrd-boolean-field__toggle.sc-mrd-boolean-field{background-color:var(--mrd-color-primary)}.mrd-boolean-field__checkbox.sc-mrd-boolean-field:checked+.mrd-boolean-field__toggle.sc-mrd-boolean-field::after{transform:translateX(20px)}.mrd-boolean-field__checkbox.sc-mrd-boolean-field:focus+.mrd-boolean-field__toggle.sc-mrd-boolean-field{box-shadow:var(--mrd-shadow-focus)}.mrd-boolean-field__checkbox.sc-mrd-boolean-field:disabled+.mrd-boolean-field__toggle.sc-mrd-boolean-field{opacity:0.5;cursor:not-allowed}.mrd-boolean-field__toggle.sc-mrd-boolean-field{position:relative;display:inline-block;width:44px;height:24px;background-color:var(--mrd-color-neutral-300);border-radius:var(--mrd-border-radius-full);transition:background-color var(--mrd-transition);flex-shrink:0}.mrd-boolean-field__toggle.sc-mrd-boolean-field::after{content:'';position:absolute;top:2px;left:2px;width:20px;height:20px;background-color:var(--mrd-color-white);border-radius:50%;transition:transform var(--mrd-transition);box-shadow:var(--mrd-shadow-sm)}.mrd-boolean-field__text.sc-mrd-boolean-field{font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-base);color:var(--mrd-color-neutral-800)}.mrd-boolean-field__text--required.sc-mrd-boolean-field::after{content:' *';color:var(--mrd-color-danger)}`;
4
+
5
+ const MrdBooleanField = class {
6
+ constructor(hostRef) {
7
+ registerInstance(this, hostRef);
8
+ this.mrdChange = createEvent(this, "mrdChange", 7);
9
+ this.mrdBlur = createEvent(this, "mrdBlur", 7);
10
+ this.name = '';
11
+ this.label = '';
12
+ this.value = false;
13
+ this.required = false;
14
+ this.disabled = false;
15
+ this.locale = navigator.language;
16
+ this.checked = false;
17
+ this.handleChange = (e) => {
18
+ this.checked = e.target.checked;
19
+ this.mrdChange.emit({ name: this.name, value: this.checked });
20
+ };
21
+ this.handleBlur = () => {
22
+ this.mrdBlur.emit({ name: this.name, value: this.checked });
23
+ };
24
+ }
25
+ componentWillLoad() {
26
+ this.checked = !!this.value;
27
+ }
28
+ render() {
29
+ return (h(Host, { key: 'aed1d936d686870114a12aad9fc4cccb76ecd31e' }, h("div", { key: '5cc8aaa0f12d4195d02fce8a810d7d993e2e8c99', class: "mrd-boolean-field" }, h("label", { key: '41c3b3e0f01778fc2654ba86e3fe4e5a07c8537a', class: "mrd-boolean-field__toggle-label" }, h("input", { key: 'c261e6903e050d2f3d8df8abb90c74d99ed20161', class: "mrd-boolean-field__checkbox", type: "checkbox", name: this.name, checked: this.checked, disabled: this.disabled, onChange: this.handleChange, onBlur: this.handleBlur }), h("span", { key: '079ee220fe692536af15a7fb4286626102ae940e', class: "mrd-boolean-field__toggle", "aria-hidden": "true" }), this.label && (h("span", { key: '1f4f52a41f0bd6ba4c61cf9d4db74ab2f1aa8877', class: `mrd-boolean-field__text${this.required ? ' mrd-boolean-field__text--required' : ''}` }, this.label))))));
30
+ }
31
+ };
32
+ MrdBooleanField.style = mrdBooleanFieldScss();
33
+
34
+ export { MrdBooleanField as mrd_boolean_field };
35
+ //# sourceMappingURL=mrd-boolean-field.entry.esm.js.map
36
+
37
+ //# sourceMappingURL=mrd-boolean-field.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"mrd-boolean-field.entry.js","mappings":";;AAAA,MAAM,mBAAmB,GAAG,MAAM,CAAC,yrDAAyrD,CAAC;;MCOhtD,eAAe,GAAA,MAAA;AAL5B,IAAA,WAAA,CAAA,OAAA,EAAA;;;;AAMU,QAAA,IAAA,CAAA,IAAI,GAAW,EAAE;AACjB,QAAA,IAAA,CAAA,KAAK,GAAW,EAAE;AAClB,QAAA,IAAA,CAAA,KAAK,GAAY,KAAK;AACtB,QAAA,IAAA,CAAA,QAAQ,GAAY,KAAK;AACzB,QAAA,IAAA,CAAA,QAAQ,GAAY,KAAK;AACzB,QAAA,IAAA,CAAA,MAAM,GAAW,SAAS,CAAC,QAAQ;AAElC,QAAA,IAAA,CAAA,OAAO,GAAY,KAAK;AASzB,QAAA,IAAA,CAAA,YAAY,GAAG,CAAC,CAAQ,KAAI;YAClC,IAAI,CAAC,OAAO,GAAI,CAAC,CAAC,MAA2B,CAAC,OAAO;AACrD,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;AAC/D,SAAC;AAEO,QAAA,IAAA,CAAA,UAAU,GAAG,MAAK;AACxB,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;AAC7D,SAAC;AA2BF;IAtCC,iBAAiB,GAAA;QACf,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK;;IAY7B,MAAM,GAAA;AACJ,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,mBAAmB,EAAA,EAC5B,CAAA,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAO,KAAK,EAAC,iCAAiC,EAAA,EAC5C,CAAA,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAC,6BAA6B,EACnC,IAAI,EAAC,UAAU,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,MAAM,EAAE,IAAI,CAAC,UAAU,EAAA,CACvB,EACF,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,KAAK,EAAC,2BAA2B,EAAA,aAAA,EAAa,MAAM,EAAA,CAAQ,EACjE,IAAI,CAAC,KAAK,KACT,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,KAAK,EAAE,CAAA,uBAAA,EAA0B,IAAI,CAAC,QAAQ,GAAG,oCAAoC,GAAG,EAAE,CAAA,CAAE,EAAA,EAC/F,IAAI,CAAC,KAAK,CACN,CACR,CACK,CACJ,CACD;;;;;;;","names":[],"sources":["src/components/mrd-boolean-field/mrd-boolean-field.scss?tag=mrd-boolean-field&encapsulation=scoped","src/components/mrd-boolean-field/mrd-boolean-field.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.mrd-boolean-field {\n display: flex;\n align-items: center;\n width: 100%;\n}\n\n.mrd-boolean-field__toggle-label {\n display: flex;\n align-items: center;\n gap: var(--mrd-space-3);\n cursor: pointer;\n user-select: none;\n}\n\n.mrd-boolean-field__checkbox {\n position: absolute;\n opacity: 0;\n width: 0;\n height: 0;\n pointer-events: none;\n}\n\n.mrd-boolean-field__checkbox:checked + .mrd-boolean-field__toggle {\n background-color: var(--mrd-color-primary);\n}\n\n.mrd-boolean-field__checkbox:checked + .mrd-boolean-field__toggle::after {\n transform: translateX(20px);\n}\n\n.mrd-boolean-field__checkbox:focus + .mrd-boolean-field__toggle {\n box-shadow: var(--mrd-shadow-focus);\n}\n\n.mrd-boolean-field__checkbox:disabled + .mrd-boolean-field__toggle {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.mrd-boolean-field__toggle {\n position: relative;\n display: inline-block;\n width: 44px;\n height: 24px;\n background-color: var(--mrd-color-neutral-300);\n border-radius: var(--mrd-border-radius-full);\n transition: background-color var(--mrd-transition);\n flex-shrink: 0;\n}\n\n.mrd-boolean-field__toggle::after {\n content: '';\n position: absolute;\n top: 2px;\n left: 2px;\n width: 20px;\n height: 20px;\n background-color: var(--mrd-color-white);\n border-radius: 50%;\n transition: transform var(--mrd-transition);\n box-shadow: var(--mrd-shadow-sm);\n}\n\n.mrd-boolean-field__text {\n font-family: var(--mrd-font-family);\n font-size: var(--mrd-font-size-base);\n color: var(--mrd-color-neutral-800);\n}\n\n.mrd-boolean-field__text--required::after {\n content: ' *';\n color: var(--mrd-color-danger);\n}\n","import { Component, Host, h, Prop, State, Event, EventEmitter } from '@stencil/core';\n\n@Component({\n tag: 'mrd-boolean-field',\n styleUrl: 'mrd-boolean-field.scss',\n scoped: true,\n})\nexport class MrdBooleanField {\n @Prop() name: string = '';\n @Prop() label: string = '';\n @Prop() value: boolean = false;\n @Prop() required: boolean = false;\n @Prop() disabled: boolean = false;\n @Prop() locale: string = navigator.language;\n\n @State() checked: boolean = false;\n\n @Event() mrdChange!: EventEmitter<{ name: string; value: boolean }>;\n @Event() mrdBlur!: EventEmitter<{ name: string; value: boolean }>;\n\n componentWillLoad() {\n this.checked = !!this.value;\n }\n\n private handleChange = (e: Event) => {\n this.checked = (e.target as HTMLInputElement).checked;\n this.mrdChange.emit({ name: this.name, value: this.checked });\n };\n\n private handleBlur = () => {\n this.mrdBlur.emit({ name: this.name, value: this.checked });\n };\n\n render() {\n return (\n <Host>\n <div class=\"mrd-boolean-field\">\n <label class=\"mrd-boolean-field__toggle-label\">\n <input\n class=\"mrd-boolean-field__checkbox\"\n type=\"checkbox\"\n name={this.name}\n checked={this.checked}\n disabled={this.disabled}\n onChange={this.handleChange}\n onBlur={this.handleBlur}\n />\n <span class=\"mrd-boolean-field__toggle\" aria-hidden=\"true\"></span>\n {this.label && (\n <span class={`mrd-boolean-field__text${this.required ? ' mrd-boolean-field__text--required' : ''}`}>\n {this.label}\n </span>\n )}\n </label>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,67 @@
1
+ import { r as registerInstance, a as createEvent, h, d as Host } from './index-B_tPFIvS.js';
2
+ import { t } from './i18n-hoGGKbKU.js';
3
+ import { v as validateRequired } from './validation-ixb43cqU.js';
4
+ import { p as parseLocalizedNumber } from './format-BAfsQfy1.js';
5
+ import './index-I5SuYv7a.js';
6
+ import './client-layout-D88nn5zf.js';
7
+
8
+ const mrdCurrencyFieldScss = () => `.sc-mrd-currency-field-h{display:block}.mrd-currency-field.sc-mrd-currency-field{display:flex;flex-direction:column;gap:var(--mrd-space-1);width:100%}.mrd-currency-field__label.sc-mrd-currency-field{display:block;font-family:var(--mrd-font-family);font-size:var(--mrd-label-font-size);font-weight:var(--mrd-label-font-weight);color:var(--mrd-label-color)}.mrd-currency-field__label--required.sc-mrd-currency-field::after{content:' *';color:var(--mrd-color-danger)}.mrd-currency-field__row.sc-mrd-currency-field{display:flex;gap:var(--mrd-space-2);align-items:stretch}.mrd-currency-field__amount.sc-mrd-currency-field{flex:1;height:var(--mrd-input-height);padding:var(--mrd-input-padding-y) var(--mrd-input-padding-x);font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-base);color:var(--mrd-input-color);background-color:var(--mrd-input-bg);border:var(--mrd-border-width) solid var(--mrd-border-color);border-radius:var(--mrd-border-radius);transition:border-color var(--mrd-transition), box-shadow var(--mrd-transition);outline:none;appearance:none;text-align:right;box-sizing:border-box}.mrd-currency-field__amount.sc-mrd-currency-field:focus{border-color:var(--mrd-border-color-focus);box-shadow:var(--mrd-shadow-focus)}.mrd-currency-field__amount.sc-mrd-currency-field:disabled{background-color:var(--mrd-input-bg-disabled);cursor:not-allowed;opacity:0.7}.mrd-currency-field__amount--error.sc-mrd-currency-field{border-color:var(--mrd-border-color-error)}.mrd-currency-field__amount--error.sc-mrd-currency-field:focus{box-shadow:var(--mrd-shadow-focus-error)}.mrd-currency-field__currency.sc-mrd-currency-field{width:90px;height:var(--mrd-input-height);padding:var(--mrd-input-padding-y) var(--mrd-space-2);font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-sm);font-weight:var(--mrd-font-weight-medium);color:var(--mrd-input-color);background-color:var(--mrd-color-neutral-50);border:var(--mrd-border-width) solid var(--mrd-border-color);border-radius:var(--mrd-border-radius);outline:none;cursor:pointer;box-sizing:border-box;appearance:none;text-align:center}.mrd-currency-field__currency.sc-mrd-currency-field:focus{border-color:var(--mrd-border-color-focus);box-shadow:var(--mrd-shadow-focus)}.mrd-currency-field__currency.sc-mrd-currency-field:disabled{background-color:var(--mrd-input-bg-disabled);cursor:not-allowed;opacity:0.7}.mrd-currency-field__error.sc-mrd-currency-field{font-family:var(--mrd-font-family);font-size:var(--mrd-error-font-size);color:var(--mrd-error-color)}`;
9
+
10
+ const COMMON_CURRENCIES = [
11
+ 'EUR', 'USD', 'GBP', 'CHF', 'JPY', 'CNY', 'AUD', 'CAD',
12
+ 'SEK', 'NOK', 'DKK', 'NZD', 'SGD', 'HKD', 'PLN', 'CZK',
13
+ 'HUF', 'MXN', 'BRL', 'INR', 'TRY', 'ZAR', 'AED', 'SAR',
14
+ ];
15
+ const MrdCurrencyField = class {
16
+ constructor(hostRef) {
17
+ registerInstance(this, hostRef);
18
+ this.mrdChange = createEvent(this, "mrdChange", 7);
19
+ this.mrdBlur = createEvent(this, "mrdBlur", 7);
20
+ this.name = '';
21
+ this.label = '';
22
+ this.value = { amount: null, currency: 'EUR' };
23
+ this.required = false;
24
+ this.disabled = false;
25
+ this.locale = navigator.language;
26
+ this.amountDisplay = '';
27
+ this.currency = 'EUR';
28
+ this.error = '';
29
+ this.handleAmountInput = (e) => {
30
+ this.amountDisplay = e.target.value;
31
+ };
32
+ this.handleAmountBlur = (e) => {
33
+ const raw = e.target.value;
34
+ const parsed = parseLocalizedNumber(raw, this.locale);
35
+ if (this.required && !validateRequired(raw)) {
36
+ this.error = t('required', this.locale);
37
+ }
38
+ else {
39
+ this.error = '';
40
+ }
41
+ const val = { amount: parsed, currency: this.currency };
42
+ this.mrdChange.emit({ name: this.name, value: val });
43
+ this.mrdBlur.emit({ name: this.name, value: val });
44
+ };
45
+ this.handleCurrencyChange = (e) => {
46
+ this.currency = e.target.value;
47
+ const parsed = parseLocalizedNumber(this.amountDisplay, this.locale);
48
+ this.mrdChange.emit({ name: this.name, value: { amount: parsed, currency: this.currency } });
49
+ };
50
+ }
51
+ componentWillLoad() {
52
+ if (this.value) {
53
+ this.currency = this.value.currency || 'EUR';
54
+ this.amountDisplay = this.value.amount !== null ? String(this.value.amount) : '';
55
+ }
56
+ }
57
+ render() {
58
+ const hasError = !!this.error;
59
+ return (h(Host, { key: 'd3450e9c26b1a755d3e6a5a3561d93b2ac566a28' }, h("div", { key: 'b66942cc1953daff728504deef8a9cc1330ef549', class: "mrd-currency-field" }, this.label && (h("label", { key: '3d3f2f06e9ffea944552f0f7cf3150d0246c54f0', class: `mrd-currency-field__label${this.required ? ' mrd-currency-field__label--required' : ''}` }, this.label)), h("div", { key: 'd30a2adfceefdbefef2d4fe6633a163a753b15d0', class: "mrd-currency-field__row" }, h("input", { key: '9af09b19b6cbe24498d6ca8edf7b28f675afdec5', class: `mrd-currency-field__amount${hasError ? ' mrd-currency-field__amount--error' : ''}`, type: "text", inputMode: "decimal", name: `${this.name}_amount`, value: this.amountDisplay, placeholder: "0.00", required: this.required, disabled: this.disabled, onInput: this.handleAmountInput, onBlur: this.handleAmountBlur }), h("select", { key: '21e55b04b7bf16586b5cfaa82d77db45c6dedf21', class: "mrd-currency-field__currency", disabled: this.disabled, onChange: this.handleCurrencyChange }, COMMON_CURRENCIES.map(c => (h("option", { key: c, value: c, selected: c === this.currency }, c))))), hasError && h("span", { key: '7a0006d4230557cf9c58f82f21de73b5d12f7e17', class: "mrd-currency-field__error" }, this.error))));
60
+ }
61
+ };
62
+ MrdCurrencyField.style = mrdCurrencyFieldScss();
63
+
64
+ export { MrdCurrencyField as mrd_currency_field };
65
+ //# sourceMappingURL=mrd-currency-field.entry.esm.js.map
66
+
67
+ //# sourceMappingURL=mrd-currency-field.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"mrd-currency-field.entry.js","mappings":"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","names":[],"sources":["src/components/mrd-currency-field/mrd-currency-field.scss?tag=mrd-currency-field&encapsulation=scoped","src/components/mrd-currency-field/mrd-currency-field.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.mrd-currency-field {\n display: flex;\n flex-direction: column;\n gap: var(--mrd-space-1);\n width: 100%;\n}\n\n.mrd-currency-field__label {\n display: block;\n font-family: var(--mrd-font-family);\n font-size: var(--mrd-label-font-size);\n font-weight: var(--mrd-label-font-weight);\n color: var(--mrd-label-color);\n}\n\n.mrd-currency-field__label--required::after {\n content: ' *';\n color: var(--mrd-color-danger);\n}\n\n.mrd-currency-field__row {\n display: flex;\n gap: var(--mrd-space-2);\n align-items: stretch;\n}\n\n.mrd-currency-field__amount {\n flex: 1;\n height: var(--mrd-input-height);\n padding: var(--mrd-input-padding-y) var(--mrd-input-padding-x);\n font-family: var(--mrd-font-family);\n font-size: var(--mrd-font-size-base);\n color: var(--mrd-input-color);\n background-color: var(--mrd-input-bg);\n border: var(--mrd-border-width) solid var(--mrd-border-color);\n border-radius: var(--mrd-border-radius);\n transition: border-color var(--mrd-transition), box-shadow var(--mrd-transition);\n outline: none;\n appearance: none;\n text-align: right;\n box-sizing: border-box;\n}\n\n.mrd-currency-field__amount:focus {\n border-color: var(--mrd-border-color-focus);\n box-shadow: var(--mrd-shadow-focus);\n}\n\n.mrd-currency-field__amount:disabled {\n background-color: var(--mrd-input-bg-disabled);\n cursor: not-allowed;\n opacity: 0.7;\n}\n\n.mrd-currency-field__amount--error {\n border-color: var(--mrd-border-color-error);\n}\n\n.mrd-currency-field__amount--error:focus {\n box-shadow: var(--mrd-shadow-focus-error);\n}\n\n.mrd-currency-field__currency {\n width: 90px;\n height: var(--mrd-input-height);\n padding: var(--mrd-input-padding-y) var(--mrd-space-2);\n font-family: var(--mrd-font-family);\n font-size: var(--mrd-font-size-sm);\n font-weight: var(--mrd-font-weight-medium);\n color: var(--mrd-input-color);\n background-color: var(--mrd-color-neutral-50);\n border: var(--mrd-border-width) solid var(--mrd-border-color);\n border-radius: var(--mrd-border-radius);\n outline: none;\n cursor: pointer;\n box-sizing: border-box;\n appearance: none;\n text-align: center;\n}\n\n.mrd-currency-field__currency:focus {\n border-color: var(--mrd-border-color-focus);\n box-shadow: var(--mrd-shadow-focus);\n}\n\n.mrd-currency-field__currency:disabled {\n background-color: var(--mrd-input-bg-disabled);\n cursor: not-allowed;\n opacity: 0.7;\n}\n\n.mrd-currency-field__error {\n font-family: var(--mrd-font-family);\n font-size: var(--mrd-error-font-size);\n color: var(--mrd-error-color);\n}\n","import { Component, Host, h, Prop, State, Event, EventEmitter } from '@stencil/core';\nimport { t } from '../../utils/i18n';\nimport { validateRequired } from '../../utils/validation';\nimport { parseLocalizedNumber } from '../../utils/format';\nimport { CurrencyValue } from '../../types';\n\nconst COMMON_CURRENCIES = [\n 'EUR', 'USD', 'GBP', 'CHF', 'JPY', 'CNY', 'AUD', 'CAD',\n 'SEK', 'NOK', 'DKK', 'NZD', 'SGD', 'HKD', 'PLN', 'CZK',\n 'HUF', 'MXN', 'BRL', 'INR', 'TRY', 'ZAR', 'AED', 'SAR',\n];\n\n@Component({\n tag: 'mrd-currency-field',\n styleUrl: 'mrd-currency-field.scss',\n scoped: true,\n})\nexport class MrdCurrencyField {\n @Prop() name: string = '';\n @Prop() label: string = '';\n @Prop() value: CurrencyValue = { amount: null, currency: 'EUR' };\n @Prop() required: boolean = false;\n @Prop() disabled: boolean = false;\n @Prop() locale: string = navigator.language;\n\n @State() amountDisplay: string = '';\n @State() currency: string = 'EUR';\n @State() error: string = '';\n\n @Event() mrdChange!: EventEmitter<{ name: string; value: CurrencyValue }>;\n @Event() mrdBlur!: EventEmitter<{ name: string; value: CurrencyValue }>;\n\n componentWillLoad() {\n if (this.value) {\n this.currency = this.value.currency || 'EUR';\n this.amountDisplay = this.value.amount !== null ? String(this.value.amount) : '';\n }\n }\n\n private handleAmountInput = (e: Event) => {\n this.amountDisplay = (e.target as HTMLInputElement).value;\n };\n\n private handleAmountBlur = (e: Event) => {\n const raw = (e.target as HTMLInputElement).value;\n const parsed = parseLocalizedNumber(raw, this.locale);\n\n if (this.required && !validateRequired(raw)) {\n this.error = t('required', this.locale);\n } else {\n this.error = '';\n }\n\n const val: CurrencyValue = { amount: parsed, currency: this.currency };\n this.mrdChange.emit({ name: this.name, value: val });\n this.mrdBlur.emit({ name: this.name, value: val });\n };\n\n private handleCurrencyChange = (e: Event) => {\n this.currency = (e.target as HTMLSelectElement).value;\n const parsed = parseLocalizedNumber(this.amountDisplay, this.locale);\n this.mrdChange.emit({ name: this.name, value: { amount: parsed, currency: this.currency } });\n };\n\n render() {\n const hasError = !!this.error;\n return (\n <Host>\n <div class=\"mrd-currency-field\">\n {this.label && (\n <label class={`mrd-currency-field__label${this.required ? ' mrd-currency-field__label--required' : ''}`}>\n {this.label}\n </label>\n )}\n <div class=\"mrd-currency-field__row\">\n <input\n class={`mrd-currency-field__amount${hasError ? ' mrd-currency-field__amount--error' : ''}`}\n type=\"text\"\n inputMode=\"decimal\"\n name={`${this.name}_amount`}\n value={this.amountDisplay}\n placeholder=\"0.00\"\n required={this.required}\n disabled={this.disabled}\n onInput={this.handleAmountInput}\n onBlur={this.handleAmountBlur}\n />\n <select\n class=\"mrd-currency-field__currency\"\n disabled={this.disabled}\n onChange={this.handleCurrencyChange}\n >\n {COMMON_CURRENCIES.map(c => (\n <option key={c} value={c} selected={c === this.currency}>\n {c}\n </option>\n ))}\n </select>\n </div>\n {hasError && <span class=\"mrd-currency-field__error\">{this.error}</span>}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,46 @@
1
+ import { r as registerInstance, a as createEvent, h, d as Host } from './index-B_tPFIvS.js';
2
+ import { t } from './i18n-hoGGKbKU.js';
3
+ import { v as validateRequired } from './validation-ixb43cqU.js';
4
+ import './index-I5SuYv7a.js';
5
+ import './client-layout-D88nn5zf.js';
6
+
7
+ const mrdDateFieldScss = () => `.sc-mrd-date-field-h{display:block}.mrd-date-field.sc-mrd-date-field{display:flex;flex-direction:column;gap:var(--mrd-space-1);width:100%}.mrd-date-field__label.sc-mrd-date-field{display:block;font-family:var(--mrd-font-family);font-size:var(--mrd-label-font-size);font-weight:var(--mrd-label-font-weight);color:var(--mrd-label-color)}.mrd-date-field__label--required.sc-mrd-date-field::after{content:' *';color:var(--mrd-color-danger)}.mrd-date-field__input.sc-mrd-date-field{display:block;width:100%;height:var(--mrd-input-height);padding:var(--mrd-input-padding-y) var(--mrd-input-padding-x);font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-base);color:var(--mrd-input-color);background-color:var(--mrd-input-bg);border:var(--mrd-border-width) solid var(--mrd-border-color);border-radius:var(--mrd-border-radius);transition:border-color var(--mrd-transition), box-shadow var(--mrd-transition);outline:none;appearance:none;box-sizing:border-box;cursor:pointer}.mrd-date-field__input.sc-mrd-date-field:focus{border-color:var(--mrd-border-color-focus);box-shadow:var(--mrd-shadow-focus)}.mrd-date-field__input.sc-mrd-date-field:disabled{background-color:var(--mrd-input-bg-disabled);cursor:not-allowed;opacity:0.7}.mrd-date-field__input--error.sc-mrd-date-field{border-color:var(--mrd-border-color-error)}.mrd-date-field__input--error.sc-mrd-date-field:focus{box-shadow:var(--mrd-shadow-focus-error)}.mrd-date-field__error.sc-mrd-date-field{font-family:var(--mrd-font-family);font-size:var(--mrd-error-font-size);color:var(--mrd-error-color)}`;
8
+
9
+ const MrdDateField = class {
10
+ constructor(hostRef) {
11
+ registerInstance(this, hostRef);
12
+ this.mrdChange = createEvent(this, "mrdChange", 7);
13
+ this.mrdBlur = createEvent(this, "mrdBlur", 7);
14
+ this.name = '';
15
+ this.label = '';
16
+ this.value = '';
17
+ this.required = false;
18
+ this.disabled = false;
19
+ this.locale = navigator.language;
20
+ this.error = '';
21
+ this.handleChange = (e) => {
22
+ const val = e.target.value;
23
+ if (this.required && !validateRequired(val)) {
24
+ this.error = t('required', this.locale);
25
+ }
26
+ else {
27
+ this.error = '';
28
+ }
29
+ this.mrdChange.emit({ name: this.name, value: val });
30
+ };
31
+ this.handleBlur = (e) => {
32
+ const val = e.target.value;
33
+ this.mrdBlur.emit({ name: this.name, value: val });
34
+ };
35
+ }
36
+ render() {
37
+ const hasError = !!this.error;
38
+ return (h(Host, { key: '84c777fc68a95e0b1ceb08d61e3af7afa199ce94' }, h("div", { key: '6653d94ab79c74342ce792792547018e4464a814', class: "mrd-date-field" }, this.label && (h("label", { key: '2fa7b7ec50c784f9410ca48b93d50e39dc6e0bee', class: `mrd-date-field__label${this.required ? ' mrd-date-field__label--required' : ''}` }, this.label)), h("input", { key: 'f79ebbaf0e28ad7668a5400d1df514b66457b72d', class: `mrd-date-field__input${hasError ? ' mrd-date-field__input--error' : ''}`, type: "date", name: this.name, value: this.value, required: this.required, disabled: this.disabled, onChange: this.handleChange, onBlur: this.handleBlur }), hasError && h("span", { key: 'e52f0b720d76e8ba0586fb40395b6875860762db', class: "mrd-date-field__error" }, this.error))));
39
+ }
40
+ };
41
+ MrdDateField.style = mrdDateFieldScss();
42
+
43
+ export { MrdDateField as mrd_date_field };
44
+ //# sourceMappingURL=mrd-date-field.entry.esm.js.map
45
+
46
+ //# sourceMappingURL=mrd-date-field.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"mrd-date-field.entry.js","mappings":";;;;;;AAAA,MAAM,gBAAgB,GAAG,MAAM,CAAC,shDAAshD,CAAC;;MCS1iD,YAAY,GAAA,MAAA;AALzB,IAAA,WAAA,CAAA,OAAA,EAAA;;;;AAMU,QAAA,IAAA,CAAA,IAAI,GAAW,EAAE;AACjB,QAAA,IAAA,CAAA,KAAK,GAAW,EAAE;AAClB,QAAA,IAAA,CAAA,KAAK,GAAW,EAAE;AAClB,QAAA,IAAA,CAAA,QAAQ,GAAY,KAAK;AACzB,QAAA,IAAA,CAAA,QAAQ,GAAY,KAAK;AACzB,QAAA,IAAA,CAAA,MAAM,GAAW,SAAS,CAAC,QAAQ;AAElC,QAAA,IAAA,CAAA,KAAK,GAAW,EAAE;AAKnB,QAAA,IAAA,CAAA,YAAY,GAAG,CAAC,CAAQ,KAAI;AAClC,YAAA,MAAM,GAAG,GAAI,CAAC,CAAC,MAA2B,CAAC,KAAK;YAChD,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE;gBAC3C,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;;iBAClC;AACL,gBAAA,IAAI,CAAC,KAAK,GAAG,EAAE;;AAEjB,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AACtD,SAAC;AAEO,QAAA,IAAA,CAAA,UAAU,GAAG,CAAC,CAAQ,KAAI;AAChC,YAAA,MAAM,GAAG,GAAI,CAAC,CAAC,MAA2B,CAAC,KAAK;AAChD,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AACpD,SAAC;AA2BF;IAzBC,MAAM,GAAA;AACJ,QAAA,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK;AAC7B,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,gBAAgB,EAAA,EACxB,IAAI,CAAC,KAAK,KACT,CAAA,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAO,KAAK,EAAE,CAAA,qBAAA,EAAwB,IAAI,CAAC,QAAQ,GAAG,kCAAkC,GAAG,EAAE,CAAA,CAAE,EAAA,EAC5F,IAAI,CAAC,KAAK,CACL,CACT,EACD,CAAA,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAE,CAAA,qBAAA,EAAwB,QAAQ,GAAG,+BAA+B,GAAG,EAAE,CAAA,CAAE,EAChF,IAAI,EAAC,MAAM,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,MAAM,EAAE,IAAI,CAAC,UAAU,EAAA,CACvB,EACD,QAAQ,IAAI,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,KAAK,EAAC,uBAAuB,EAAA,EAAE,IAAI,CAAC,KAAK,CAAQ,CAChE,CACD;;;;;;;","names":[],"sources":["src/components/mrd-date-field/mrd-date-field.scss?tag=mrd-date-field&encapsulation=scoped","src/components/mrd-date-field/mrd-date-field.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.mrd-date-field {\n display: flex;\n flex-direction: column;\n gap: var(--mrd-space-1);\n width: 100%;\n}\n\n.mrd-date-field__label {\n display: block;\n font-family: var(--mrd-font-family);\n font-size: var(--mrd-label-font-size);\n font-weight: var(--mrd-label-font-weight);\n color: var(--mrd-label-color);\n}\n\n.mrd-date-field__label--required::after {\n content: ' *';\n color: var(--mrd-color-danger);\n}\n\n.mrd-date-field__input {\n display: block;\n width: 100%;\n height: var(--mrd-input-height);\n padding: var(--mrd-input-padding-y) var(--mrd-input-padding-x);\n font-family: var(--mrd-font-family);\n font-size: var(--mrd-font-size-base);\n color: var(--mrd-input-color);\n background-color: var(--mrd-input-bg);\n border: var(--mrd-border-width) solid var(--mrd-border-color);\n border-radius: var(--mrd-border-radius);\n transition: border-color var(--mrd-transition), box-shadow var(--mrd-transition);\n outline: none;\n appearance: none;\n box-sizing: border-box;\n cursor: pointer;\n}\n\n.mrd-date-field__input:focus {\n border-color: var(--mrd-border-color-focus);\n box-shadow: var(--mrd-shadow-focus);\n}\n\n.mrd-date-field__input:disabled {\n background-color: var(--mrd-input-bg-disabled);\n cursor: not-allowed;\n opacity: 0.7;\n}\n\n.mrd-date-field__input--error {\n border-color: var(--mrd-border-color-error);\n}\n\n.mrd-date-field__input--error:focus {\n box-shadow: var(--mrd-shadow-focus-error);\n}\n\n.mrd-date-field__error {\n font-family: var(--mrd-font-family);\n font-size: var(--mrd-error-font-size);\n color: var(--mrd-error-color);\n}\n","import { Component, Host, h, Prop, State, Event, EventEmitter } from '@stencil/core';\nimport { t } from '../../utils/i18n';\nimport { validateRequired } from '../../utils/validation';\n\n@Component({\n tag: 'mrd-date-field',\n styleUrl: 'mrd-date-field.scss',\n scoped: true,\n})\nexport class MrdDateField {\n @Prop() name: string = '';\n @Prop() label: string = '';\n @Prop() value: string = '';\n @Prop() required: boolean = false;\n @Prop() disabled: boolean = false;\n @Prop() locale: string = navigator.language;\n\n @State() error: string = '';\n\n @Event() mrdChange!: EventEmitter<{ name: string; value: string }>;\n @Event() mrdBlur!: EventEmitter<{ name: string; value: string }>;\n\n private handleChange = (e: Event) => {\n const val = (e.target as HTMLInputElement).value;\n if (this.required && !validateRequired(val)) {\n this.error = t('required', this.locale);\n } else {\n this.error = '';\n }\n this.mrdChange.emit({ name: this.name, value: val });\n };\n\n private handleBlur = (e: Event) => {\n const val = (e.target as HTMLInputElement).value;\n this.mrdBlur.emit({ name: this.name, value: val });\n };\n\n render() {\n const hasError = !!this.error;\n return (\n <Host>\n <div class=\"mrd-date-field\">\n {this.label && (\n <label class={`mrd-date-field__label${this.required ? ' mrd-date-field__label--required' : ''}`}>\n {this.label}\n </label>\n )}\n <input\n class={`mrd-date-field__input${hasError ? ' mrd-date-field__input--error' : ''}`}\n type=\"date\"\n name={this.name}\n value={this.value}\n required={this.required}\n disabled={this.disabled}\n onChange={this.handleChange}\n onBlur={this.handleBlur}\n />\n {hasError && <span class=\"mrd-date-field__error\">{this.error}</span>}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,78 @@
1
+ import { r as registerInstance, a as createEvent, h, d as Host } from './index-B_tPFIvS.js';
2
+ import { t } from './i18n-hoGGKbKU.js';
3
+ import { v as validateRequired } from './validation-ixb43cqU.js';
4
+ import './index-I5SuYv7a.js';
5
+ import './client-layout-D88nn5zf.js';
6
+
7
+ const mrdDatetimeFieldScss = () => `.sc-mrd-datetime-field-h{display:block}.mrd-datetime-field.sc-mrd-datetime-field{display:flex;flex-direction:column;gap:var(--mrd-space-1);width:100%}.mrd-datetime-field__label.sc-mrd-datetime-field{display:block;font-family:var(--mrd-font-family);font-size:var(--mrd-label-font-size);font-weight:var(--mrd-label-font-weight);color:var(--mrd-label-color)}.mrd-datetime-field__label--required.sc-mrd-datetime-field::after{content:' *';color:var(--mrd-color-danger)}.mrd-datetime-field__input.sc-mrd-datetime-field{display:block;width:100%;height:var(--mrd-input-height);padding:var(--mrd-input-padding-y) var(--mrd-input-padding-x);font-family:var(--mrd-font-family);font-size:var(--mrd-font-size-base);color:var(--mrd-input-color);background-color:var(--mrd-input-bg);border:var(--mrd-border-width) solid var(--mrd-border-color);border-radius:var(--mrd-border-radius);transition:border-color var(--mrd-transition), box-shadow var(--mrd-transition);outline:none;appearance:none;box-sizing:border-box;cursor:pointer}.mrd-datetime-field__input.sc-mrd-datetime-field:focus{border-color:var(--mrd-border-color-focus);box-shadow:var(--mrd-shadow-focus)}.mrd-datetime-field__input.sc-mrd-datetime-field:disabled{background-color:var(--mrd-input-bg-disabled);cursor:not-allowed;opacity:0.7}.mrd-datetime-field__input--error.sc-mrd-datetime-field{border-color:var(--mrd-border-color-error)}.mrd-datetime-field__input--error.sc-mrd-datetime-field:focus{box-shadow:var(--mrd-shadow-focus-error)}.mrd-datetime-field__error.sc-mrd-datetime-field{font-family:var(--mrd-font-family);font-size:var(--mrd-error-font-size);color:var(--mrd-error-color)}`;
8
+
9
+ const MrdDatetimeField = class {
10
+ constructor(hostRef) {
11
+ registerInstance(this, hostRef);
12
+ this.mrdChange = createEvent(this, "mrdChange", 7);
13
+ this.mrdBlur = createEvent(this, "mrdBlur", 7);
14
+ this.name = '';
15
+ this.label = '';
16
+ this.value = '';
17
+ this.required = false;
18
+ this.disabled = false;
19
+ this.locale = navigator.language;
20
+ this.error = '';
21
+ this.localValue = '';
22
+ this.handleChange = (e) => {
23
+ const localVal = e.target.value;
24
+ this.localValue = localVal;
25
+ if (this.required && !validateRequired(localVal)) {
26
+ this.error = t('required', this.locale);
27
+ }
28
+ else {
29
+ this.error = '';
30
+ }
31
+ this.mrdChange.emit({ name: this.name, value: this.localToUtc(localVal) });
32
+ };
33
+ this.handleBlur = (e) => {
34
+ const localVal = e.target.value;
35
+ this.mrdBlur.emit({ name: this.name, value: this.localToUtc(localVal) });
36
+ };
37
+ }
38
+ componentWillLoad() {
39
+ this.localValue = this.utcToLocal(this.value);
40
+ }
41
+ valueChanged(newVal) {
42
+ this.localValue = this.utcToLocal(newVal);
43
+ }
44
+ // UTC ISO string → "YYYY-MM-DDTHH:mm" in local timezone (for datetime-local input)
45
+ utcToLocal(utcStr) {
46
+ if (!utcStr)
47
+ return '';
48
+ const d = new Date(utcStr);
49
+ if (isNaN(d.getTime()))
50
+ return '';
51
+ const pad = (n) => String(n).padStart(2, '0');
52
+ return `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())}T${pad(d.getHours())}:${pad(d.getMinutes())}`;
53
+ }
54
+ // "YYYY-MM-DDTHH:mm" local time → UTC ISO string (for API)
55
+ localToUtc(localStr) {
56
+ if (!localStr)
57
+ return '';
58
+ const d = new Date(localStr);
59
+ if (isNaN(d.getTime()))
60
+ return '';
61
+ return d.toISOString().replace(/\.\d{3}Z$/, 'Z');
62
+ }
63
+ render() {
64
+ const hasError = !!this.error;
65
+ return (h(Host, { key: '6052b08238484bee345ae4bb9b3025c7f2474c35' }, h("div", { key: 'f9073be4496e35a7d40405ae4e6a27a5c1607626', class: "mrd-datetime-field" }, this.label && (h("label", { key: '5933c3b2dfcae9bfad378441210ada6b625657a2', class: `mrd-datetime-field__label${this.required ? ' mrd-datetime-field__label--required' : ''}` }, this.label)), h("input", { key: '7a947b104c38960d2326a4877e4ca52db9fd9d84', class: `mrd-datetime-field__input${hasError ? ' mrd-datetime-field__input--error' : ''}`, type: "datetime-local", name: this.name, value: this.localValue, required: this.required, disabled: this.disabled, onChange: this.handleChange, onBlur: this.handleBlur }), hasError && h("span", { key: 'cea3dba7e14e18a3a08394ef3027b661f1808969', class: "mrd-datetime-field__error" }, this.error))));
66
+ }
67
+ static get watchers() { return {
68
+ "value": [{
69
+ "valueChanged": 0
70
+ }]
71
+ }; }
72
+ };
73
+ MrdDatetimeField.style = mrdDatetimeFieldScss();
74
+
75
+ export { MrdDatetimeField as mrd_datetime_field };
76
+ //# sourceMappingURL=mrd-datetime-field.entry.esm.js.map
77
+
78
+ //# sourceMappingURL=mrd-datetime-field.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"mrd-datetime-field.entry.js","mappings":"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","names":[],"sources":["src/components/mrd-datetime-field/mrd-datetime-field.scss?tag=mrd-datetime-field&encapsulation=scoped","src/components/mrd-datetime-field/mrd-datetime-field.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.mrd-datetime-field {\n display: flex;\n flex-direction: column;\n gap: var(--mrd-space-1);\n width: 100%;\n}\n\n.mrd-datetime-field__label {\n display: block;\n font-family: var(--mrd-font-family);\n font-size: var(--mrd-label-font-size);\n font-weight: var(--mrd-label-font-weight);\n color: var(--mrd-label-color);\n}\n\n.mrd-datetime-field__label--required::after {\n content: ' *';\n color: var(--mrd-color-danger);\n}\n\n.mrd-datetime-field__input {\n display: block;\n width: 100%;\n height: var(--mrd-input-height);\n padding: var(--mrd-input-padding-y) var(--mrd-input-padding-x);\n font-family: var(--mrd-font-family);\n font-size: var(--mrd-font-size-base);\n color: var(--mrd-input-color);\n background-color: var(--mrd-input-bg);\n border: var(--mrd-border-width) solid var(--mrd-border-color);\n border-radius: var(--mrd-border-radius);\n transition: border-color var(--mrd-transition), box-shadow var(--mrd-transition);\n outline: none;\n appearance: none;\n box-sizing: border-box;\n cursor: pointer;\n}\n\n.mrd-datetime-field__input:focus {\n border-color: var(--mrd-border-color-focus);\n box-shadow: var(--mrd-shadow-focus);\n}\n\n.mrd-datetime-field__input:disabled {\n background-color: var(--mrd-input-bg-disabled);\n cursor: not-allowed;\n opacity: 0.7;\n}\n\n.mrd-datetime-field__input--error {\n border-color: var(--mrd-border-color-error);\n}\n\n.mrd-datetime-field__input--error:focus {\n box-shadow: var(--mrd-shadow-focus-error);\n}\n\n.mrd-datetime-field__error {\n font-family: var(--mrd-font-family);\n font-size: var(--mrd-error-font-size);\n color: var(--mrd-error-color);\n}\n","import { Component, Host, h, Prop, State, Event, EventEmitter, Watch } from '@stencil/core';\nimport { t } from '../../utils/i18n';\nimport { validateRequired } from '../../utils/validation';\n\n@Component({\n tag: 'mrd-datetime-field',\n styleUrl: 'mrd-datetime-field.scss',\n scoped: true,\n})\nexport class MrdDatetimeField {\n @Prop() name: string = '';\n @Prop() label: string = '';\n @Prop() value: string = '';\n @Prop() required: boolean = false;\n @Prop() disabled: boolean = false;\n @Prop() locale: string = navigator.language;\n\n @State() error: string = '';\n @State() localValue: string = '';\n\n @Event() mrdChange!: EventEmitter<{ name: string; value: string }>;\n @Event() mrdBlur!: EventEmitter<{ name: string; value: string }>;\n\n componentWillLoad() {\n this.localValue = this.utcToLocal(this.value);\n }\n\n @Watch('value')\n valueChanged(newVal: string) {\n this.localValue = this.utcToLocal(newVal);\n }\n\n // UTC ISO string → \"YYYY-MM-DDTHH:mm\" in local timezone (for datetime-local input)\n private utcToLocal(utcStr: string): string {\n if (!utcStr) return '';\n const d = new Date(utcStr);\n if (isNaN(d.getTime())) return '';\n const pad = (n: number) => String(n).padStart(2, '0');\n return `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())}T${pad(d.getHours())}:${pad(d.getMinutes())}`;\n }\n\n // \"YYYY-MM-DDTHH:mm\" local time → UTC ISO string (for API)\n private localToUtc(localStr: string): string {\n if (!localStr) return '';\n const d = new Date(localStr);\n if (isNaN(d.getTime())) return '';\n return d.toISOString().replace(/\\.\\d{3}Z$/, 'Z');\n }\n\n private handleChange = (e: Event) => {\n const localVal = (e.target as HTMLInputElement).value;\n this.localValue = localVal;\n if (this.required && !validateRequired(localVal)) {\n this.error = t('required', this.locale);\n } else {\n this.error = '';\n }\n this.mrdChange.emit({ name: this.name, value: this.localToUtc(localVal) });\n };\n\n private handleBlur = (e: Event) => {\n const localVal = (e.target as HTMLInputElement).value;\n this.mrdBlur.emit({ name: this.name, value: this.localToUtc(localVal) });\n };\n\n render() {\n const hasError = !!this.error;\n return (\n <Host>\n <div class=\"mrd-datetime-field\">\n {this.label && (\n <label class={`mrd-datetime-field__label${this.required ? ' mrd-datetime-field__label--required' : ''}`}>\n {this.label}\n </label>\n )}\n <input\n class={`mrd-datetime-field__input${hasError ? ' mrd-datetime-field__input--error' : ''}`}\n type=\"datetime-local\"\n name={this.name}\n value={this.localValue}\n required={this.required}\n disabled={this.disabled}\n onChange={this.handleChange}\n onBlur={this.handleBlur}\n />\n {hasError && <span class=\"mrd-datetime-field__error\">{this.error}</span>}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}