@mesgflow/ui-kit 0.6.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (227) hide show
  1. package/README.md +56 -5
  2. package/fesm2022/mesgflow-ui-kit-accordion.mjs +9 -8
  3. package/fesm2022/mesgflow-ui-kit-accordion.mjs.map +1 -1
  4. package/fesm2022/mesgflow-ui-kit-agenda.mjs +208 -0
  5. package/fesm2022/mesgflow-ui-kit-agenda.mjs.map +1 -0
  6. package/fesm2022/mesgflow-ui-kit-alert.mjs +3 -3
  7. package/fesm2022/mesgflow-ui-kit-aspect-ratio.mjs +37 -0
  8. package/fesm2022/mesgflow-ui-kit-aspect-ratio.mjs.map +1 -0
  9. package/fesm2022/mesgflow-ui-kit-avatar-group.mjs +3 -3
  10. package/fesm2022/mesgflow-ui-kit-avatar.mjs +3 -3
  11. package/fesm2022/mesgflow-ui-kit-badge.mjs +3 -3
  12. package/fesm2022/mesgflow-ui-kit-banner.mjs +3 -3
  13. package/fesm2022/mesgflow-ui-kit-blocks.mjs +207 -0
  14. package/fesm2022/mesgflow-ui-kit-blocks.mjs.map +1 -0
  15. package/fesm2022/mesgflow-ui-kit-box-input.mjs +4 -4
  16. package/fesm2022/mesgflow-ui-kit-box-input.mjs.map +1 -1
  17. package/fesm2022/mesgflow-ui-kit-brand.mjs +3 -3
  18. package/fesm2022/mesgflow-ui-kit-breadcrumb.mjs +3 -3
  19. package/fesm2022/mesgflow-ui-kit-button-group.mjs +3 -3
  20. package/fesm2022/mesgflow-ui-kit-button.mjs +190 -244
  21. package/fesm2022/mesgflow-ui-kit-button.mjs.map +1 -1
  22. package/fesm2022/mesgflow-ui-kit-card.mjs +48 -27
  23. package/fesm2022/mesgflow-ui-kit-card.mjs.map +1 -1
  24. package/fesm2022/mesgflow-ui-kit-carousel.mjs +308 -0
  25. package/fesm2022/mesgflow-ui-kit-carousel.mjs.map +1 -0
  26. package/fesm2022/mesgflow-ui-kit-chart.mjs +12 -12
  27. package/fesm2022/mesgflow-ui-kit-checkbox.mjs +18 -23
  28. package/fesm2022/mesgflow-ui-kit-checkbox.mjs.map +1 -1
  29. package/fesm2022/mesgflow-ui-kit-chip.mjs +5 -5
  30. package/fesm2022/mesgflow-ui-kit-chip.mjs.map +1 -1
  31. package/fesm2022/mesgflow-ui-kit-code-block.mjs +11 -7
  32. package/fesm2022/mesgflow-ui-kit-code-block.mjs.map +1 -1
  33. package/fesm2022/mesgflow-ui-kit-collapsible.mjs +9 -9
  34. package/fesm2022/mesgflow-ui-kit-color-picker.mjs +9 -7
  35. package/fesm2022/mesgflow-ui-kit-color-picker.mjs.map +1 -1
  36. package/fesm2022/mesgflow-ui-kit-combobox.mjs +147 -67
  37. package/fesm2022/mesgflow-ui-kit-combobox.mjs.map +1 -1
  38. package/fesm2022/mesgflow-ui-kit-command.mjs +15 -16
  39. package/fesm2022/mesgflow-ui-kit-command.mjs.map +1 -1
  40. package/fesm2022/mesgflow-ui-kit-context-menu.mjs +7 -9
  41. package/fesm2022/mesgflow-ui-kit-context-menu.mjs.map +1 -1
  42. package/fesm2022/mesgflow-ui-kit-copy-button.mjs +6 -6
  43. package/fesm2022/mesgflow-ui-kit-core.mjs +446 -128
  44. package/fesm2022/mesgflow-ui-kit-core.mjs.map +1 -1
  45. package/fesm2022/mesgflow-ui-kit-countdown.mjs +149 -0
  46. package/fesm2022/mesgflow-ui-kit-countdown.mjs.map +1 -0
  47. package/fesm2022/mesgflow-ui-kit-date-picker.mjs +140 -19
  48. package/fesm2022/mesgflow-ui-kit-date-picker.mjs.map +1 -1
  49. package/fesm2022/mesgflow-ui-kit-description-list.mjs +3 -3
  50. package/fesm2022/mesgflow-ui-kit-dialog.mjs +310 -64
  51. package/fesm2022/mesgflow-ui-kit-dialog.mjs.map +1 -1
  52. package/fesm2022/mesgflow-ui-kit-divider.mjs +3 -3
  53. package/fesm2022/mesgflow-ui-kit-drawer.mjs +109 -0
  54. package/fesm2022/mesgflow-ui-kit-drawer.mjs.map +1 -0
  55. package/fesm2022/mesgflow-ui-kit-dropzone.mjs +6 -6
  56. package/fesm2022/mesgflow-ui-kit-dropzone.mjs.map +1 -1
  57. package/fesm2022/mesgflow-ui-kit-empty-state.mjs +3 -3
  58. package/fesm2022/mesgflow-ui-kit-field.mjs +55 -14
  59. package/fesm2022/mesgflow-ui-kit-field.mjs.map +1 -1
  60. package/fesm2022/mesgflow-ui-kit-file-upload.mjs +356 -0
  61. package/fesm2022/mesgflow-ui-kit-file-upload.mjs.map +1 -0
  62. package/fesm2022/mesgflow-ui-kit-hover-card.mjs +6 -6
  63. package/fesm2022/mesgflow-ui-kit-i18n-tr.mjs +135 -0
  64. package/fesm2022/mesgflow-ui-kit-i18n-tr.mjs.map +1 -1
  65. package/fesm2022/mesgflow-ui-kit-icon.mjs +8 -3
  66. package/fesm2022/mesgflow-ui-kit-icon.mjs.map +1 -1
  67. package/fesm2022/mesgflow-ui-kit-icons-lucide.mjs +371 -0
  68. package/fesm2022/mesgflow-ui-kit-icons-lucide.mjs.map +1 -0
  69. package/fesm2022/mesgflow-ui-kit-inline-edit.mjs +279 -0
  70. package/fesm2022/mesgflow-ui-kit-inline-edit.mjs.map +1 -0
  71. package/fesm2022/mesgflow-ui-kit-input.mjs +162 -19
  72. package/fesm2022/mesgflow-ui-kit-input.mjs.map +1 -1
  73. package/fesm2022/mesgflow-ui-kit-kbd.mjs +3 -3
  74. package/fesm2022/mesgflow-ui-kit-lightbox.mjs +299 -0
  75. package/fesm2022/mesgflow-ui-kit-lightbox.mjs.map +1 -0
  76. package/fesm2022/mesgflow-ui-kit-link.mjs +5 -5
  77. package/fesm2022/mesgflow-ui-kit-link.mjs.map +1 -1
  78. package/fesm2022/mesgflow-ui-kit-listbox.mjs +151 -0
  79. package/fesm2022/mesgflow-ui-kit-listbox.mjs.map +1 -0
  80. package/fesm2022/mesgflow-ui-kit-mention.mjs +283 -0
  81. package/fesm2022/mesgflow-ui-kit-mention.mjs.map +1 -0
  82. package/fesm2022/mesgflow-ui-kit-menu.mjs +178 -14
  83. package/fesm2022/mesgflow-ui-kit-menu.mjs.map +1 -1
  84. package/fesm2022/mesgflow-ui-kit-nav-menu.mjs +276 -0
  85. package/fesm2022/mesgflow-ui-kit-nav-menu.mjs.map +1 -0
  86. package/fesm2022/mesgflow-ui-kit-notification-center.mjs +281 -0
  87. package/fesm2022/mesgflow-ui-kit-notification-center.mjs.map +1 -0
  88. package/fesm2022/mesgflow-ui-kit-number-input.mjs +9 -6
  89. package/fesm2022/mesgflow-ui-kit-number-input.mjs.map +1 -1
  90. package/fesm2022/mesgflow-ui-kit-otp-input.mjs +3 -3
  91. package/fesm2022/mesgflow-ui-kit-page-header.mjs +6 -6
  92. package/fesm2022/mesgflow-ui-kit-pagination.mjs +7 -6
  93. package/fesm2022/mesgflow-ui-kit-pagination.mjs.map +1 -1
  94. package/fesm2022/mesgflow-ui-kit-password-input.mjs +38 -68
  95. package/fesm2022/mesgflow-ui-kit-password-input.mjs.map +1 -1
  96. package/fesm2022/mesgflow-ui-kit-popover.mjs +12 -52
  97. package/fesm2022/mesgflow-ui-kit-popover.mjs.map +1 -1
  98. package/fesm2022/mesgflow-ui-kit-progress.mjs +164 -23
  99. package/fesm2022/mesgflow-ui-kit-progress.mjs.map +1 -1
  100. package/fesm2022/mesgflow-ui-kit-qr-code.mjs +766 -0
  101. package/fesm2022/mesgflow-ui-kit-qr-code.mjs.map +1 -0
  102. package/fesm2022/mesgflow-ui-kit-radio.mjs +10 -12
  103. package/fesm2022/mesgflow-ui-kit-radio.mjs.map +1 -1
  104. package/fesm2022/mesgflow-ui-kit-rating.mjs +4 -4
  105. package/fesm2022/mesgflow-ui-kit-rating.mjs.map +1 -1
  106. package/fesm2022/mesgflow-ui-kit-scroll-area.mjs +3 -3
  107. package/fesm2022/mesgflow-ui-kit-search-input.mjs +11 -7
  108. package/fesm2022/mesgflow-ui-kit-search-input.mjs.map +1 -1
  109. package/fesm2022/mesgflow-ui-kit-segmented-control.mjs +15 -11
  110. package/fesm2022/mesgflow-ui-kit-segmented-control.mjs.map +1 -1
  111. package/fesm2022/mesgflow-ui-kit-select.mjs +6 -5
  112. package/fesm2022/mesgflow-ui-kit-select.mjs.map +1 -1
  113. package/fesm2022/mesgflow-ui-kit-sidebar.mjs +24 -21
  114. package/fesm2022/mesgflow-ui-kit-sidebar.mjs.map +1 -1
  115. package/fesm2022/mesgflow-ui-kit-skeleton.mjs +6 -5
  116. package/fesm2022/mesgflow-ui-kit-skeleton.mjs.map +1 -1
  117. package/fesm2022/mesgflow-ui-kit-slider.mjs +253 -6
  118. package/fesm2022/mesgflow-ui-kit-slider.mjs.map +1 -1
  119. package/fesm2022/mesgflow-ui-kit-sortable.mjs +526 -0
  120. package/fesm2022/mesgflow-ui-kit-sortable.mjs.map +1 -0
  121. package/fesm2022/mesgflow-ui-kit-spinner.mjs +44 -15
  122. package/fesm2022/mesgflow-ui-kit-spinner.mjs.map +1 -1
  123. package/fesm2022/mesgflow-ui-kit-split-button.mjs +205 -0
  124. package/fesm2022/mesgflow-ui-kit-split-button.mjs.map +1 -0
  125. package/fesm2022/mesgflow-ui-kit-splitter.mjs +213 -6
  126. package/fesm2022/mesgflow-ui-kit-splitter.mjs.map +1 -1
  127. package/fesm2022/mesgflow-ui-kit-stat-tile.mjs +13 -6
  128. package/fesm2022/mesgflow-ui-kit-stat-tile.mjs.map +1 -1
  129. package/fesm2022/mesgflow-ui-kit-stepper.mjs +171 -64
  130. package/fesm2022/mesgflow-ui-kit-stepper.mjs.map +1 -1
  131. package/fesm2022/mesgflow-ui-kit-switch.mjs +4 -4
  132. package/fesm2022/mesgflow-ui-kit-switch.mjs.map +1 -1
  133. package/fesm2022/mesgflow-ui-kit-table.mjs +34 -28
  134. package/fesm2022/mesgflow-ui-kit-table.mjs.map +1 -1
  135. package/fesm2022/mesgflow-ui-kit-tabs.mjs +421 -180
  136. package/fesm2022/mesgflow-ui-kit-tabs.mjs.map +1 -1
  137. package/fesm2022/mesgflow-ui-kit-tag-input.mjs +9 -4
  138. package/fesm2022/mesgflow-ui-kit-tag-input.mjs.map +1 -1
  139. package/fesm2022/mesgflow-ui-kit-theme-switcher.mjs +3 -3
  140. package/fesm2022/mesgflow-ui-kit-theming.mjs +7 -7
  141. package/fesm2022/mesgflow-ui-kit-theming.mjs.map +1 -1
  142. package/fesm2022/mesgflow-ui-kit-time-picker.mjs +6 -6
  143. package/fesm2022/mesgflow-ui-kit-time-picker.mjs.map +1 -1
  144. package/fesm2022/mesgflow-ui-kit-timeline.mjs +3 -3
  145. package/fesm2022/mesgflow-ui-kit-toast.mjs +118 -35
  146. package/fesm2022/mesgflow-ui-kit-toast.mjs.map +1 -1
  147. package/fesm2022/mesgflow-ui-kit-toggle.mjs +12 -11
  148. package/fesm2022/mesgflow-ui-kit-toggle.mjs.map +1 -1
  149. package/fesm2022/mesgflow-ui-kit-toolbar.mjs +13 -11
  150. package/fesm2022/mesgflow-ui-kit-toolbar.mjs.map +1 -1
  151. package/fesm2022/mesgflow-ui-kit-tooltip.mjs +76 -53
  152. package/fesm2022/mesgflow-ui-kit-tooltip.mjs.map +1 -1
  153. package/fesm2022/mesgflow-ui-kit-tour.mjs +17 -29
  154. package/fesm2022/mesgflow-ui-kit-tour.mjs.map +1 -1
  155. package/fesm2022/mesgflow-ui-kit-transfer-list.mjs +288 -0
  156. package/fesm2022/mesgflow-ui-kit-transfer-list.mjs.map +1 -0
  157. package/fesm2022/mesgflow-ui-kit-tree-select.mjs +3 -3
  158. package/fesm2022/mesgflow-ui-kit-tree.mjs +4 -4
  159. package/fesm2022/mesgflow-ui-kit-tree.mjs.map +1 -1
  160. package/fesm2022/mesgflow-ui-kit-virtual-list.mjs +109 -0
  161. package/fesm2022/mesgflow-ui-kit-virtual-list.mjs.map +1 -0
  162. package/fesm2022/mesgflow-ui-kit.mjs +93 -12836
  163. package/fesm2022/mesgflow-ui-kit.mjs.map +1 -1
  164. package/package.json +91 -3
  165. package/schematics/collection.json +10 -0
  166. package/schematics/migration.json +10 -0
  167. package/schematics/migrations/v0-7.cjs +70 -0
  168. package/schematics/ng-add/index.cjs +234 -0
  169. package/schematics/ng-add/schema.json +43 -0
  170. package/tokens/color.css +96 -0
  171. package/tokens/controls.css +145 -0
  172. package/tokens/elevation.css +62 -6
  173. package/tokens/motion.css +304 -66
  174. package/tokens/radius.css +14 -0
  175. package/tokens.css +1 -0
  176. package/tokens.json +1583 -0
  177. package/types/mesgflow-ui-kit-agenda.d.ts +49 -0
  178. package/types/mesgflow-ui-kit-aspect-ratio.d.ts +18 -0
  179. package/types/mesgflow-ui-kit-blocks.d.ts +128 -0
  180. package/types/mesgflow-ui-kit-button.d.ts +23 -38
  181. package/types/mesgflow-ui-kit-card.d.ts +26 -16
  182. package/types/mesgflow-ui-kit-carousel.d.ts +51 -0
  183. package/types/mesgflow-ui-kit-checkbox.d.ts +8 -5
  184. package/types/mesgflow-ui-kit-code-block.d.ts +4 -1
  185. package/types/mesgflow-ui-kit-combobox.d.ts +47 -22
  186. package/types/mesgflow-ui-kit-command.d.ts +2 -2
  187. package/types/mesgflow-ui-kit-core.d.ts +279 -21
  188. package/types/mesgflow-ui-kit-countdown.d.ts +47 -0
  189. package/types/mesgflow-ui-kit-date-picker.d.ts +31 -1
  190. package/types/mesgflow-ui-kit-dialog.d.ts +122 -14
  191. package/types/mesgflow-ui-kit-drawer.d.ts +45 -0
  192. package/types/mesgflow-ui-kit-field.d.ts +17 -8
  193. package/types/mesgflow-ui-kit-file-upload.d.ts +64 -0
  194. package/types/mesgflow-ui-kit-hover-card.d.ts +2 -2
  195. package/types/mesgflow-ui-kit-icons-lucide.d.ts +27 -0
  196. package/types/mesgflow-ui-kit-inline-edit.d.ts +42 -0
  197. package/types/mesgflow-ui-kit-input.d.ts +64 -2
  198. package/types/mesgflow-ui-kit-lightbox.d.ts +54 -0
  199. package/types/mesgflow-ui-kit-listbox.d.ts +30 -0
  200. package/types/mesgflow-ui-kit-mention.d.ts +59 -0
  201. package/types/mesgflow-ui-kit-menu.d.ts +41 -2
  202. package/types/mesgflow-ui-kit-nav-menu.d.ts +58 -0
  203. package/types/mesgflow-ui-kit-notification-center.d.ts +41 -0
  204. package/types/mesgflow-ui-kit-number-input.d.ts +3 -1
  205. package/types/mesgflow-ui-kit-password-input.d.ts +35 -5
  206. package/types/mesgflow-ui-kit-popover.d.ts +13 -5
  207. package/types/mesgflow-ui-kit-progress.d.ts +33 -12
  208. package/types/mesgflow-ui-kit-qr-code.d.ts +160 -0
  209. package/types/mesgflow-ui-kit-radio.d.ts +2 -2
  210. package/types/mesgflow-ui-kit-search-input.d.ts +3 -1
  211. package/types/mesgflow-ui-kit-segmented-control.d.ts +4 -0
  212. package/types/mesgflow-ui-kit-sidebar.d.ts +1 -1
  213. package/types/mesgflow-ui-kit-slider.d.ts +60 -1
  214. package/types/mesgflow-ui-kit-sortable.d.ts +103 -0
  215. package/types/mesgflow-ui-kit-spinner.d.ts +5 -8
  216. package/types/mesgflow-ui-kit-split-button.d.ts +47 -0
  217. package/types/mesgflow-ui-kit-splitter.d.ts +64 -1
  218. package/types/mesgflow-ui-kit-stat-tile.d.ts +3 -0
  219. package/types/mesgflow-ui-kit-stepper.d.ts +54 -32
  220. package/types/mesgflow-ui-kit-table.d.ts +2 -0
  221. package/types/mesgflow-ui-kit-tabs.d.ts +193 -93
  222. package/types/mesgflow-ui-kit-tag-input.d.ts +3 -1
  223. package/types/mesgflow-ui-kit-toast.d.ts +48 -22
  224. package/types/mesgflow-ui-kit-tooltip.d.ts +15 -12
  225. package/types/mesgflow-ui-kit-transfer-list.d.ts +34 -0
  226. package/types/mesgflow-ui-kit-virtual-list.d.ts +35 -0
  227. package/types/mesgflow-ui-kit.d.ts +88 -5444
