@mesgflow/ui-kit 0.7.0 → 0.9.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 (115) hide show
  1. package/fesm2022/mesgflow-ui-kit-accordion.mjs +6 -6
  2. package/fesm2022/mesgflow-ui-kit-agenda.mjs +3 -3
  3. package/fesm2022/mesgflow-ui-kit-alert.mjs +3 -3
  4. package/fesm2022/mesgflow-ui-kit-aspect-ratio.mjs +3 -3
  5. package/fesm2022/mesgflow-ui-kit-avatar-group.mjs +3 -3
  6. package/fesm2022/mesgflow-ui-kit-avatar.mjs +3 -3
  7. package/fesm2022/mesgflow-ui-kit-badge.mjs +3 -3
  8. package/fesm2022/mesgflow-ui-kit-banner.mjs +3 -3
  9. package/fesm2022/mesgflow-ui-kit-blocks.mjs +16 -16
  10. package/fesm2022/mesgflow-ui-kit-blocks.mjs.map +1 -1
  11. package/fesm2022/mesgflow-ui-kit-box-input.mjs +3 -3
  12. package/fesm2022/mesgflow-ui-kit-brand.mjs +3 -3
  13. package/fesm2022/mesgflow-ui-kit-breadcrumb.mjs +3 -3
  14. package/fesm2022/mesgflow-ui-kit-button-group.mjs +3 -3
  15. package/fesm2022/mesgflow-ui-kit-button.mjs +3 -3
  16. package/fesm2022/mesgflow-ui-kit-card.mjs +12 -12
  17. package/fesm2022/mesgflow-ui-kit-carousel.mjs +3 -3
  18. package/fesm2022/mesgflow-ui-kit-chart.mjs +12 -12
  19. package/fesm2022/mesgflow-ui-kit-checkbox.mjs +3 -3
  20. package/fesm2022/mesgflow-ui-kit-chip.mjs +3 -3
  21. package/fesm2022/mesgflow-ui-kit-code-block.mjs +3 -3
  22. package/fesm2022/mesgflow-ui-kit-collapsible.mjs +9 -9
  23. package/fesm2022/mesgflow-ui-kit-color-picker.mjs +3 -3
  24. package/fesm2022/mesgflow-ui-kit-combobox.mjs +4 -4
  25. package/fesm2022/mesgflow-ui-kit-combobox.mjs.map +1 -1
  26. package/fesm2022/mesgflow-ui-kit-command.mjs +15 -16
  27. package/fesm2022/mesgflow-ui-kit-command.mjs.map +1 -1
  28. package/fesm2022/mesgflow-ui-kit-context-menu.mjs +3 -3
  29. package/fesm2022/mesgflow-ui-kit-copy-button.mjs +6 -6
  30. package/fesm2022/mesgflow-ui-kit-core.mjs +9 -4
  31. package/fesm2022/mesgflow-ui-kit-core.mjs.map +1 -1
  32. package/fesm2022/mesgflow-ui-kit-countdown.mjs +3 -3
  33. package/fesm2022/mesgflow-ui-kit-date-picker.mjs +12 -12
  34. package/fesm2022/mesgflow-ui-kit-description-list.mjs +3 -3
  35. package/fesm2022/mesgflow-ui-kit-dialog.mjs +197 -34
  36. package/fesm2022/mesgflow-ui-kit-dialog.mjs.map +1 -1
  37. package/fesm2022/mesgflow-ui-kit-divider.mjs +3 -3
  38. package/fesm2022/mesgflow-ui-kit-drawer.mjs +4 -4
  39. package/fesm2022/mesgflow-ui-kit-drawer.mjs.map +1 -1
  40. package/fesm2022/mesgflow-ui-kit-dropzone.mjs +3 -3
  41. package/fesm2022/mesgflow-ui-kit-empty-state.mjs +3 -3
  42. package/fesm2022/mesgflow-ui-kit-field.mjs +38 -7
  43. package/fesm2022/mesgflow-ui-kit-field.mjs.map +1 -1
  44. package/fesm2022/mesgflow-ui-kit-file-upload.mjs +3 -3
  45. package/fesm2022/mesgflow-ui-kit-hover-card.mjs +6 -6
  46. package/fesm2022/mesgflow-ui-kit-i18n-tr.mjs +4 -0
  47. package/fesm2022/mesgflow-ui-kit-i18n-tr.mjs.map +1 -1
  48. package/fesm2022/mesgflow-ui-kit-icon.mjs +3 -3
  49. package/fesm2022/mesgflow-ui-kit-inline-edit.mjs +3 -3
  50. package/fesm2022/mesgflow-ui-kit-input.mjs +21 -19
  51. package/fesm2022/mesgflow-ui-kit-input.mjs.map +1 -1
  52. package/fesm2022/mesgflow-ui-kit-kbd.mjs +3 -3
  53. package/fesm2022/mesgflow-ui-kit-lightbox.mjs +9 -9
  54. package/fesm2022/mesgflow-ui-kit-link.mjs +3 -3
  55. package/fesm2022/mesgflow-ui-kit-listbox.mjs +3 -3
  56. package/fesm2022/mesgflow-ui-kit-mention.mjs +6 -6
  57. package/fesm2022/mesgflow-ui-kit-menu.mjs +12 -12
  58. package/fesm2022/mesgflow-ui-kit-nav-menu.mjs +3 -3
  59. package/fesm2022/mesgflow-ui-kit-notification-center.mjs +3 -3
  60. package/fesm2022/mesgflow-ui-kit-number-input.mjs +3 -3
  61. package/fesm2022/mesgflow-ui-kit-otp-input.mjs +3 -3
  62. package/fesm2022/mesgflow-ui-kit-page-header.mjs +6 -6
  63. package/fesm2022/mesgflow-ui-kit-pagination.mjs +3 -3
  64. package/fesm2022/mesgflow-ui-kit-password-input.mjs +47 -71
  65. package/fesm2022/mesgflow-ui-kit-password-input.mjs.map +1 -1
  66. package/fesm2022/mesgflow-ui-kit-popover.mjs +3 -3
  67. package/fesm2022/mesgflow-ui-kit-progress.mjs +3 -3
  68. package/fesm2022/mesgflow-ui-kit-qr-code.mjs +766 -0
  69. package/fesm2022/mesgflow-ui-kit-qr-code.mjs.map +1 -0
  70. package/fesm2022/mesgflow-ui-kit-radio.mjs +6 -6
  71. package/fesm2022/mesgflow-ui-kit-rating.mjs +3 -3
  72. package/fesm2022/mesgflow-ui-kit-scroll-area.mjs +3 -3
  73. package/fesm2022/mesgflow-ui-kit-search-input.mjs +3 -3
  74. package/fesm2022/mesgflow-ui-kit-segmented-control.mjs +34 -22
  75. package/fesm2022/mesgflow-ui-kit-segmented-control.mjs.map +1 -1
  76. package/fesm2022/mesgflow-ui-kit-select.mjs +3 -3
  77. package/fesm2022/mesgflow-ui-kit-sidebar.mjs +12 -12
  78. package/fesm2022/mesgflow-ui-kit-skeleton.mjs +3 -3
  79. package/fesm2022/mesgflow-ui-kit-slider.mjs +6 -6
  80. package/fesm2022/mesgflow-ui-kit-sortable.mjs +6 -6
  81. package/fesm2022/mesgflow-ui-kit-spinner.mjs +3 -3
  82. package/fesm2022/mesgflow-ui-kit-split-button.mjs +3 -3
  83. package/fesm2022/mesgflow-ui-kit-splitter.mjs +12 -12
  84. package/fesm2022/mesgflow-ui-kit-stat-tile.mjs +3 -3
  85. package/fesm2022/mesgflow-ui-kit-stepper.mjs +6 -6
  86. package/fesm2022/mesgflow-ui-kit-switch.mjs +3 -3
  87. package/fesm2022/mesgflow-ui-kit-table.mjs +21 -21
  88. package/fesm2022/mesgflow-ui-kit-tabs.mjs +27 -27
  89. package/fesm2022/mesgflow-ui-kit-tag-input.mjs +3 -3
  90. package/fesm2022/mesgflow-ui-kit-theme-switcher.mjs +3 -3
  91. package/fesm2022/mesgflow-ui-kit-theming.mjs +3 -3
  92. package/fesm2022/mesgflow-ui-kit-time-picker.mjs +3 -3
  93. package/fesm2022/mesgflow-ui-kit-timeline.mjs +3 -3
  94. package/fesm2022/mesgflow-ui-kit-toast.mjs +6 -6
  95. package/fesm2022/mesgflow-ui-kit-toggle.mjs +9 -9
  96. package/fesm2022/mesgflow-ui-kit-toolbar.mjs +9 -9
  97. package/fesm2022/mesgflow-ui-kit-tooltip.mjs +3 -3
  98. package/fesm2022/mesgflow-ui-kit-tour.mjs +9 -9
  99. package/fesm2022/mesgflow-ui-kit-transfer-list.mjs +3 -3
  100. package/fesm2022/mesgflow-ui-kit-tree-select.mjs +3 -3
  101. package/fesm2022/mesgflow-ui-kit-tree.mjs +3 -3
  102. package/fesm2022/mesgflow-ui-kit-virtual-list.mjs +3 -3
  103. package/fesm2022/mesgflow-ui-kit.mjs +1 -0
  104. package/fesm2022/mesgflow-ui-kit.mjs.map +1 -1
  105. package/package.json +5 -1
  106. package/tokens.json +1583 -1583
  107. package/types/mesgflow-ui-kit-command.d.ts +2 -2
  108. package/types/mesgflow-ui-kit-core.d.ts +10 -2
  109. package/types/mesgflow-ui-kit-dialog.d.ts +97 -12
  110. package/types/mesgflow-ui-kit-field.d.ts +24 -2
  111. package/types/mesgflow-ui-kit-input.d.ts +2 -0
  112. package/types/mesgflow-ui-kit-password-input.d.ts +43 -6
  113. package/types/mesgflow-ui-kit-qr-code.d.ts +160 -0
  114. package/types/mesgflow-ui-kit-segmented-control.d.ts +19 -11
  115. package/types/mesgflow-ui-kit.d.ts +1 -0