@@ -57,12 +57,12 @@ class Switch extends ValueAccessorBase {
57
57
  this.onChange(checked);
58
58
  this.onTouched();
59
59
  }
60
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: Switch, deps: null, target: i0.ɵɵFactoryTarget.Component });
61
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: Switch, isStandalone: true, selector: "mf-switch", inputs: { checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checked: "checkedChange" }, host: { classAttribute: "inline-flex" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => Switch), multi: true }], exportAs: ["mfSwitch"], usesInheritance: true, ngImport: i0, template: "<label\r\n class=\"inline-flex cursor-pointer items-center gap-2\"\r\n [class.cursor-not-allowed]=\"disabled()\"\r\n [class.opacity-50]=\"disabled()\"\r\n>\r\n <span [class]=\"'relative inline-flex shrink-0 items-center ' + sizeClasses().track\">\r\n <input\r\n type=\"checkbox\"\r\n role=\"switch\"\r\n class=\"peer sr-only\"\r\n [checked]=\"checked()\"\r\n [disabled]=\"disabled()\"\r\n [attr.aria-label]=\"label() ? null : ariaLabel() || null\"\r\n (change)=\"onToggle($event)\"\r\n />\r\n <span\r\n class=\"pointer-events-none absolute inset-0 rounded-full bg-surface-active transition-colors duration-fast ease-emphasis peer-checked:bg-accent-fill peer-focus-visible:outline peer-focus-visible:outline-2 peer-focus-visible:outline-offset-2 peer-focus-visible:outline-focus-ring\"\r\n ></span>\r\n <span\r\n [class]=\"\r\n 'pointer-events-none absolute rounded-full bg-surface shadow-control transition-transform duration-fast ease-out ' +\r\n sizeClasses().thumb +\r\n ' ' +\r\n sizeClasses().offset +\r\n ' ' +\r\n sizeClasses().translate\r\n \"\r\n ></span>\r\n </span>\r\n @if (label()) {\r\n <span class=\"text-sm text-fg-muted\">{{ label() }}</span>\r\n }\r\n</label>\r\n" });
60
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: Switch, deps: null, target: i0.ɵɵFactoryTarget.Component });
61
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: Switch, isStandalone: true, selector: "mf-switch", inputs: { checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checked: "checkedChange" }, host: { classAttribute: "inline-flex" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => Switch), multi: true }], exportAs: ["mfSwitch"], usesInheritance: true, ngImport: i0, template: "<label\r\n class=\"group/switch inline-flex cursor-pointer items-center gap-2\"\r\n [class.cursor-not-allowed]=\"disabled()\"\r\n [class.opacity-50]=\"disabled()\"\r\n>\r\n <span [class]=\"'relative inline-flex shrink-0 items-center ' + sizeClasses().track\">\r\n <input\r\n type=\"checkbox\"\r\n role=\"switch\"\r\n class=\"peer sr-only\"\r\n [checked]=\"checked()\"\r\n [disabled]=\"disabled()\"\r\n [attr.aria-label]=\"label() ? null : ariaLabel() || null\"\r\n (change)=\"onToggle($event)\"\r\n />\r\n <span\r\n class=\"pointer-events-none absolute inset-0 rounded-full bg-surface-active shadow-[inset_0_1px_2px_rgb(0_0_0/0.12)] transition-colors duration-base ease-emphasis group-hover/switch:bg-border-strong peer-checked:bg-accent-fill peer-checked:group-hover/switch:bg-accent-fill-hover peer-focus-visible:outline peer-focus-visible:outline-2 peer-focus-visible:outline-offset-2 peer-focus-visible:outline-focus-ring\"\r\n ></span>\r\n <span\r\n [class]=\"\r\n 'pointer-events-none absolute rounded-full bg-surface shadow-1 transition-[translate,scale] duration-base ease-spring group-active/switch:scale-x-110 ' +\r\n 'dark:bg-neutral-50 ' +\r\n sizeClasses().thumb +\r\n ' ' +\r\n sizeClasses().offset +\r\n ' ' +\r\n sizeClasses().translate\r\n \"\r\n ></span>\r\n </span>\r\n @if (label()) {\r\n <span class=\"text-sm text-fg-muted\">{{ label() }}</span>\r\n }\r\n</label>\r\n" });
62
62
  }
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: Switch, decorators: [{
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: Switch, decorators: [{
64
64
  type: Component,
65
- args: [{ selector: 'mf-switch', exportAs: 'mfSwitch', host: { class: 'inline-flex' }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => Switch), multi: true }], template: "<label\r\n class=\"inline-flex cursor-pointer items-center gap-2\"\r\n [class.cursor-not-allowed]=\"disabled()\"\r\n [class.opacity-50]=\"disabled()\"\r\n>\r\n <span [class]=\"'relative inline-flex shrink-0 items-center ' + sizeClasses().track\">\r\n <input\r\n type=\"checkbox\"\r\n role=\"switch\"\r\n class=\"peer sr-only\"\r\n [checked]=\"checked()\"\r\n [disabled]=\"disabled()\"\r\n [attr.aria-label]=\"label() ? null : ariaLabel() || null\"\r\n (change)=\"onToggle($event)\"\r\n />\r\n <span\r\n class=\"pointer-events-none absolute inset-0 rounded-full bg-surface-active transition-colors duration-fast ease-emphasis peer-checked:bg-accent-fill peer-focus-visible:outline peer-focus-visible:outline-2 peer-focus-visible:outline-offset-2 peer-focus-visible:outline-focus-ring\"\r\n ></span>\r\n <span\r\n [class]=\"\r\n 'pointer-events-none absolute rounded-full bg-surface shadow-control transition-transform duration-fast ease-out ' +\r\n sizeClasses().thumb +\r\n ' ' +\r\n sizeClasses().offset +\r\n ' ' +\r\n sizeClasses().translate\r\n \"\r\n ></span>\r\n </span>\r\n @if (label()) {\r\n <span class=\"text-sm text-fg-muted\">{{ label() }}</span>\r\n }\r\n</label>\r\n" }]
65
+ args: [{ selector: 'mf-switch', exportAs: 'mfSwitch', host: { class: 'inline-flex' }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => Switch), multi: true }], template: "<label\r\n class=\"group/switch inline-flex cursor-pointer items-center gap-2\"\r\n [class.cursor-not-allowed]=\"disabled()\"\r\n [class.opacity-50]=\"disabled()\"\r\n>\r\n <span [class]=\"'relative inline-flex shrink-0 items-center ' + sizeClasses().track\">\r\n <input\r\n type=\"checkbox\"\r\n role=\"switch\"\r\n class=\"peer sr-only\"\r\n [checked]=\"checked()\"\r\n [disabled]=\"disabled()\"\r\n [attr.aria-label]=\"label() ? null : ariaLabel() || null\"\r\n (change)=\"onToggle($event)\"\r\n />\r\n <span\r\n class=\"pointer-events-none absolute inset-0 rounded-full bg-surface-active shadow-[inset_0_1px_2px_rgb(0_0_0/0.12)] transition-colors duration-base ease-emphasis group-hover/switch:bg-border-strong peer-checked:bg-accent-fill peer-checked:group-hover/switch:bg-accent-fill-hover peer-focus-visible:outline peer-focus-visible:outline-2 peer-focus-visible:outline-offset-2 peer-focus-visible:outline-focus-ring\"\r\n ></span>\r\n <span\r\n [class]=\"\r\n 'pointer-events-none absolute rounded-full bg-surface shadow-1 transition-[translate,scale] duration-base ease-spring group-active/switch:scale-x-110 ' +\r\n 'dark:bg-neutral-50 ' +\r\n sizeClasses().thumb +\r\n ' ' +\r\n sizeClasses().offset +\r\n ' ' +\r\n sizeClasses().translate\r\n \"\r\n ></span>\r\n </span>\r\n @if (label()) {\r\n <span class=\"text-sm text-fg-muted\">{{ label() }}</span>\r\n }\r\n</label>\r\n" }]
66
66
  }], propDecorators: { checked: [{ type: i0.Input, args: [{ isSignal: true, alias: "checked", required: false }] }, { type: i0.Output, args: ["checkedChange"] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }] } });