@@ -22,8 +22,8 @@ class PageHeader {
22
22
  ...(ngDevMode ? [{ debugName: "description" }] : /* istanbul ignore next */ []));
23
23
  breadcrumbItems = input([], /* @ts-ignore */
24
24
  ...(ngDevMode ? [{ debugName: "breadcrumbItems" }] : /* istanbul ignore next */ []));
25
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: PageHeader, deps: [], target: i0.ɵɵFactoryTarget.Component });
26
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: PageHeader, isStandalone: true, selector: "mf-page-header", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, breadcrumbItems: { classPropertyName: "breadcrumbItems", publicName: "breadcrumbItems", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "block @container" }, exportAs: ["mfPageHeader"], ngImport: i0, template: `
25
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: PageHeader, deps: [], target: i0.ɵɵFactoryTarget.Component });
26
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: PageHeader, isStandalone: true, selector: "mf-page-header", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, breadcrumbItems: { classPropertyName: "breadcrumbItems", publicName: "breadcrumbItems", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "block @container" }, exportAs: ["mfPageHeader"], ngImport: i0, template: `
27
27
  @if (breadcrumbItems().length > 0) {
28
28
  <mf-breadcrumb [items]="breadcrumbItems()" class="mb-2 block" />
29
29
  }
@@ -38,7 +38,7 @@ class PageHeader {
38
38
  </div>
39
39
  `, isInline: true, dependencies: [{ kind: "component", type: Breadcrumb, selector: "mf-breadcrumb", inputs: ["items", "ariaLabel"], exportAs: ["mfBreadcrumb"] }] });
40
40
  }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: PageHeader, decorators: [{
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: PageHeader, decorators: [{
42
42
  type: Component,
43
43
  args: [{
44
44
  selector: 'mf-page-header',
@@ -64,10 +64,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImpor
64
64
 
65
65
  /** `<div mfPageHeaderActions><button mfButton>...</button></div>` — bkz. `page-header.ts`'in JSDoc'u. */
66
66
  class PageHeaderActions {
67
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: PageHeaderActions, deps: [], target: i0.ɵɵFactoryTarget.Directive });
68
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.6", type: PageHeaderActions, isStandalone: true, selector: "[mfPageHeaderActions]", host: { classAttribute: "flex shrink-0 items-center gap-2" }, ngImport: i0 });
67
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: PageHeaderActions, deps: [], target: i0.ɵɵFactoryTarget.Directive });
68
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: PageHeaderActions, isStandalone: true, selector: "[mfPageHeaderActions]", host: { classAttribute: "flex shrink-0 items-center gap-2" }, ngImport: i0 });
69
69
  }
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: PageHeaderActions, decorators: [{
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: PageHeaderActions, decorators: [{
71
71
  type: Directive,
72
72
  args: [{
73
73
  selector: '[mfPageHeaderActions]',
@@ -84,10 +84,10 @@ class Pagination {
84
84
  if (next !== this.current())
85
85
  this.page.set(next);
86
86
  }
87
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: Pagination, deps: [], target: i0.ɵɵFactoryTarget.Component });
88
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: Pagination, isStandalone: true, selector: "mf-pagination", inputs: { page: { classPropertyName: "page", publicName: "page", isSignal: true, isRequired: false, transformFunction: null }, pageCount: { classPropertyName: "pageCount", publicName: "pageCount", isSignal: true, isRequired: true, transformFunction: null }, siblings: { classPropertyName: "siblings", publicName: "siblings", isSignal: true, isRequired: false, transformFunction: null }, showEdges: { classPropertyName: "showEdges", publicName: "showEdges", isSignal: true, isRequired: false, transformFunction: null }, compact: { classPropertyName: "compact", publicName: "compact", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { page: "pageChange" }, host: { classAttribute: "block" }, exportAs: ["mfPagination"], ngImport: i0, template: "<nav class=\"flex items-center gap-0.5\" [attr.aria-label]=\"effectiveAriaLabel()\">\r\n @if (showEdges()) {\r\n <button\r\n type=\"button\"\r\n [class]=\"cell()\"\r\n [disabled]=\"current() === 1\"\r\n [attr.aria-label]=\"labels().first\"\r\n (click)=\"goTo(1)\"\r\n >\r\n <span mfIcon [size]=\"16\" class=\"rtl:-scale-x-100\">first_page</span>\r\n </button>\r\n }\r\n <button\r\n type=\"button\"\r\n [class]=\"cell()\"\r\n [disabled]=\"current() === 1\"\r\n [attr.aria-label]=\"labels().previous\"\r\n (click)=\"goTo(current() - 1)\"\r\n >\r\n <span mfIcon [size]=\"16\" class=\"rtl:-scale-x-100\">chevron_left</span>\r\n </button>\r\n\r\n @if (compact()) {\r\n <span class=\"px-2 text-sm text-fg-muted tabular-nums\" aria-live=\"polite\">\r\n {{ labels().page }} {{ current() }} / {{ safeCount() }}\r\n </span>\r\n } @else {\r\n @for (item of items(); track item) {\r\n @if (item === 'ellipsis-start' || item === 'ellipsis-end') {\r\n <span\r\n aria-hidden=\"true\"\r\n class=\"inline-flex min-w-8 items-center justify-center text-sm text-fg-subtle select-none\"\r\n >\u2026</span\r\n >\r\n } @else {\r\n <button\r\n type=\"button\"\r\n [class]=\"cell(item === current())\"\r\n [attr.aria-current]=\"item === current() ? 'page' : null\"\r\n [attr.aria-label]=\"labels().page + ' ' + item\"\r\n (click)=\"goTo(item)\"\r\n >\r\n {{ item }}\r\n </button>\r\n }\r\n }\r\n }\r\n\r\n <button\r\n type=\"button\"\r\n [class]=\"cell()\"\r\n [disabled]=\"current() === safeCount()\"\r\n [attr.aria-label]=\"labels().next\"\r\n (click)=\"goTo(current() + 1)\"\r\n >\r\n <span mfIcon [size]=\"16\" class=\"rtl:-scale-x-100\">chevron_right</span>\r\n </button>\r\n @if (showEdges()) {\r\n <button\r\n type=\"button\"\r\n [class]=\"cell()\"\r\n [disabled]=\"current() === safeCount()\"\r\n [attr.aria-label]=\"labels().last\"\r\n (click)=\"goTo(safeCount())\"\r\n >\r\n <span mfIcon [size]=\"16\" class=\"rtl:-scale-x-100\">last_page</span>\r\n </button>\r\n }\r\n</nav>\r\n", dependencies: [{ kind: "directive", type: Icon, selector: "span[mfIcon]", inputs: ["size", "filled"] }] });
87
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: Pagination, deps: [], target: i0.ɵɵFactoryTarget.Component });
88
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: Pagination, isStandalone: true, selector: "mf-pagination", inputs: { page: { classPropertyName: "page", publicName: "page", isSignal: true, isRequired: false, transformFunction: null }, pageCount: { classPropertyName: "pageCount", publicName: "pageCount", isSignal: true, isRequired: true, transformFunction: null }, siblings: { classPropertyName: "siblings", publicName: "siblings", isSignal: true, isRequired: false, transformFunction: null }, showEdges: { classPropertyName: "showEdges", publicName: "showEdges", isSignal: true, isRequired: false, transformFunction: null }, compact: { classPropertyName: "compact", publicName: "compact", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { page: "pageChange" }, host: { classAttribute: "block" }, exportAs: ["mfPagination"], ngImport: i0, template: "<nav class=\"flex items-center gap-0.5\" [attr.aria-label]=\"effectiveAriaLabel()\">\r\n @if (showEdges()) {\r\n <button\r\n type=\"button\"\r\n [class]=\"cell()\"\r\n [disabled]=\"current() === 1\"\r\n [attr.aria-label]=\"labels().first\"\r\n (click)=\"goTo(1)\"\r\n >\r\n <span mfIcon [size]=\"16\" class=\"rtl:-scale-x-100\">first_page</span>\r\n </button>\r\n }\r\n <button\r\n type=\"button\"\r\n [class]=\"cell()\"\r\n [disabled]=\"current() === 1\"\r\n [attr.aria-label]=\"labels().previous\"\r\n (click)=\"goTo(current() - 1)\"\r\n >\r\n <span mfIcon [size]=\"16\" class=\"rtl:-scale-x-100\">chevron_left</span>\r\n </button>\r\n\r\n @if (compact()) {\r\n <span class=\"px-2 text-sm text-fg-muted tabular-nums\" aria-live=\"polite\">\r\n {{ labels().page }} {{ current() }} / {{ safeCount() }}\r\n </span>\r\n } @else {\r\n @for (item of items(); track item) {\r\n @if (item === 'ellipsis-start' || item === 'ellipsis-end') {\r\n <span\r\n aria-hidden=\"true\"\r\n class=\"inline-flex min-w-8 items-center justify-center text-sm text-fg-subtle select-none\"\r\n >\u2026</span\r\n >\r\n } @else {\r\n <button\r\n type=\"button\"\r\n [class]=\"cell(item === current())\"\r\n [attr.aria-current]=\"item === current() ? 'page' : null\"\r\n [attr.aria-label]=\"labels().page + ' ' + item\"\r\n (click)=\"goTo(item)\"\r\n >\r\n {{ item }}\r\n </button>\r\n }\r\n }\r\n }\r\n\r\n <button\r\n type=\"button\"\r\n [class]=\"cell()\"\r\n [disabled]=\"current() === safeCount()\"\r\n [attr.aria-label]=\"labels().next\"\r\n (click)=\"goTo(current() + 1)\"\r\n >\r\n <span mfIcon [size]=\"16\" class=\"rtl:-scale-x-100\">chevron_right</span>\r\n </button>\r\n @if (showEdges()) {\r\n <button\r\n type=\"button\"\r\n [class]=\"cell()\"\r\n [disabled]=\"current() === safeCount()\"\r\n [attr.aria-label]=\"labels().last\"\r\n (click)=\"goTo(safeCount())\"\r\n >\r\n <span mfIcon [size]=\"16\" class=\"rtl:-scale-x-100\">last_page</span>\r\n </button>\r\n }\r\n</nav>\r\n", dependencies: [{ kind: "directive", type: Icon, selector: "span[mfIcon]", inputs: ["size", "filled"] }] });
89
89
  }
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: Pagination, decorators: [{
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: Pagination, decorators: [{
91
91
  type: Component,
92
92
  args: [{ selector: 'mf-pagination', exportAs: 'mfPagination', imports: [Icon], host: { class: 'block' }, template: "<nav class=\"flex items-center gap-0.5\" [attr.aria-label]=\"effectiveAriaLabel()\">\r\n @if (showEdges()) {\r\n <button\r\n type=\"button\"\r\n [class]=\"cell()\"\r\n [disabled]=\"current() === 1\"\r\n [attr.aria-label]=\"labels().first\"\r\n (click)=\"goTo(1)\"\r\n >\r\n <span mfIcon [size]=\"16\" class=\"rtl:-scale-x-100\">first_page</span>\r\n </button>\r\n }\r\n <button\r\n type=\"button\"\r\n [class]=\"cell()\"\r\n [disabled]=\"current() === 1\"\r\n [attr.aria-label]=\"labels().previous\"\r\n (click)=\"goTo(current() - 1)\"\r\n >\r\n <span mfIcon [size]=\"16\" class=\"rtl:-scale-x-100\">chevron_left</span>\r\n </button>\r\n\r\n @if (compact()) {\r\n <span class=\"px-2 text-sm text-fg-muted tabular-nums\" aria-live=\"polite\">\r\n {{ labels().page }} {{ current() }} / {{ safeCount() }}\r\n </span>\r\n } @else {\r\n @for (item of items(); track item) {\r\n @if (item === 'ellipsis-start' || item === 'ellipsis-end') {\r\n <span\r\n aria-hidden=\"true\"\r\n class=\"inline-flex min-w-8 items-center justify-center text-sm text-fg-subtle select-none\"\r\n >\u2026</span\r\n >\r\n } @else {\r\n <button\r\n type=\"button\"\r\n [class]=\"cell(item === current())\"\r\n [attr.aria-current]=\"item === current() ? 'page' : null\"\r\n [attr.aria-label]=\"labels().page + ' ' + item\"\r\n (click)=\"goTo(item)\"\r\n >\r\n {{ item }}\r\n </button>\r\n }\r\n }\r\n }\r\n\r\n <button\r\n type=\"button\"\r\n [class]=\"cell()\"\r\n [disabled]=\"current() === safeCount()\"\r\n [attr.aria-label]=\"labels().next\"\r\n (click)=\"goTo(current() + 1)\"\r\n >\r\n <span mfIcon [size]=\"16\" class=\"rtl:-scale-x-100\">chevron_right</span>\r\n </button>\r\n @if (showEdges()) {\r\n <button\r\n type=\"button\"\r\n [class]=\"cell()\"\r\n [disabled]=\"current() === safeCount()\"\r\n [attr.aria-label]=\"labels().last\"\r\n (click)=\"goTo(safeCount())\"\r\n >\r\n <span mfIcon [size]=\"16\" class=\"rtl:-scale-x-100\">last_page</span>\r\n </button>\r\n }\r\n</nav>\r\n" }]
93
93
  }], propDecorators: { page: [{ type: i0.Input, args: [{ isSignal: true, alias: "page", required: false }] }, { type: i0.Output, args: ["pageChange"] }], pageCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageCount", required: true }] }], siblings: [{ type: i0.Input, args: [{ isSignal: true, alias: "siblings", required: false }] }], showEdges: [{ type: i0.Input, args: [{ isSignal: true, alias: "showEdges", required: false }] }], compact: [{ type: i0.Input, args: [{ isSignal: true, alias: "compact", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }] } });
@@ -1,9 +1,9 @@
1
1
  import * as i0 from '@angular/core';
2
- import { model, input, inject, computed, signal, forwardRef, Component } from '@angular/core';
2
+ import { model, input, booleanAttribute, inject, computed, signal, forwardRef, Component } from '@angular/core';
3
3
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
4
  import { ValueAccessorBase, MF_PASSWORD_INPUT_LABELS } from '@mesgflow/ui-kit/core';
5
5
  import { Icon } from '@mesgflow/ui-kit/icon';
6
- import { Input, InputGroup, InputSuffix } from '@mesgflow/ui-kit/input';
6
+ import { Input, InputGroup, InputPrefix, InputSuffix } from '@mesgflow/ui-kit/input';
7
7
 
8
8
  /**
9
9
  * `<mf-password-input [(value)]="password" />` — `InputGroup` üstüne kompoze
@@ -12,36 +12,67 @@ import { Input, InputGroup, InputSuffix } from '@mesgflow/ui-kit/input';
12
12
  * kullanma deseni). `type="password"`/`"text"` arasında geçiş SADECE
13
13
  * görünürlük içindir — değer her zaman `value` model'inde düz metin olarak
14
14
  * tutulur.
15
+ *
16
+ * Parola yöneticisi uyumu: `autocomplete` (varsayılan `current-password`) ve
17
+ * `name` iç `<input>`'a iletilir; `autocapitalize="off"`/`spellcheck="false"`
18
+ * sabit — parola görünür moda (`type="text"`) geçtiğinde de mobil klavye büyük
19
+ * harfe çevirmez, yazım denetimi parolayı bir sözlük servisine göndermez.
20
+ * Signal Forms `[formField]` bağlandığında `name`/`required`/`readonly`/`disabled`
21
+ * alan durumundan OTOMATİK doldurulur.
22
+ *
23
+ * `size`: `input[mfInput]`/`mf-input-group` ile AYNI yükseklik/dolgu/font token'ları —
24
+ * aynı boydaki düz bir `mfInput` ile yan yana hizalı durur; göster/gizle ikonu boyla büyür.
25
+ *
26
+ * Önek: `[mfInputPrefix]` işaretli çocuk (ör. `<span mfIcon mfInputPrefix>lock</span>`)
27
+ * alanın soluna, `mf-input-group`'un önek yuvasına projekte edilir — metin başlangıcı
28
+ * önekli bir `mf-input-group` ile aynı. Önek dekoratif kabul edilir (`aria-hidden`).
15
29
  */
16
30
  class PasswordInput extends ValueAccessorBase {
17
31
  value = model('', /* @ts-ignore */
18
32
  ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
33
+ size = input('md', /* @ts-ignore */
34
+ ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
19
35
  placeholder = input('', /* @ts-ignore */
20
36
  ...(ngDevMode ? [{ debugName: "placeholder" }] : /* istanbul ignore next */ []));
21
- disabled = input(false, /* @ts-ignore */
22
- ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
23
- hasError = input(false, /* @ts-ignore */
24
- ...(ngDevMode ? [{ debugName: "hasError" }] : /* istanbul ignore next */ []));
37
+ disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
38
+ hasError = input(false, { ...(ngDevMode ? { debugName: "hasError" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
25
39
  /** İç `<input>`'un id'si — harici bir `<label for>` / `mf-field for` ile ilişkilendirmek için. */
26
40
  inputId = input(/* @ts-ignore */
27
41
  ...(ngDevMode ? [undefined, { debugName: "inputId" }] : /* istanbul ignore next */ []));
28
42
  ariaLabel = input('', /* @ts-ignore */
29
43
  ...(ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
30
- fullWidth = input(false, /* @ts-ignore */
31
- ...(ngDevMode ? [{ debugName: "fullWidth" }] : /* istanbul ignore next */ []));
44
+ fullWidth = input(false, { ...(ngDevMode ? { debugName: "fullWidth" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
32
45
  showLabel = input(/* @ts-ignore */
33
46
  ...(ngDevMode ? [undefined, { debugName: "showLabel" }] : /* istanbul ignore next */ []));
34
47
  hideLabel = input(/* @ts-ignore */
35
48
  ...(ngDevMode ? [undefined, { debugName: "hideLabel" }] : /* istanbul ignore next */ []));
49
+ /** Parola yöneticisi ipucu — bkz. `PasswordAutocomplete`. */
50
+ autocomplete = input('current-password', /* @ts-ignore */
51
+ ...(ngDevMode ? [{ debugName: "autocomplete" }] : /* istanbul ignore next */ []));
52
+ /** İç `<input>`'un `name`'i — form gönderimi ve parola yöneticilerinin alanı tanıması için. */
53
+ name = input(/* @ts-ignore */
54
+ ...(ngDevMode ? [undefined, { debugName: "name" }] : /* istanbul ignore next */ []));
55
+ required = input(false, { ...(ngDevMode ? { debugName: "required" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
56
+ readonly = input(false, { ...(ngDevMode ? { debugName: "readonly" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
36
57
  passwordLabels = inject(MF_PASSWORD_INPUT_LABELS);
37
58
  effectiveShowLabel = computed(() => this.showLabel() ?? this.passwordLabels().show, /* @ts-ignore */
38
59
  ...(ngDevMode ? [{ debugName: "effectiveShowLabel" }] : /* istanbul ignore next */ []));
39
60
  effectiveHideLabel = computed(() => this.hideLabel() ?? this.passwordLabels().hide, /* @ts-ignore */
40
61
  ...(ngDevMode ? [{ debugName: "effectiveHideLabel" }] : /* istanbul ignore next */ []));
62
+ /** Reactive Forms `control.disable()` — `disabled` girdisiyle VEYA'lanır. */
63
+ formDisabled = signal(false, /* @ts-ignore */
64
+ ...(ngDevMode ? [{ debugName: "formDisabled" }] : /* istanbul ignore next */ []));
65
+ isDisabled = computed(() => this.disabled() || this.formDisabled(), /* @ts-ignore */
66
+ ...(ngDevMode ? [{ debugName: "isDisabled" }] : /* istanbul ignore next */ []));
41
67
  visible = signal(false, /* @ts-ignore */
42
68
  ...(ngDevMode ? [{ debugName: "visible" }] : /* istanbul ignore next */ []));
69
+ toggleIconSize = computed(() => ({ sm: 14, md: 16, lg: 18 })[this.size()], /* @ts-ignore */
70
+ ...(ngDevMode ? [{ debugName: "toggleIconSize" }] : /* istanbul ignore next */ []));
43
71
  writeValue(value) {
44
- this.value.set(value);
72
+ this.value.set(value ?? '');
73
+ }
74
+ setDisabledState(disabled) {
75
+ this.formDisabled.set(disabled);
45
76
  }
46
77
  toggle() {
47
78
  this.visible.update((v) => !v);
@@ -50,72 +81,17 @@ class PasswordInput extends ValueAccessorBase {
50
81
  this.value.set(raw);
51
82
  this.onChange(raw);
52
83
  }
53
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: PasswordInput, deps: null, target: i0.ɵɵFactoryTarget.Component });
54
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.6", type: PasswordInput, isStandalone: true, selector: "mf-password-input", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, hasError: { classPropertyName: "hasError", publicName: "hasError", isSignal: true, isRequired: false, transformFunction: null }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, fullWidth: { classPropertyName: "fullWidth", publicName: "fullWidth", isSignal: true, isRequired: false, transformFunction: null }, showLabel: { classPropertyName: "showLabel", publicName: "showLabel", isSignal: true, isRequired: false, transformFunction: null }, hideLabel: { classPropertyName: "hideLabel", publicName: "hideLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, host: { properties: { "class.w-full": "fullWidth()" }, classAttribute: "inline-flex" }, providers: [
84
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: PasswordInput, deps: null, target: i0.ɵɵFactoryTarget.Component });
85
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.7", type: PasswordInput, isStandalone: true, selector: "mf-password-input", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, hasError: { classPropertyName: "hasError", publicName: "hasError", isSignal: true, isRequired: false, transformFunction: null }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, fullWidth: { classPropertyName: "fullWidth", publicName: "fullWidth", isSignal: true, isRequired: false, transformFunction: null }, showLabel: { classPropertyName: "showLabel", publicName: "showLabel", isSignal: true, isRequired: false, transformFunction: null }, hideLabel: { classPropertyName: "hideLabel", publicName: "hideLabel", isSignal: true, isRequired: false, transformFunction: null }, autocomplete: { classPropertyName: "autocomplete", publicName: "autocomplete", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, host: { properties: { "class.w-full": "fullWidth()" }, classAttribute: "inline-flex" }, providers: [
55
86
  { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => PasswordInput), multi: true },
56
- ], exportAs: ["mfPasswordInput"], usesInheritance: true, ngImport: i0, template: `
57
- <mf-input-group [hasError]="hasError()" [disabled]="disabled()">
58
- <input
59
- mfInput
60
- [attr.id]="inputId() || null"
61
- [type]="visible() ? 'text' : 'password'"
62
- class="border-0 bg-transparent p-0 shadow-none focus-visible:outline-none"
63
- [value]="value()"
64
- [disabled]="disabled()"
65
- [placeholder]="placeholder()"
66
- [attr.aria-label]="ariaLabel() || null"
67
- (input)="onInput($any($event.target).value)"
68
- (blur)="onTouched()"
69
- />
70
- <button
71
- mfInputSuffix
72
- type="button"
73
- class="appearance-none border-0 bg-transparent p-0 transition-colors duration-fast ease-emphasis hover:text-fg"
74
- [attr.aria-label]="visible() ? effectiveHideLabel() : effectiveShowLabel()"
75
- (click)="toggle()"
76
- >
77
- <span mfIcon [size]="16">{{ visible() ? 'visibility_off' : 'visibility' }}</span>
78
- </button>
79
- </mf-input-group>
80
- `, isInline: true, dependencies: [{ kind: "directive", type: Icon, selector: "span[mfIcon]", inputs: ["size", "filled"] }, { kind: "directive", type: Input, selector: "input[mfInput]:not([type=checkbox]):not([type=radio]), textarea[mfInput]", inputs: ["size", "hasError", "autosize", "minRows", "maxRows"] }, { kind: "component", type: InputGroup, selector: "mf-input-group", inputs: ["size", "disabled", "hasError", "padded", "wrap"], exportAs: ["mfInputGroup"] }, { kind: "directive", type: InputSuffix, selector: "[mfInputSuffix]", inputs: ["addon"] }] });
87
+ ], exportAs: ["mfPasswordInput"], usesInheritance: true, ngImport: i0, template: "<mf-input-group [size]=\"size()\" [hasError]=\"hasError()\" [disabled]=\"isDisabled()\">\r\n <!-- \u00D6nek yuvas\u0131 dekoratif (kilit ikonu vb.) \u2014 sarmalay\u0131c\u0131 aria-hidden, bo\u015Fken yer kaplamaz. -->\r\n <span mfInputPrefix aria-hidden=\"true\" class=\"empty:hidden\"\r\n ><ng-content select=\"[mfInputPrefix]\"\r\n /></span>\r\n <input\r\n mfInput\r\n [size]=\"size()\"\r\n [attr.id]=\"inputId() || null\"\r\n [attr.name]=\"name() || null\"\r\n [attr.autocomplete]=\"autocomplete()\"\r\n autocapitalize=\"off\"\r\n spellcheck=\"false\"\r\n [type]=\"visible() ? 'text' : 'password'\"\r\n class=\"border-0 bg-transparent p-0 shadow-none focus-visible:outline-none\"\r\n [value]=\"value()\"\r\n [disabled]=\"isDisabled()\"\r\n [required]=\"required()\"\r\n [readOnly]=\"readonly()\"\r\n [placeholder]=\"placeholder()\"\r\n [attr.aria-label]=\"ariaLabel() || null\"\r\n (input)=\"onInput($any($event.target).value)\"\r\n (blur)=\"onTouched()\"\r\n />\r\n <button\r\n mfInputSuffix\r\n type=\"button\"\r\n class=\"appearance-none border-0 bg-transparent p-0 transition-colors duration-fast ease-emphasis hover:text-fg\"\r\n [disabled]=\"isDisabled()\"\r\n [attr.aria-label]=\"visible() ? effectiveHideLabel() : effectiveShowLabel()\"\r\n (click)=\"toggle()\"\r\n >\r\n <span mfIcon [size]=\"toggleIconSize()\">{{ visible() ? 'visibility_off' : 'visibility' }}</span>\r\n </button>\r\n</mf-input-group>\r\n", dependencies: [{ kind: "directive", type: Icon, selector: "span[mfIcon]", inputs: ["size", "filled"] }, { kind: "directive", type: Input, selector: "input[mfInput]:not([type=checkbox]):not([type=radio]), textarea[mfInput]", inputs: ["size", "hasError", "autosize", "minRows", "maxRows"] }, { kind: "component", type: InputGroup, selector: "mf-input-group", inputs: ["size", "disabled", "hasError", "padded", "wrap"], exportAs: ["mfInputGroup"] }, { kind: "directive", type: InputPrefix, selector: "[mfInputPrefix]", inputs: ["addon"] }, { kind: "directive", type: InputSuffix, selector: "[mfInputSuffix]", inputs: ["addon"] }] });
81
88
  }
82
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: PasswordInput, decorators: [{
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: PasswordInput, decorators: [{
83
90
  type: Component,
84
- args: [{
85
- selector: 'mf-password-input',
86
- exportAs: 'mfPasswordInput',
87
- imports: [Icon, Input, InputGroup, InputSuffix],
88
- host: { class: 'inline-flex', '[class.w-full]': 'fullWidth()' },
89
- template: `
90
- <mf-input-group [hasError]="hasError()" [disabled]="disabled()">
91
- <input
92
- mfInput
93
- [attr.id]="inputId() || null"
94
- [type]="visible() ? 'text' : 'password'"
95
- class="border-0 bg-transparent p-0 shadow-none focus-visible:outline-none"
96
- [value]="value()"
97
- [disabled]="disabled()"
98
- [placeholder]="placeholder()"
99
- [attr.aria-label]="ariaLabel() || null"
100
- (input)="onInput($any($event.target).value)"
101
- (blur)="onTouched()"
102
- />
103
- <button
104
- mfInputSuffix
105
- type="button"
106
- class="appearance-none border-0 bg-transparent p-0 transition-colors duration-fast ease-emphasis hover:text-fg"
107
- [attr.aria-label]="visible() ? effectiveHideLabel() : effectiveShowLabel()"
108
- (click)="toggle()"
109
- >
110
- <span mfIcon [size]="16">{{ visible() ? 'visibility_off' : 'visibility' }}</span>
111
- </button>
112
- </mf-input-group>
113
- `,
114
- providers: [
91
+ args: [{ selector: 'mf-password-input', exportAs: 'mfPasswordInput', imports: [Icon, Input, InputGroup, InputPrefix, InputSuffix], host: { class: 'inline-flex', '[class.w-full]': 'fullWidth()' }, providers: [
115
92
  { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => PasswordInput), multi: true },
116
- ],
117
- }]
118
- }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], hasError: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasError", required: false }] }], inputId: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputId", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], fullWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "fullWidth", required: false }] }], showLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "showLabel", required: false }] }], hideLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideLabel", required: false }] }] } });
93
+ ], template: "<mf-input-group [size]=\"size()\" [hasError]=\"hasError()\" [disabled]=\"isDisabled()\">\r\n <!-- \u00D6nek yuvas\u0131 dekoratif (kilit ikonu vb.) \u2014 sarmalay\u0131c\u0131 aria-hidden, bo\u015Fken yer kaplamaz. -->\r\n <span mfInputPrefix aria-hidden=\"true\" class=\"empty:hidden\"\r\n ><ng-content select=\"[mfInputPrefix]\"\r\n /></span>\r\n <input\r\n mfInput\r\n [size]=\"size()\"\r\n [attr.id]=\"inputId() || null\"\r\n [attr.name]=\"name() || null\"\r\n [attr.autocomplete]=\"autocomplete()\"\r\n autocapitalize=\"off\"\r\n spellcheck=\"false\"\r\n [type]=\"visible() ? 'text' : 'password'\"\r\n class=\"border-0 bg-transparent p-0 shadow-none focus-visible:outline-none\"\r\n [value]=\"value()\"\r\n [disabled]=\"isDisabled()\"\r\n [required]=\"required()\"\r\n [readOnly]=\"readonly()\"\r\n [placeholder]=\"placeholder()\"\r\n [attr.aria-label]=\"ariaLabel() || null\"\r\n (input)=\"onInput($any($event.target).value)\"\r\n (blur)=\"onTouched()\"\r\n />\r\n <button\r\n mfInputSuffix\r\n type=\"button\"\r\n class=\"appearance-none border-0 bg-transparent p-0 transition-colors duration-fast ease-emphasis hover:text-fg\"\r\n [disabled]=\"isDisabled()\"\r\n [attr.aria-label]=\"visible() ? effectiveHideLabel() : effectiveShowLabel()\"\r\n (click)=\"toggle()\"\r\n >\r\n <span mfIcon [size]=\"toggleIconSize()\">{{ visible() ? 'visibility_off' : 'visibility' }}</span>\r\n </button>\r\n</mf-input-group>\r\n" }]
94
+ }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], hasError: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasError", required: false }] }], inputId: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputId", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], fullWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "fullWidth", required: false }] }], showLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "showLabel", required: false }] }], hideLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideLabel", required: false }] }], autocomplete: [{ type: i0.Input, args: [{ isSignal: true, alias: "autocomplete", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }] } });
119
95
 
120
96
  /**
121
97
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"mesgflow-ui-kit-password-input.mjs","sources":["../../../projects/ui-kit/password-input/password-input.ts","../../../projects/ui-kit/password-input/mesgflow-ui-kit-password-input.ts"],"sourcesContent":["import { Component, computed, forwardRef, inject, input, model, signal } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, type ControlValueAccessor } from '@angular/forms';\r\nimport { MF_PASSWORD_INPUT_LABELS, ValueAccessorBase } from '@mesgflow/ui-kit/core';\r\nimport { Icon } from '@mesgflow/ui-kit/icon';\r\nimport { Input, InputGroup, InputSuffix } from '@mesgflow/ui-kit/input';\r\n\r\n/**\r\n * `<mf-password-input [(value)]=\"password\" />` — `InputGroup` üstüne kompoze\r\n * edilmiş, sağda göster/gizle düğmesi taşıyan parola alanı (emsal:\r\n * `NumberInput`/`DateRangePicker`'ın AYNI `mf-input-group` kabuğunu\r\n * kullanma deseni). `type=\"password\"`/`\"text\"` arasında geçiş SADECE\r\n * görünürlük içindir — değer her zaman `value` model'inde düz metin olarak\r\n * tutulur.\r\n */\r\n@Component({\r\n selector: 'mf-password-input',\r\n exportAs: 'mfPasswordInput',\r\n imports: [Icon, Input, InputGroup, InputSuffix],\r\n host: { class: 'inline-flex', '[class.w-full]': 'fullWidth()' },\r\n template: `\r\n <mf-input-group [hasError]=\"hasError()\" [disabled]=\"disabled()\">\r\n <input\r\n mfInput\r\n [attr.id]=\"inputId() || null\"\r\n [type]=\"visible() ? 'text' : 'password'\"\r\n class=\"border-0 bg-transparent p-0 shadow-none focus-visible:outline-none\"\r\n [value]=\"value()\"\r\n [disabled]=\"disabled()\"\r\n [placeholder]=\"placeholder()\"\r\n [attr.aria-label]=\"ariaLabel() || null\"\r\n (input)=\"onInput($any($event.target).value)\"\r\n (blur)=\"onTouched()\"\r\n />\r\n <button\r\n mfInputSuffix\r\n type=\"button\"\r\n class=\"appearance-none border-0 bg-transparent p-0 transition-colors duration-fast ease-emphasis hover:text-fg\"\r\n [attr.aria-label]=\"visible() ? effectiveHideLabel() : effectiveShowLabel()\"\r\n (click)=\"toggle()\"\r\n >\r\n <span mfIcon [size]=\"16\">{{ visible() ? 'visibility_off' : 'visibility' }}</span>\r\n </button>\r\n </mf-input-group>\r\n `,\r\n providers: [\r\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => PasswordInput), multi: true },\r\n ],\r\n})\r\nexport class PasswordInput extends ValueAccessorBase<string> implements ControlValueAccessor {\r\n readonly value = model('');\r\n readonly placeholder = input('');\r\n readonly disabled = input(false);\r\n readonly hasError = input(false);\r\n /** İç `<input>`'un id'si — harici bir `<label for>` / `mf-field for` ile ilişkilendirmek için. */\r\n readonly inputId = input<string>();\r\n readonly ariaLabel = input('');\r\n readonly fullWidth = input(false);\r\n readonly showLabel = input<string>();\r\n readonly hideLabel = input<string>();\r\n\r\n private readonly passwordLabels = inject(MF_PASSWORD_INPUT_LABELS);\r\n protected readonly effectiveShowLabel = computed(\r\n () => this.showLabel() ?? this.passwordLabels().show,\r\n );\r\n protected readonly effectiveHideLabel = computed(\r\n () => this.hideLabel() ?? this.passwordLabels().hide,\r\n );\r\n\r\n protected readonly visible = signal(false);\r\n\r\n writeValue(value: string): void {\r\n this.value.set(value);\r\n }\r\n\r\n protected toggle(): void {\r\n this.visible.update((v) => !v);\r\n }\r\n\r\n protected onInput(raw: string): void {\r\n this.value.set(raw);\r\n this.onChange(raw);\r\n }\r\n}\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-password-input.mjs","sources":["../../../projects/ui-kit/password-input/password-input.ts","../../../projects/ui-kit/password-input/password-input.html","../../../projects/ui-kit/password-input/mesgflow-ui-kit-password-input.ts"],"sourcesContent":["import {\r\n Component,\r\n booleanAttribute,\r\n computed,\r\n forwardRef,\r\n inject,\r\n input,\r\n model,\r\n signal,\r\n} from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, type ControlValueAccessor } from '@angular/forms';\r\nimport { MF_PASSWORD_INPUT_LABELS, ValueAccessorBase, type MfSize } from '@mesgflow/ui-kit/core';\r\nimport { Icon } from '@mesgflow/ui-kit/icon';\r\nimport { Input, InputGroup, InputPrefix, InputSuffix } from '@mesgflow/ui-kit/input';\r\n\r\n/**\r\n * Parola alanının `autocomplete` ipucu — parola yöneticileri/tarayıcı bunu okur:\r\n * - `current-password` (varsayılan): giriş formu — kayıtlı parolayı doldurur.\r\n * - `new-password`: kayıt/parola değiştirme — güçlü parola ÖNERİR, eskisini doldurmaz\r\n * (hem \"yeni\" hem \"tekrar\" alanında kullanılır).\r\n * - `off`: modern tarayıcılar parola alanlarında çoğunlukla YOK SAYAR — sadece\r\n * gerçekten tek kullanımlık alanlarda (ör. API anahtarı onayı) kullanın.\r\n * - Diğer geçerli token dizileri de kabul edilir (ör. `section-billing current-password`).\r\n */\r\nexport type PasswordAutocomplete = 'current-password' | 'new-password' | 'off' | (string & {});\r\n\r\n/**\r\n * `<mf-password-input [(value)]=\"password\" />` — `InputGroup` üstüne kompoze\r\n * edilmiş, sağda göster/gizle düğmesi taşıyan parola alanı (emsal:\r\n * `NumberInput`/`DateRangePicker`'ın AYNI `mf-input-group` kabuğunu\r\n * kullanma deseni). `type=\"password\"`/`\"text\"` arasında geçiş SADECE\r\n * görünürlük içindir — değer her zaman `value` model'inde düz metin olarak\r\n * tutulur.\r\n *\r\n * Parola yöneticisi uyumu: `autocomplete` (varsayılan `current-password`) ve\r\n * `name` iç `<input>`'a iletilir; `autocapitalize=\"off\"`/`spellcheck=\"false\"`\r\n * sabit — parola görünür moda (`type=\"text\"`) geçtiğinde de mobil klavye büyük\r\n * harfe çevirmez, yazım denetimi parolayı bir sözlük servisine göndermez.\r\n * Signal Forms `[formField]` bağlandığında `name`/`required`/`readonly`/`disabled`\r\n * alan durumundan OTOMATİK doldurulur.\r\n *\r\n * `size`: `input[mfInput]`/`mf-input-group` ile AYNI yükseklik/dolgu/font token'ları —\r\n * aynı boydaki düz bir `mfInput` ile yan yana hizalı durur; göster/gizle ikonu boyla büyür.\r\n *\r\n * Önek: `[mfInputPrefix]` işaretli çocuk (ör. `<span mfIcon mfInputPrefix>lock</span>`)\r\n * alanın soluna, `mf-input-group`'un önek yuvasına projekte edilir — metin başlangıcı\r\n * önekli bir `mf-input-group` ile aynı. Önek dekoratif kabul edilir (`aria-hidden`).\r\n */\r\n@Component({\r\n selector: 'mf-password-input',\r\n exportAs: 'mfPasswordInput',\r\n imports: [Icon, Input, InputGroup, InputPrefix, InputSuffix],\r\n host: { class: 'inline-flex', '[class.w-full]': 'fullWidth()' },\r\n templateUrl: './password-input.html',\r\n providers: [\r\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => PasswordInput), multi: true },\r\n ],\r\n})\r\nexport class PasswordInput extends ValueAccessorBase<string> implements ControlValueAccessor {\r\n readonly value = model('');\r\n readonly size = input<MfSize>('md');\r\n readonly placeholder = input('');\r\n readonly disabled = input(false, { transform: booleanAttribute });\r\n readonly hasError = input(false, { transform: booleanAttribute });\r\n /** İç `<input>`'un id'si — harici bir `<label for>` / `mf-field for` ile ilişkilendirmek için. */\r\n readonly inputId = input<string>();\r\n readonly ariaLabel = input('');\r\n readonly fullWidth = input(false, { transform: booleanAttribute });\r\n readonly showLabel = input<string>();\r\n readonly hideLabel = input<string>();\r\n /** Parola yöneticisi ipucu — bkz. `PasswordAutocomplete`. */\r\n readonly autocomplete = input<PasswordAutocomplete>('current-password');\r\n /** İç `<input>`'un `name`'i — form gönderimi ve parola yöneticilerinin alanı tanıması için. */\r\n readonly name = input<string>();\r\n readonly required = input(false, { transform: booleanAttribute });\r\n readonly readonly = input(false, { transform: booleanAttribute });\r\n\r\n private readonly passwordLabels = inject(MF_PASSWORD_INPUT_LABELS);\r\n protected readonly effectiveShowLabel = computed(\r\n () => this.showLabel() ?? this.passwordLabels().show,\r\n );\r\n protected readonly effectiveHideLabel = computed(\r\n () => this.hideLabel() ?? this.passwordLabels().hide,\r\n );\r\n\r\n /** Reactive Forms `control.disable()` — `disabled` girdisiyle VEYA'lanır. */\r\n private readonly formDisabled = signal(false);\r\n protected readonly isDisabled = computed(() => this.disabled() || this.formDisabled());\r\n\r\n protected readonly visible = signal(false);\r\n protected readonly toggleIconSize = computed(() => ({ sm: 14, md: 16, lg: 18 })[this.size()]);\r\n\r\n writeValue(value: string | null): void {\r\n this.value.set(value ?? '');\r\n }\r\n\r\n setDisabledState(disabled: boolean): void {\r\n this.formDisabled.set(disabled);\r\n }\r\n\r\n protected toggle(): void {\r\n this.visible.update((v) => !v);\r\n }\r\n\r\n protected onInput(raw: string): void {\r\n this.value.set(raw);\r\n this.onChange(raw);\r\n }\r\n}\r\n","<mf-input-group [size]=\"size()\" [hasError]=\"hasError()\" [disabled]=\"isDisabled()\">\r\n <!-- Önek yuvası dekoratif (kilit ikonu vb.) — sarmalayıcı aria-hidden, boşken yer kaplamaz. -->\r\n <span mfInputPrefix aria-hidden=\"true\" class=\"empty:hidden\"\r\n ><ng-content select=\"[mfInputPrefix]\"\r\n /></span>\r\n <input\r\n mfInput\r\n [size]=\"size()\"\r\n [attr.id]=\"inputId() || null\"\r\n [attr.name]=\"name() || null\"\r\n [attr.autocomplete]=\"autocomplete()\"\r\n autocapitalize=\"off\"\r\n spellcheck=\"false\"\r\n [type]=\"visible() ? 'text' : 'password'\"\r\n class=\"border-0 bg-transparent p-0 shadow-none focus-visible:outline-none\"\r\n [value]=\"value()\"\r\n [disabled]=\"isDisabled()\"\r\n [required]=\"required()\"\r\n [readOnly]=\"readonly()\"\r\n [placeholder]=\"placeholder()\"\r\n [attr.aria-label]=\"ariaLabel() || null\"\r\n (input)=\"onInput($any($event.target).value)\"\r\n (blur)=\"onTouched()\"\r\n />\r\n <button\r\n mfInputSuffix\r\n type=\"button\"\r\n class=\"appearance-none border-0 bg-transparent p-0 transition-colors duration-fast ease-emphasis hover:text-fg\"\r\n [disabled]=\"isDisabled()\"\r\n [attr.aria-label]=\"visible() ? effectiveHideLabel() : effectiveShowLabel()\"\r\n (click)=\"toggle()\"\r\n >\r\n <span mfIcon [size]=\"toggleIconSize()\">{{ visible() ? 'visibility_off' : 'visibility' }}</span>\r\n </button>\r\n</mf-input-group>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -103,8 +103,8 @@ class Popover {
103
103
  this.open.set(false);
104
104
  this.closed.emit();
105
105
  }
106
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: Popover, deps: [], target: i0.ɵɵFactoryTarget.Component });
107
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.6", type: Popover, isStandalone: true, selector: "mf-popover", inputs: { origin: { classPropertyName: "origin", publicName: "origin", isSignal: true, isRequired: true, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, padding: { classPropertyName: "padding", publicName: "padding", isSignal: true, isRequired: false, transformFunction: null }, hasBackdrop: { classPropertyName: "hasBackdrop", publicName: "hasBackdrop", isSignal: true, isRequired: false, transformFunction: null }, matchTriggerWidth: { classPropertyName: "matchTriggerWidth", publicName: "matchTriggerWidth", isSignal: true, isRequired: false, transformFunction: null }, panelClass: { classPropertyName: "panelClass", publicName: "panelClass", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { open: "openChange", closed: "closed" }, host: { classAttribute: "contents" }, exportAs: ["mfPopover"], ngImport: i0, template: `
106
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: Popover, deps: [], target: i0.ɵɵFactoryTarget.Component });
107
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.7", type: Popover, isStandalone: true, selector: "mf-popover", inputs: { origin: { classPropertyName: "origin", publicName: "origin", isSignal: true, isRequired: true, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, padding: { classPropertyName: "padding", publicName: "padding", isSignal: true, isRequired: false, transformFunction: null }, hasBackdrop: { classPropertyName: "hasBackdrop", publicName: "hasBackdrop", isSignal: true, isRequired: false, transformFunction: null }, matchTriggerWidth: { classPropertyName: "matchTriggerWidth", publicName: "matchTriggerWidth", isSignal: true, isRequired: false, transformFunction: null }, panelClass: { classPropertyName: "panelClass", publicName: "panelClass", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { open: "openChange", closed: "closed" }, host: { classAttribute: "contents" }, exportAs: ["mfPopover"], ngImport: i0, template: `
108
108
  <ng-template
109
109
  cdkConnectedOverlay
110
110
  [cdkConnectedOverlayOrigin]="origin()"
@@ -130,7 +130,7 @@ class Popover {
130
130
  </ng-template>
131
131
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation", "cdkConnectedOverlayUsePopover", "cdkConnectedOverlayMatchWidth", "cdkConnectedOverlay"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }] });
132
132
  }
133
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: Popover, decorators: [{
133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: Popover, decorators: [{
134
134
  type: Component,
135
135
  args: [{
136
136
  selector: 'mf-popover',
@@ -88,8 +88,8 @@ class Progress {
88
88
  ? cn('relative inline-flex shrink-0 items-center justify-center')
89
89
  : cn(progressTrackVariants({ size: this.size() })), /* @ts-ignore */
90
90
  ...(ngDevMode ? [{ debugName: "hostClasses" }] : /* istanbul ignore next */ []));
91
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: Progress, deps: [], target: i0.ɵɵFactoryTarget.Component });
92
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: Progress, isStandalone: true, selector: "mf-progress", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, indeterminate: { classPropertyName: "indeterminate", publicName: "indeterminate", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, tone: { classPropertyName: "tone", publicName: "tone", isSignal: true, isRequired: false, transformFunction: null }, showValue: { classPropertyName: "showValue", publicName: "showValue", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "progressbar" }, properties: { "attr.aria-valuenow": "indeterminate() ? null : clampedValue()", "attr.aria-valuemin": "0", "attr.aria-valuemax": "100", "attr.aria-label": "effectiveAriaLabel()", "class": "hostClasses()" } }, ngImport: i0, template: `
91
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: Progress, deps: [], target: i0.ɵɵFactoryTarget.Component });
92
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: Progress, isStandalone: true, selector: "mf-progress", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, indeterminate: { classPropertyName: "indeterminate", publicName: "indeterminate", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, tone: { classPropertyName: "tone", publicName: "tone", isSignal: true, isRequired: false, transformFunction: null }, showValue: { classPropertyName: "showValue", publicName: "showValue", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "progressbar" }, properties: { "attr.aria-valuenow": "indeterminate() ? null : clampedValue()", "attr.aria-valuemin": "0", "attr.aria-valuemax": "100", "attr.aria-label": "effectiveAriaLabel()", "class": "hostClasses()" } }, ngImport: i0, template: `
93
93
  @if (variant() === 'ring') {
94
94
  <svg
95
95
  [attr.width]="ring().size"
@@ -145,7 +145,7 @@ class Progress {
145
145
  }
146
146
  `, isInline: true });
147
147
  }
148
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: Progress, decorators: [{
148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: Progress, decorators: [{
149
149
  type: Component,
150
150
  args: [{
151
151
  selector: 'mf-progress',