67
67
 
68
68
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"mesgflow-ui-kit-switch.mjs","sources":["../../../projects/ui-kit/switch/switch.ts","../../../projects/ui-kit/switch/switch.html","../../../projects/ui-kit/switch/mesgflow-ui-kit-switch.ts"],"sourcesContent":["import { Component, computed, forwardRef, input, model } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, type ControlValueAccessor } from '@angular/forms';\r\nimport { ValueAccessorBase, type MfSize } from '@mesgflow/ui-kit/core';\r\n\r\n/** Track/thumb/offset/kayma ölçüleri — `(track_h - thumb_h) / 2 = offset`, `translate = track_w - thumb_w - 2×offset` formülüyle üretildi (bkz. `md`'nin önceki sabit değerleriyle birebir örtüştüğü doğrulaması). */\r\nconst SIZE_CLASSES: Record<\r\n MfSize,\r\n { track: string; thumb: string; offset: string; translate: string }\r\n> = {\r\n sm: {\r\n track: 'h-5 w-9',\r\n thumb: 'h-4 w-4',\r\n offset: 'start-0.5',\r\n translate: 'peer-checked:translate-x-4 rtl:peer-checked:-translate-x-4',\r\n },\r\n md: {\r\n track: 'h-6 w-11',\r\n thumb: 'h-5 w-5',\r\n offset: 'start-0.5',\r\n translate: 'peer-checked:translate-x-5 rtl:peer-checked:-translate-x-5',\r\n },\r\n lg: {\r\n track: 'h-7 w-13',\r\n thumb: 'h-6 w-6',\r\n offset: 'start-0.5',\r\n translate: 'peer-checked:translate-x-6 rtl:peer-checked:-translate-x-6',\r\n },\r\n};\r\n\r\n/**\r\n * `<mf-switch [(checked)]=\"row.active\" (checkedChange)=\"onToggle(row)\" />`\r\n *\r\n * Native `[(ngModel)]` DEĞİL, Angular'ın `model()` iki-yönlü bağlama sinyali\r\n * kullanılıyor (`[(checked)]`) — ControlValueAccessor yazmadan aynı ergonomiyi\r\n * veriyor. Görünür track+thumb, gizli (sr-only) bir native checkbox'ın\r\n * `:checked` durumuna komşu `<span>` üzerinden `peer-checked:` ile tepki\r\n * veriyor — gerçek form kontrolü hâlâ native checkbox (klavye/focus/a11y\r\n * ücretsiz), görsel tamamen bizim.\r\n */\r\n@Component({\r\n selector: 'mf-switch',\r\n exportAs: 'mfSwitch',\r\n host: { class: 'inline-flex' },\r\n templateUrl: './switch.html',\r\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => Switch), multi: true }],\r\n})\r\nexport class Switch extends ValueAccessorBase<boolean> implements ControlValueAccessor {\r\n readonly checked = model(false);\r\n readonly disabled = input(false);\r\n readonly size = input<MfSize>('md');\r\n readonly label = input<string>('');\r\n /** `label` boşken (görünür metin yok) native checkbox'a erişilebilir ad sağlamak için — `label` doluysa YOK SAYILIR (çift anons olmasın diye). */\r\n readonly ariaLabel = input<string>('');\r\n\r\n protected readonly sizeClasses = computed(() => SIZE_CLASSES[this.size()]);\r\n\r\n writeValue(value: boolean): void {\r\n this.checked.set(value);\r\n }\r\n\r\n protected onToggle(event: Event): void {\r\n const checked = (event.target as HTMLInputElement).checked;\r\n this.checked.set(checked);\r\n this.onChange(checked);\r\n this.onTouched();\r\n }\r\n}\r\n","<label\r\n class=\"inline-flex cursor-pointer items-center gap-2\"\r\n [class.cursor-not-allowed]=\"disabled()\"\r\n [class.opacity-50]=\"disabled()\"\r\n>\r\n <span [class]=\"'relative inline-flex shrink-0 items-center ' + sizeClasses().track\">\r\n <input\r\n type=\"checkbox\"\r\n role=\"switch\"\r\n class=\"peer sr-only\"\r\n [checked]=\"checked()\"\r\n [disabled]=\"disabled()\"\r\n [attr.aria-label]=\"label() ? null : ariaLabel() || null\"\r\n (change)=\"onToggle($event)\"\r\n />\r\n <span\r\n class=\"pointer-events-none absolute inset-0 rounded-full bg-surface-active transition-colors duration-fast ease-emphasis peer-checked:bg-accent-fill peer-focus-visible:outline peer-focus-visible:outline-2 peer-focus-visible:outline-offset-2 peer-focus-visible:outline-focus-ring\"\r\n ></span>\r\n <span\r\n [class]=\"\r\n 'pointer-events-none absolute rounded-full bg-surface shadow-control transition-transform duration-fast ease-out ' +\r\n sizeClasses().thumb +\r\n ' ' +\r\n sizeClasses().offset +\r\n ' ' +\r\n sizeClasses().translate\r\n \"\r\n ></span>\r\n </span>\r\n @if (label()) {\r\n <span class=\"text-sm text-fg-muted\">{{ label() }}</span>\r\n }\r\n</label>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mesgflow-ui-kit-switch.mjs","sources":["../../../projects/ui-kit/switch/switch.ts","../../../projects/ui-kit/switch/switch.html","../../../projects/ui-kit/switch/mesgflow-ui-kit-switch.ts"],"sourcesContent":["import { Component, computed, forwardRef, input, model } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, type ControlValueAccessor } from '@angular/forms';\r\nimport { ValueAccessorBase, type MfSize } from '@mesgflow/ui-kit/core';\r\n\r\n/** Track/thumb/offset/kayma ölçüleri — `(track_h - thumb_h) / 2 = offset`, `translate = track_w - thumb_w - 2×offset` formülüyle üretildi (bkz. `md`'nin önceki sabit değerleriyle birebir örtüştüğü doğrulaması). */\r\nconst SIZE_CLASSES: Record<\r\n MfSize,\r\n { track: string; thumb: string; offset: string; translate: string }\r\n> = {\r\n sm: {\r\n track: 'h-5 w-9',\r\n thumb: 'h-4 w-4',\r\n offset: 'start-0.5',\r\n translate: 'peer-checked:translate-x-4 rtl:peer-checked:-translate-x-4',\r\n },\r\n md: {\r\n track: 'h-6 w-11',\r\n thumb: 'h-5 w-5',\r\n offset: 'start-0.5',\r\n translate: 'peer-checked:translate-x-5 rtl:peer-checked:-translate-x-5',\r\n },\r\n lg: {\r\n track: 'h-7 w-13',\r\n thumb: 'h-6 w-6',\r\n offset: 'start-0.5',\r\n translate: 'peer-checked:translate-x-6 rtl:peer-checked:-translate-x-6',\r\n },\r\n};\r\n\r\n/**\r\n * `<mf-switch [(checked)]=\"row.active\" (checkedChange)=\"onToggle(row)\" />`\r\n *\r\n * Native `[(ngModel)]` DEĞİL, Angular'ın `model()` iki-yönlü bağlama sinyali\r\n * kullanılıyor (`[(checked)]`) — ControlValueAccessor yazmadan aynı ergonomiyi\r\n * veriyor. Görünür track+thumb, gizli (sr-only) bir native checkbox'ın\r\n * `:checked` durumuna komşu `<span>` üzerinden `peer-checked:` ile tepki\r\n * veriyor — gerçek form kontrolü hâlâ native checkbox (klavye/focus/a11y\r\n * ücretsiz), görsel tamamen bizim.\r\n */\r\n@Component({\r\n selector: 'mf-switch',\r\n exportAs: 'mfSwitch',\r\n host: { class: 'inline-flex' },\r\n templateUrl: './switch.html',\r\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => Switch), multi: true }],\r\n})\r\nexport class Switch extends ValueAccessorBase<boolean> implements ControlValueAccessor {\r\n readonly checked = model(false);\r\n readonly disabled = input(false);\r\n readonly size = input<MfSize>('md');\r\n readonly label = input<string>('');\r\n /** `label` boşken (görünür metin yok) native checkbox'a erişilebilir ad sağlamak için — `label` doluysa YOK SAYILIR (çift anons olmasın diye). */\r\n readonly ariaLabel = input<string>('');\r\n\r\n protected readonly sizeClasses = computed(() => SIZE_CLASSES[this.size()]);\r\n\r\n writeValue(value: boolean): void {\r\n this.checked.set(value);\r\n }\r\n\r\n protected onToggle(event: Event): void {\r\n const checked = (event.target as HTMLInputElement).checked;\r\n this.checked.set(checked);\r\n this.onChange(checked);\r\n this.onTouched();\r\n }\r\n}\r\n","<label\r\n class=\"group/switch inline-flex cursor-pointer items-center gap-2\"\r\n [class.cursor-not-allowed]=\"disabled()\"\r\n [class.opacity-50]=\"disabled()\"\r\n>\r\n <span [class]=\"'relative inline-flex shrink-0 items-center ' + sizeClasses().track\">\r\n <input\r\n type=\"checkbox\"\r\n role=\"switch\"\r\n class=\"peer sr-only\"\r\n [checked]=\"checked()\"\r\n [disabled]=\"disabled()\"\r\n [attr.aria-label]=\"label() ? null : ariaLabel() || null\"\r\n (change)=\"onToggle($event)\"\r\n />\r\n <span\r\n class=\"pointer-events-none absolute inset-0 rounded-full bg-surface-active shadow-[inset_0_1px_2px_rgb(0_0_0/0.12)] transition-colors duration-base ease-emphasis group-hover/switch:bg-border-strong peer-checked:bg-accent-fill peer-checked:group-hover/switch:bg-accent-fill-hover peer-focus-visible:outline peer-focus-visible:outline-2 peer-focus-visible:outline-offset-2 peer-focus-visible:outline-focus-ring\"\r\n ></span>\r\n <span\r\n [class]=\"\r\n 'pointer-events-none absolute rounded-full bg-surface shadow-1 transition-[translate,scale] duration-base ease-spring group-active/switch:scale-x-110 ' +\r\n 'dark:bg-neutral-50 ' +\r\n sizeClasses().thumb +\r\n ' ' +\r\n sizeClasses().offset +\r\n ' ' +\r\n sizeClasses().translate\r\n \"\r\n ></span>\r\n </span>\r\n @if (label()) {\r\n <span class=\"text-sm text-fg-muted\">{{ label() }}</span>\r\n }\r\n</label>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}