@melodicdev/components 1.3.0 → 1.4.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 (138) hide show
  1. package/assets/melodic-components.js +44 -12
  2. package/assets/melodic-components.js.map +1 -1
  3. package/assets/melodic-components.min.js +386 -356
  4. package/lib/components/data-display/activity-feed/activity-feed-item.component.d.ts +5 -3
  5. package/lib/components/data-display/activity-feed/activity-feed-item.component.d.ts.map +1 -1
  6. package/lib/components/data-display/activity-feed/activity-feed-item.component.js +6 -1
  7. package/lib/components/data-display/activity-feed/activity-feed-item.styles.d.ts.map +1 -1
  8. package/lib/components/data-display/activity-feed/activity-feed-item.styles.js +1 -0
  9. package/lib/components/data-display/activity-feed/activity-feed-item.template.d.ts.map +1 -1
  10. package/lib/components/data-display/activity-feed/activity-feed-item.template.js +2 -1
  11. package/lib/components/data-display/activity-feed/activity-feed.component.d.ts.map +1 -1
  12. package/lib/components/data-display/avatar/avatar.component.d.ts.map +1 -1
  13. package/lib/components/data-display/avatar/avatar.styles.js +1 -1
  14. package/lib/components/data-display/badge/badge.component.d.ts +2 -0
  15. package/lib/components/data-display/badge/badge.component.d.ts.map +1 -1
  16. package/lib/components/data-display/badge/badge.component.js +3 -1
  17. package/lib/components/data-display/badge/badge.styles.d.ts.map +1 -1
  18. package/lib/components/data-display/badge/badge.styles.js +6 -0
  19. package/lib/components/data-display/badge/badge.template.d.ts.map +1 -1
  20. package/lib/components/data-display/badge/badge.template.js +4 -1
  21. package/lib/components/data-display/badge-group/badge-group.component.d.ts.map +1 -1
  22. package/lib/components/data-display/calendar-view/calendar-view.component.d.ts.map +1 -1
  23. package/lib/components/data-display/data-grid/data-grid.component.d.ts.map +1 -1
  24. package/lib/components/data-display/list/list-item.component.d.ts.map +1 -1
  25. package/lib/components/data-display/list/list.component.d.ts.map +1 -1
  26. package/lib/components/data-display/profile-card/index.d.ts +2 -0
  27. package/lib/components/data-display/profile-card/index.d.ts.map +1 -0
  28. package/lib/components/data-display/profile-card/index.js +1 -0
  29. package/lib/components/data-display/profile-card/profile-card.component.d.ts +61 -0
  30. package/lib/components/data-display/profile-card/profile-card.component.d.ts.map +1 -0
  31. package/lib/components/data-display/profile-card/profile-card.component.js +102 -0
  32. package/lib/components/data-display/profile-card/profile-card.styles.d.ts +2 -0
  33. package/lib/components/data-display/profile-card/profile-card.styles.d.ts.map +1 -0
  34. package/lib/components/data-display/profile-card/profile-card.styles.js +144 -0
  35. package/lib/components/data-display/profile-card/profile-card.template.d.ts +3 -0
  36. package/lib/components/data-display/profile-card/profile-card.template.d.ts.map +1 -0
  37. package/lib/components/data-display/profile-card/profile-card.template.js +52 -0
  38. package/lib/components/data-display/stat-card/index.d.ts +2 -0
  39. package/lib/components/data-display/stat-card/index.d.ts.map +1 -0
  40. package/lib/components/data-display/stat-card/index.js +1 -0
  41. package/lib/components/data-display/stat-card/stat-card.component.d.ts +45 -0
  42. package/lib/components/data-display/stat-card/stat-card.component.d.ts.map +1 -0
  43. package/lib/components/data-display/stat-card/stat-card.component.js +59 -0
  44. package/lib/components/data-display/stat-card/stat-card.styles.d.ts +2 -0
  45. package/lib/components/data-display/stat-card/stat-card.styles.d.ts.map +1 -0
  46. package/lib/components/data-display/stat-card/stat-card.styles.js +81 -0
  47. package/lib/components/data-display/stat-card/stat-card.template.d.ts +3 -0
  48. package/lib/components/data-display/stat-card/stat-card.template.d.ts.map +1 -0
  49. package/lib/components/data-display/stat-card/stat-card.template.js +27 -0
  50. package/lib/components/data-display/table/table.component.d.ts.map +1 -1
  51. package/lib/components/data-display/table/table.styles.d.ts.map +1 -1
  52. package/lib/components/data-display/table/table.styles.js +4 -1
  53. package/lib/components/data-display/tag/tag.component.d.ts.map +1 -1
  54. package/lib/components/feedback/alert/alert.component.d.ts.map +1 -1
  55. package/lib/components/feedback/progress/progress.component.d.ts.map +1 -1
  56. package/lib/components/feedback/spinner/spinner.component.d.ts.map +1 -1
  57. package/lib/components/feedback/toast/toast-container.component.d.ts.map +1 -1
  58. package/lib/components/feedback/toast/toast.component.d.ts.map +1 -1
  59. package/lib/components/feedback/toast/toast.service.d.ts.map +1 -1
  60. package/lib/components/forms/autocomplete/autocomplete.component.d.ts.map +1 -1
  61. package/lib/components/forms/button/button.component.d.ts.map +1 -1
  62. package/lib/components/forms/button-group/button-group-item.component.d.ts.map +1 -1
  63. package/lib/components/forms/button-group/button-group.component.d.ts.map +1 -1
  64. package/lib/components/forms/checkbox/checkbox.component.d.ts.map +1 -1
  65. package/lib/components/forms/date-picker/calendar.component.d.ts.map +1 -1
  66. package/lib/components/forms/date-picker/date-picker.component.d.ts.map +1 -1
  67. package/lib/components/forms/date-time-picker/date-time-picker.component.d.ts.map +1 -1
  68. package/lib/components/forms/file-upload/file-icon.component.d.ts.map +1 -1
  69. package/lib/components/forms/file-upload/file-upload-item.component.d.ts.map +1 -1
  70. package/lib/components/forms/file-upload/file-upload.component.d.ts +2 -2
  71. package/lib/components/forms/file-upload/file-upload.component.d.ts.map +1 -1
  72. package/lib/components/forms/file-upload/file-upload.component.js +3 -3
  73. package/lib/components/forms/form-field/form-field.component.d.ts.map +1 -1
  74. package/lib/components/forms/input/input.component.d.ts.map +1 -1
  75. package/lib/components/forms/radio/radio-group.component.d.ts.map +1 -1
  76. package/lib/components/forms/radio/radio.component.d.ts.map +1 -1
  77. package/lib/components/forms/radio-card-group/radio-card-group.component.d.ts.map +1 -1
  78. package/lib/components/forms/radio-card-group/radio-card.component.d.ts.map +1 -1
  79. package/lib/components/forms/select/select.component.d.ts.map +1 -1
  80. package/lib/components/forms/slider/slider.component.d.ts.map +1 -1
  81. package/lib/components/forms/slider/slider.styles.js +2 -2
  82. package/lib/components/forms/textarea/textarea.component.d.ts.map +1 -1
  83. package/lib/components/forms/time-picker/time-picker.component.d.ts.map +1 -1
  84. package/lib/components/forms/toggle/toggle.component.d.ts.map +1 -1
  85. package/lib/components/foundation/card/card.component.d.ts.map +1 -1
  86. package/lib/components/foundation/card/card.styles.js +1 -1
  87. package/lib/components/foundation/container/container.component.d.ts.map +1 -1
  88. package/lib/components/foundation/divider/divider.component.d.ts.map +1 -1
  89. package/lib/components/foundation/stack/stack.component.d.ts.map +1 -1
  90. package/lib/components/general/icon/icon.component.d.ts.map +1 -1
  91. package/lib/components/navigation/breadcrumb/breadcrumb-item.component.d.ts.map +1 -1
  92. package/lib/components/navigation/breadcrumb/breadcrumb.component.d.ts.map +1 -1
  93. package/lib/components/navigation/pagination/pagination.component.d.ts.map +1 -1
  94. package/lib/components/navigation/sidebar/sidebar-group.component.d.ts.map +1 -1
  95. package/lib/components/navigation/sidebar/sidebar-item.component.d.ts +3 -1
  96. package/lib/components/navigation/sidebar/sidebar-item.component.d.ts.map +1 -1
  97. package/lib/components/navigation/sidebar/sidebar-item.component.js +3 -1
  98. package/lib/components/navigation/sidebar/sidebar-item.template.js +1 -1
  99. package/lib/components/navigation/sidebar/sidebar.component.d.ts +1 -3
  100. package/lib/components/navigation/sidebar/sidebar.component.d.ts.map +1 -1
  101. package/lib/components/navigation/sidebar/sidebar.component.js +1 -5
  102. package/lib/components/navigation/steps/step-panel.component.d.ts.map +1 -1
  103. package/lib/components/navigation/steps/step.component.d.ts.map +1 -1
  104. package/lib/components/navigation/steps/steps.component.d.ts +1 -1
  105. package/lib/components/navigation/steps/steps.component.d.ts.map +1 -1
  106. package/lib/components/navigation/tabs/tab-panel.component.d.ts.map +1 -1
  107. package/lib/components/navigation/tabs/tab.component.d.ts.map +1 -1
  108. package/lib/components/navigation/tabs/tabs.component.d.ts +1 -1
  109. package/lib/components/navigation/tabs/tabs.component.d.ts.map +1 -1
  110. package/lib/components/overlays/dialog/dialog-ref.class.d.ts.map +1 -1
  111. package/lib/components/overlays/dialog/dialog.component.d.ts.map +1 -1
  112. package/lib/components/overlays/dialog/dialog.service.d.ts.map +1 -1
  113. package/lib/components/overlays/drawer/drawer.component.d.ts.map +1 -1
  114. package/lib/components/overlays/dropdown/dropdown-group.component.d.ts.map +1 -1
  115. package/lib/components/overlays/dropdown/dropdown-item.component.d.ts.map +1 -1
  116. package/lib/components/overlays/dropdown/dropdown.component.d.ts.map +1 -1
  117. package/lib/components/overlays/popover/popover.component.d.ts.map +1 -1
  118. package/lib/components/overlays/tooltip/tooltip.component.d.ts.map +1 -1
  119. package/lib/components/pages/auth/login-page.component.d.ts.map +1 -1
  120. package/lib/components/pages/auth/signup-page.component.d.ts.map +1 -1
  121. package/lib/components/pages/dashboard/dashboard-page.component.d.ts.map +1 -1
  122. package/lib/components/sections/app-shell/app-shell.component.d.ts.map +1 -1
  123. package/lib/components/sections/hero/hero-section.component.d.ts.map +1 -1
  124. package/lib/components/sections/page-header/page-header.component.d.ts.map +1 -1
  125. package/lib/components/sections/page-section/index.d.ts +2 -0
  126. package/lib/components/sections/page-section/index.d.ts.map +1 -0
  127. package/lib/components/sections/page-section/index.js +1 -0
  128. package/lib/components/sections/page-section/page-section.component.d.ts +39 -0
  129. package/lib/components/sections/page-section/page-section.component.d.ts.map +1 -0
  130. package/lib/components/sections/page-section/page-section.component.js +56 -0
  131. package/lib/components/sections/page-section/page-section.styles.d.ts +2 -0
  132. package/lib/components/sections/page-section/page-section.styles.d.ts.map +1 -0
  133. package/lib/components/sections/page-section/page-section.styles.js +72 -0
  134. package/lib/components/sections/page-section/page-section.template.d.ts +3 -0
  135. package/lib/components/sections/page-section/page-section.template.d.ts.map +1 -0
  136. package/lib/components/sections/page-section/page-section.template.js +30 -0
  137. package/lib/utils/virtual-scroll/index.d.ts.map +1 -1
  138. package/package.json +13 -1
@@ -1,6 +1,6 @@
1
1
  import type { IElementRef } from '@melodicdev/core';
2
2
  import type { Size } from '../../../types/index.js';
3
- type IndicatorColor = 'success' | 'warning' | 'error' | 'primary' | 'gray';
3
+ type IndicatorPreset = 'success' | 'warning' | 'error' | 'primary' | 'gray';
4
4
  /**
5
5
  * ml-activity-feed-item - Individual activity entry within a feed
6
6
  *
@@ -31,8 +31,10 @@ export declare class ActivityFeedItemComponent implements IElementRef {
31
31
  subtitle: string;
32
32
  /** Show indicator dot */
33
33
  indicator: boolean;
34
- /** Indicator dot color */
35
- 'indicator-color': IndicatorColor;
34
+ /** Indicator dot color — preset name or any CSS color value */
35
+ 'indicator-color': IndicatorPreset | string;
36
+ /** Whether the indicator-color is a preset name */
37
+ get isPresetColor(): boolean;
36
38
  /** Check if avatar slot has content */
37
39
  get hasAvatarSlot(): boolean;
38
40
  /** Check if content slot has content */
@@ -1 +1 @@
1
- {"version":3,"file":"activity-feed-item.component.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/activity-feed/activity-feed-item.component.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAIpD,KAAK,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAE3E;;;;;;;;;;;;;GAaG;AACH,qBAMa,yBAA0B,YAAW,WAAW;IAC5D,UAAU,EAAG,WAAW,CAAC;IAEzB,wBAAwB;IACxB,IAAI,SAAM;IAEV,qBAAqB;IACrB,SAAS,SAAM;IAEf,0BAA0B;IAC1B,YAAY,SAAM;IAElB,+BAA+B;IAC/B,iBAAiB,SAAM;IAEvB,kBAAkB;IAClB,aAAa,EAAE,IAAI,CAAQ;IAE3B,mCAAmC;IACnC,QAAQ,SAAM;IAEd,yBAAyB;IACzB,SAAS,UAAS;IAElB,0BAA0B;IAC1B,iBAAiB,EAAE,cAAc,CAAU;IAE3C,uCAAuC;IACvC,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED,wCAAwC;IACxC,IAAI,cAAc,IAAI,OAAO,CAE5B;CACD"}
1
+ {"version":3,"file":"activity-feed-item.component.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/activity-feed/activity-feed-item.component.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAIpD,KAAK,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAG5E;;;;;;;;;;;;;GAaG;AACH,qBAMa,yBAA0B,YAAW,WAAW;IACrD,UAAU,EAAG,WAAW,CAAC;IAEhC,wBAAwB;IACjB,IAAI,SAAM;IAEjB,qBAAqB;IACd,SAAS,SAAM;IAEtB,0BAA0B;IACnB,YAAY,SAAM;IAEzB,+BAA+B;IACxB,iBAAiB,SAAM;IAE9B,kBAAkB;IACX,aAAa,EAAE,IAAI,CAAQ;IAElC,mCAAmC;IAC5B,QAAQ,SAAM;IAErB,yBAAyB;IAClB,SAAS,UAAS;IAEzB,+DAA+D;IACxD,iBAAiB,EAAE,eAAe,GAAG,MAAM,CAAU;IAE5D,mDAAmD;IACnD,IAAW,aAAa,IAAI,OAAO,CAElC;IAED,uCAAuC;IACvC,IAAW,aAAa,IAAI,OAAO,CAElC;IAED,wCAAwC;IACxC,IAAW,cAAc,IAAI,OAAO,CAEnC;CACD"}
@@ -7,6 +7,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  import { MelodicComponent } from '@melodicdev/core';
8
8
  import { activityFeedItemTemplate } from './activity-feed-item.template.js';
9
9
  import { activityFeedItemStyles } from './activity-feed-item.styles.js';
10
+ const INDICATOR_PRESETS = new Set(['success', 'warning', 'error', 'primary', 'gray']);
10
11
  /**
11
12
  * ml-activity-feed-item - Individual activity entry within a feed
12
13
  *
@@ -37,9 +38,13 @@ let ActivityFeedItemComponent = class ActivityFeedItemComponent {
37
38
  this.subtitle = '';
38
39
  /** Show indicator dot */
39
40
  this.indicator = false;
40
- /** Indicator dot color */
41
+ /** Indicator dot color — preset name or any CSS color value */
41
42
  this['indicator-color'] = 'gray';
42
43
  }
44
+ /** Whether the indicator-color is a preset name */
45
+ get isPresetColor() {
46
+ return INDICATOR_PRESETS.has(this['indicator-color']);
47
+ }
43
48
  /** Check if avatar slot has content */
44
49
  get hasAvatarSlot() {
45
50
  return this.elementRef?.querySelector('[slot="avatar"]') !== null;
@@ -1 +1 @@
1
- {"version":3,"file":"activity-feed-item.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/activity-feed/activity-feed-item.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,sBAAsB,iDA+HlC,CAAC"}
1
+ {"version":3,"file":"activity-feed-item.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/activity-feed/activity-feed-item.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,sBAAsB,iDAgIlC,CAAC"}
@@ -105,6 +105,7 @@ export const activityFeedItemStyles = () => css `
105
105
  height: 8px;
106
106
  border-radius: var(--ml-radius-full);
107
107
  flex-shrink: 0;
108
+ background-color: var(--ml-afi-indicator-bg);
108
109
  }
109
110
 
110
111
  .ml-afi__indicator--gray {
@@ -1 +1 @@
1
- {"version":3,"file":"activity-feed-item.template.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/activity-feed/activity-feed-item.template.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAEnF,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,yBAAyB,6CAoDpE"}
1
+ {"version":3,"file":"activity-feed-item.template.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/activity-feed/activity-feed-item.template.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAEnF,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,yBAAyB,6CAqDpE"}
@@ -24,8 +24,9 @@ export function activityFeedItemTemplate(c) {
24
24
  <span
25
25
  class=${classMap({
26
26
  'ml-afi__indicator': true,
27
- [`ml-afi__indicator--${c['indicator-color']}`]: true
27
+ [`ml-afi__indicator--${c['indicator-color']}`]: c.isPresetColor
28
28
  })}
29
+ style=${c.isPresetColor ? '' : `--ml-afi-indicator-bg: ${c['indicator-color']}`}
29
30
  ></span>
30
31
  `)}
31
32
  </div>
@@ -1 +1 @@
1
- {"version":3,"file":"activity-feed.component.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/activity-feed/activity-feed.component.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAIpD,KAAK,mBAAmB,GAAG,MAAM,GAAG,UAAU,CAAC;AAE/C;;;;;;;;;;;;;GAaG;AACH,qBAMa,qBAAsB,YAAW,WAAW;IACxD,UAAU,EAAG,WAAW,CAAC;IAEzB,2BAA2B;IAC3B,OAAO,EAAE,mBAAmB,CAAU;CACtC"}
1
+ {"version":3,"file":"activity-feed.component.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/activity-feed/activity-feed.component.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAIpD,KAAK,mBAAmB,GAAG,MAAM,GAAG,UAAU,CAAC;AAE/C;;;;;;;;;;;;;GAaG;AACH,qBAMa,qBAAsB,YAAW,WAAW;IACjD,UAAU,EAAG,WAAW,CAAC;IAEhC,2BAA2B;IACpB,OAAO,EAAE,mBAAmB,CAAU;CAC7C"}
@@ -1 +1 @@
1
- {"version":3,"file":"avatar.component.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/avatar/avatar.component.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAIpD;;;;;;;;;;;GAWG;AACH,qBAMa,eAAgB,YAAW,WAAW;IAClD,UAAU,EAAG,WAAW,CAAC;IAEzB,uBAAuB;IACvB,GAAG,SAAM;IAET,yBAAyB;IACzB,GAAG,SAAM;IAET,iDAAiD;IACjD,QAAQ,SAAM;IAEd,kBAAkB;IAClB,IAAI,EAAE,IAAI,CAAQ;IAElB,2CAA2C;IAC3C,OAAO,UAAS;IAEhB,wCAAwC;IACxC,WAAW,UAAS;IAEpB,gBAAgB,QAAO,IAAI,CAEzB;IAEF,WAAW,IAAI,MAAM;CAIrB"}
1
+ {"version":3,"file":"avatar.component.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/avatar/avatar.component.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAIpD;;;;;;;;;;;GAWG;AACH,qBAMa,eAAgB,YAAW,WAAW;IAC3C,UAAU,EAAG,WAAW,CAAC;IAEhC,uBAAuB;IAChB,GAAG,SAAM;IAEhB,yBAAyB;IAClB,GAAG,SAAM;IAEhB,iDAAiD;IAC1C,QAAQ,SAAM;IAErB,kBAAkB;IACX,IAAI,EAAE,IAAI,CAAQ;IAEzB,2CAA2C;IACpC,OAAO,UAAS;IAEvB,wCAAwC;IACjC,WAAW,UAAS;IAEpB,gBAAgB,QAAO,IAAI,CAEhC;IAEK,WAAW,IAAI,MAAM;CAI5B"}
@@ -14,7 +14,7 @@ export const avatarStyles = () => css `
14
14
  font-weight: var(--ml-font-semibold);
15
15
  vertical-align: middle;
16
16
  border-radius: var(--ml-radius-full);
17
- border: 2px solid var(--ml-color-surface);
17
+ border: 2px solid var(--ml-avatar-border-color, var(--ml-color-surface));
18
18
  box-shadow: var(--ml-shadow-xs);
19
19
  }
20
20
 
@@ -23,5 +23,7 @@ export declare class BadgeComponent implements IElementRef {
23
23
  dot: boolean;
24
24
  /** Use pill (rounded) shape */
25
25
  pill: boolean;
26
+ /** Custom background color — any CSS color value. Overrides variant colors. */
27
+ color: string;
26
28
  }
27
29
  //# sourceMappingURL=badge.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"badge.component.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/badge/badge.component.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAIrD;;;;;;;;;;;GAWG;AACH,qBAMa,cAAe,YAAW,WAAW;IACjD,UAAU,EAAG,WAAW,CAAC;IAEzB,oBAAoB;IACpB,OAAO,EAAE,YAAY,CAAa;IAElC,iBAAiB;IACjB,IAAI,EAAE,IAAI,CAAQ;IAElB,yBAAyB;IACzB,GAAG,UAAS;IAEZ,+BAA+B;IAC/B,IAAI,UAAS;CACb"}
1
+ {"version":3,"file":"badge.component.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/badge/badge.component.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAIrD;;;;;;;;;;;GAWG;AACH,qBAMa,cAAe,YAAW,WAAW;IAC1C,UAAU,EAAG,WAAW,CAAC;IAEhC,oBAAoB;IACb,OAAO,EAAE,YAAY,CAAa;IAEzC,iBAAiB;IACV,IAAI,EAAE,IAAI,CAAQ;IAEzB,yBAAyB;IAClB,GAAG,UAAS;IAEnB,+BAA+B;IACxB,IAAI,UAAS;IAEpB,+EAA+E;IACxE,KAAK,SAAM;CAClB"}
@@ -29,6 +29,8 @@ let BadgeComponent = class BadgeComponent {
29
29
  this.dot = false;
30
30
  /** Use pill (rounded) shape */
31
31
  this.pill = false;
32
+ /** Custom background color — any CSS color value. Overrides variant colors. */
33
+ this.color = '';
32
34
  }
33
35
  };
34
36
  BadgeComponent = __decorate([
@@ -36,7 +38,7 @@ BadgeComponent = __decorate([
36
38
  selector: 'ml-badge',
37
39
  template: badgeTemplate,
38
40
  styles: badgeStyles,
39
- attributes: ['variant', 'size', 'dot', 'pill']
41
+ attributes: ['variant', 'size', 'dot', 'pill', 'color']
40
42
  })
41
43
  ], BadgeComponent);
42
44
  export { BadgeComponent };
@@ -1 +1 @@
1
- {"version":3,"file":"badge.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/badge/badge.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,iDAoFvB,CAAC"}
1
+ {"version":3,"file":"badge.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/badge/badge.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,iDA0FvB,CAAC"}
@@ -83,4 +83,10 @@ export const badgeStyles = () => css `
83
83
  color: var(--ml-badge-error-text);
84
84
  }
85
85
 
86
+ .ml-badge--custom {
87
+ background-color: var(--ml-badge-bg);
88
+ border-color: transparent;
89
+ color: var(--ml-badge-color, #fff);
90
+ }
91
+
86
92
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"badge.template.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/badge/badge.template.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,wBAAgB,aAAa,CAAC,CAAC,EAAE,cAAc,6CAe9C"}
1
+ {"version":3,"file":"badge.template.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/badge/badge.template.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,wBAAgB,aAAa,CAAC,CAAC,EAAE,cAAc,6CAmB9C"}
@@ -1,14 +1,17 @@
1
1
  import { html, classMap } from '@melodicdev/core';
2
2
  export function badgeTemplate(c) {
3
+ const customStyle = c.color ? `--ml-badge-bg: ${c.color}; --ml-badge-color: #fff` : '';
3
4
  return html `
4
5
  <span
5
6
  class=${classMap({
6
7
  'ml-badge': true,
7
- [`ml-badge--${c.variant}`]: true,
8
+ [`ml-badge--${c.variant}`]: !c.color,
9
+ 'ml-badge--custom': !!c.color,
8
10
  [`ml-badge--${c.size}`]: true,
9
11
  'ml-badge--dot': c.dot,
10
12
  'ml-badge--pill': c.pill
11
13
  })}
14
+ style=${customStyle}
12
15
  >
13
16
  ${c.dot ? html `<span class="ml-badge__dot"></span>` : ''}
14
17
  <slot></slot>
@@ -1 +1 @@
1
- {"version":3,"file":"badge-group.component.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/badge-group/badge-group.component.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAI5D,KAAK,eAAe,GAAG,MAAM,GAAG,QAAQ,CAAC;AACzC,KAAK,aAAa,GAAG,SAAS,GAAG,UAAU,CAAC;AAE5C;;;;;;;;;;;GAWG;AACH,qBAMa,mBAAoB,YAAW,WAAW;IACtD,UAAU,EAAG,WAAW,CAAC;IAEzB,6BAA6B;IAC7B,KAAK,SAAM;IAEX,oBAAoB;IACpB,OAAO,EAAE,YAAY,CAAa;IAElC,mBAAmB;IACnB,KAAK,EAAE,eAAe,CAAU;IAEhC,WAAW;IACX,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAQ;IAEhC,kCAAkC;IAClC,aAAa,EAAE,aAAa,CAAa;IAEzC,kCAAkC;IAClC,IAAI,SAAM;CACV"}
1
+ {"version":3,"file":"badge-group.component.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/badge-group/badge-group.component.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAI5D,KAAK,eAAe,GAAG,MAAM,GAAG,QAAQ,CAAC;AACzC,KAAK,aAAa,GAAG,SAAS,GAAG,UAAU,CAAC;AAE5C;;;;;;;;;;;GAWG;AACH,qBAMa,mBAAoB,YAAW,WAAW;IAC/C,UAAU,EAAG,WAAW,CAAC;IAEhC,6BAA6B;IACtB,KAAK,SAAM;IAElB,oBAAoB;IACb,OAAO,EAAE,YAAY,CAAa;IAEzC,mBAAmB;IACZ,KAAK,EAAE,eAAe,CAAU;IAEvC,WAAW;IACJ,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAQ;IAEvC,kCAAkC;IAC3B,aAAa,EAAE,aAAa,CAAa;IAEhD,kCAAkC;IAC3B,IAAI,SAAM;CACjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"calendar-view.component.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/calendar-view/calendar-view.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"calendar-view.component.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/calendar-view/calendar-view.component.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"data-grid.component.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/data-grid/data-grid.component.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACrG,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAK1E;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAiBa,iBAAkB,YAAW,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB;IACrG,UAAU,EAAG,WAAW,CAAC;IAIzB,0CAA0C;IAC1C,UAAU,UAAS;IAEnB,kCAAkC;IAClC,OAAO,UAAS;IAEhB,8BAA8B;IAC9B,SAAS,UAAQ;IAEjB,wBAAwB;IACxB,IAAI,EAAE,IAAI,GAAG,IAAI,CAAQ;IAEzB,2CAA2C;IAC3C,SAAS,SAAM;IAEf,iDAAiD;IACjD,WAAW,SAAM;IAEjB,kFAAkF;IAClF,UAAU,UAAS;IAEnB,8BAA8B;IAC9B,QAAQ,SAAM;IAEd,2DAA2D;IAC3D,OAAO,UAAQ;IAEf,yDAAyD;IACzD,aAAa,UAAS;IAItB,yBAAyB;IACzB,OAAO,EAAE,cAAc,EAAE,CAAM;IAE/B,eAAe;IACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAM;IAIrC,OAAO,SAAM;IACb,aAAa,EAAE,aAAa,CAAS;IAIrC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAIrC,eAAe,EAAE,MAAM,EAAE,CAAM;IAI/B,WAAW,SAAK;IAIhB,UAAU,SAAK;IACf,QAAQ,SAAM;IAId,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IACvC,QAAQ,EAAE,MAAM,EAAE,CAAM;IAIxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IAIlC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IAClC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IAKlC,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,iBAAiB,CAAK;IAI9B,IAAI,SAAS,IAAI,MAAM,CAEtB;IAID,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAMvE,QAAQ,IAAI,IAAI;IAKhB,QAAQ,IAAI,IAAI;IA6BhB,SAAS,IAAI,IAAI;IAOjB,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,gBAAgB;IAWxB,IAAI,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAS5C;IAED,IAAI,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAY1C;IAED,IAAI,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAIzC;IAED,IAAI,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAE7C;IAED,IAAI,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAG3C;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAID,IAAI,cAAc,IAAI,cAAc,EAAE,CAMrC;IAED,IAAI,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMzC;IAED,IAAI,cAAc,IAAI,MAAM,CAM3B;IAED,IAAI,mBAAmB,IAAI,MAAM,CAKhC;IAED,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAWxC,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,IAAI,kBAAkB,IAAI,MAAM,CAG/B;IAID,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,aAAa,GAAI,OAAO,MAAM,KAAG,OAAO,CAAyC;IAIjF,UAAU,GAAI,KAAK,cAAc,KAAG,IAAI,CAiBtC;IAEF,iBAAiB,GAAI,KAAK,MAAM,EAAE,GAAG,KAAK,KAAG,IAAI,CAY/C;IAEF,eAAe,QAAO,IAAI,CAGxB;IAEF,eAAe,GAAI,OAAO,MAAM,EAAE,GAAG,KAAK,KAAG,IAAI,CAM/C;IAEF,cAAc,GAAI,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,MAAM,KAAG,IAAI,CAQlE;IAEF,iBAAiB,GAAI,KAAK,MAAM,EAAE,GAAG,YAAY,KAAG,IAAI,CAOtD;IAEF,gBAAgB,GAAI,KAAK,MAAM,EAAE,GAAG,YAAY,KAAG,IAAI,CASrD;IAEF,eAAe,QAAO,IAAI,CAUxB;IAEF,eAAe,GAAI,KAAK,MAAM,EAAE,GAAG,SAAS,KAAG,IAAI,CAGjD;IAEF,cAAc,GAAI,KAAK,MAAM,EAAE,GAAG,SAAS,KAAG,IAAI,CAGhD;IAEF,aAAa,QAAO,IAAI,CAGtB;IAEF,UAAU,GAAI,WAAW,MAAM,KAAG,IAAI,CAwBpC;IAEF,QAAQ,GAAI,MAAM,MAAM,KAAG,IAAI,CAY7B;IAEF,OAAO,CAAC,WAAW;CASnB"}
1
+ {"version":3,"file":"data-grid.component.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/data-grid/data-grid.component.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"list-item.component.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/list/list-item.component.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAIpD;;;;;;;;;;;;;;GAcG;AACH,qBAMa,iBAAkB,YAAW,WAAW;IACpD,UAAU,EAAG,WAAW,CAAC;IAEzB,mBAAmB;IACnB,OAAO,SAAM;IAEb,qBAAqB;IACrB,SAAS,SAAM;IAEf,uBAAuB;IACvB,QAAQ,UAAS;IAEjB,oDAAoD;IACpD,WAAW,UAAS;IAEpB,wCAAwC;IACxC,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED,yCAAyC;IACzC,IAAI,eAAe,IAAI,OAAO,CAE7B;CAED"}
1
+ {"version":3,"file":"list-item.component.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/list/list-item.component.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAIpD;;;;;;;;;;;;;;GAcG;AACH,qBAMa,iBAAkB,YAAW,WAAW;IAC7C,UAAU,EAAG,WAAW,CAAC;IAEhC,mBAAmB;IACZ,OAAO,SAAM;IAEpB,qBAAqB;IACd,SAAS,SAAM;IAEtB,uBAAuB;IAChB,QAAQ,UAAS;IAExB,oDAAoD;IAC7C,WAAW,UAAS;IAE3B,wCAAwC;IACxC,IAAW,cAAc,IAAI,OAAO,CAEnC;IAED,yCAAyC;IACzC,IAAW,eAAe,IAAI,OAAO,CAEpC;CAED"}
@@ -1 +1 @@
1
- {"version":3,"file":"list.component.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/list/list.component.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAIpD,KAAK,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC;AACvC,KAAK,QAAQ,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEnC;;;;;;;;;;;;;GAaG;AACH,qBAMa,aAAc,YAAW,WAAW;IAChD,UAAU,EAAG,WAAW,CAAC;IAEzB,2BAA2B;IAC3B,OAAO,EAAE,WAAW,CAAa;IAEjC,wCAAwC;IACxC,IAAI,EAAE,QAAQ,CAAQ;CACtB"}
1
+ {"version":3,"file":"list.component.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/list/list.component.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAIpD,KAAK,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC;AACvC,KAAK,QAAQ,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEnC;;;;;;;;;;;;;GAaG;AACH,qBAMa,aAAc,YAAW,WAAW;IACzC,UAAU,EAAG,WAAW,CAAC;IAEhC,2BAA2B;IACpB,OAAO,EAAE,WAAW,CAAa;IAExC,wCAAwC;IACjC,IAAI,EAAE,QAAQ,CAAQ;CAC7B"}
@@ -0,0 +1,2 @@
1
+ export { ProfileCardComponent } from './profile-card.component.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/profile-card/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1 @@
1
+ export { ProfileCardComponent } from './profile-card.component.js';
@@ -0,0 +1,61 @@
1
+ import type { IElementRef, OnCreate } from '@melodicdev/core';
2
+ import type { Size } from '../../../types/index.js';
3
+ /**
4
+ * ml-profile-card - Identity card for person/entity detail pages
5
+ *
6
+ * @example
7
+ * ```html
8
+ * <ml-profile-card
9
+ * name="Sarah Mitchell"
10
+ * subtitle="Member · Women's Ministry"
11
+ * avatar="https://example.com/photo.jpg"
12
+ * avatar-size="lg"
13
+ * >
14
+ * <div slot="details">
15
+ * <div class="detail-row"><ml-icon icon="envelope" size="sm"></ml-icon> sarah@example.com</div>
16
+ * <div class="detail-row"><ml-icon icon="phone" size="sm"></ml-icon> (555) 123-4567</div>
17
+ * </div>
18
+ * <div slot="tags">
19
+ * <ml-tag>Women's Ministry</ml-tag>
20
+ * <ml-tag>Choir</ml-tag>
21
+ * </div>
22
+ * <div slot="actions">
23
+ * <ml-button variant="primary">Message</ml-button>
24
+ * <ml-button variant="outline">Edit</ml-button>
25
+ * </div>
26
+ * <div slot="meta">
27
+ * <div>Member since: January 2019</div>
28
+ * <div>Birthday: March 15</div>
29
+ * </div>
30
+ * </ml-profile-card>
31
+ * ```
32
+ *
33
+ * @slot details - Contact info rows (icon + text pairs)
34
+ * @slot tags - Involvement/group tags
35
+ * @slot actions - Action buttons (Message, Edit, etc.)
36
+ * @slot meta - Detail fields (member since, birthday, family)
37
+ *
38
+ * @cssproperty --ml-profile-card-bg - Card background (default: var(--ml-color-surface))
39
+ * @cssproperty --ml-profile-card-banner-from - Banner gradient start color
40
+ * @cssproperty --ml-profile-card-banner-to - Banner gradient end color
41
+ */
42
+ export declare class ProfileCardComponent implements IElementRef, OnCreate {
43
+ elementRef: HTMLElement;
44
+ /** Person name */
45
+ name: string;
46
+ /** Subtitle (e.g. "Member · Women's Ministry") */
47
+ subtitle: string;
48
+ /** Avatar image URL — falls back to initials derived from name */
49
+ avatar: string;
50
+ /** Avatar size */
51
+ 'avatar-size': Size;
52
+ /** Slot visibility flags (toggled via slotchange) */
53
+ hasDetails: boolean;
54
+ hasTags: boolean;
55
+ hasActions: boolean;
56
+ hasMeta: boolean;
57
+ /** Derive initials from name */
58
+ get initials(): string;
59
+ onCreate(): void;
60
+ }
61
+ //# sourceMappingURL=profile-card.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-card.component.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/profile-card/profile-card.component.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAIpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,qBAMa,oBAAqB,YAAW,WAAW,EAAE,QAAQ;IAC1D,UAAU,EAAG,WAAW,CAAC;IAEhC,kBAAkB;IACX,IAAI,SAAM;IAEjB,kDAAkD;IAC3C,QAAQ,SAAM;IAErB,kEAAkE;IAC3D,MAAM,SAAM;IAEnB,kBAAkB;IACX,aAAa,EAAE,IAAI,CAAQ;IAElC,qDAAqD;IAC9C,UAAU,UAAS;IACnB,OAAO,UAAS;IAChB,UAAU,UAAS;IACnB,OAAO,UAAS;IAEvB,gCAAgC;IAChC,IAAW,QAAQ,IAAI,MAAM,CAO5B;IAEM,QAAQ,IAAI,IAAI;CAcvB"}
@@ -0,0 +1,102 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { MelodicComponent } from '@melodicdev/core';
8
+ import { profileCardTemplate } from './profile-card.template.js';
9
+ import { profileCardStyles } from './profile-card.styles.js';
10
+ /**
11
+ * ml-profile-card - Identity card for person/entity detail pages
12
+ *
13
+ * @example
14
+ * ```html
15
+ * <ml-profile-card
16
+ * name="Sarah Mitchell"
17
+ * subtitle="Member · Women's Ministry"
18
+ * avatar="https://example.com/photo.jpg"
19
+ * avatar-size="lg"
20
+ * >
21
+ * <div slot="details">
22
+ * <div class="detail-row"><ml-icon icon="envelope" size="sm"></ml-icon> sarah@example.com</div>
23
+ * <div class="detail-row"><ml-icon icon="phone" size="sm"></ml-icon> (555) 123-4567</div>
24
+ * </div>
25
+ * <div slot="tags">
26
+ * <ml-tag>Women's Ministry</ml-tag>
27
+ * <ml-tag>Choir</ml-tag>
28
+ * </div>
29
+ * <div slot="actions">
30
+ * <ml-button variant="primary">Message</ml-button>
31
+ * <ml-button variant="outline">Edit</ml-button>
32
+ * </div>
33
+ * <div slot="meta">
34
+ * <div>Member since: January 2019</div>
35
+ * <div>Birthday: March 15</div>
36
+ * </div>
37
+ * </ml-profile-card>
38
+ * ```
39
+ *
40
+ * @slot details - Contact info rows (icon + text pairs)
41
+ * @slot tags - Involvement/group tags
42
+ * @slot actions - Action buttons (Message, Edit, etc.)
43
+ * @slot meta - Detail fields (member since, birthday, family)
44
+ *
45
+ * @cssproperty --ml-profile-card-bg - Card background (default: var(--ml-color-surface))
46
+ * @cssproperty --ml-profile-card-banner-from - Banner gradient start color
47
+ * @cssproperty --ml-profile-card-banner-to - Banner gradient end color
48
+ */
49
+ let ProfileCardComponent = class ProfileCardComponent {
50
+ constructor() {
51
+ /** Person name */
52
+ this.name = '';
53
+ /** Subtitle (e.g. "Member · Women's Ministry") */
54
+ this.subtitle = '';
55
+ /** Avatar image URL — falls back to initials derived from name */
56
+ this.avatar = '';
57
+ /** Avatar size */
58
+ this['avatar-size'] = 'lg';
59
+ /** Slot visibility flags (toggled via slotchange) */
60
+ this.hasDetails = false;
61
+ this.hasTags = false;
62
+ this.hasActions = false;
63
+ this.hasMeta = false;
64
+ }
65
+ /** Derive initials from name */
66
+ get initials() {
67
+ return this.name
68
+ .split(' ')
69
+ .map(part => part.charAt(0))
70
+ .join('')
71
+ .toUpperCase()
72
+ .slice(0, 2);
73
+ }
74
+ onCreate() {
75
+ const shadow = this.elementRef.shadowRoot;
76
+ if (!shadow)
77
+ return;
78
+ shadow.querySelectorAll('slot[name]').forEach(slot => {
79
+ slot.addEventListener('slotchange', () => {
80
+ const name = slot.getAttribute('name');
81
+ const hasContent = slot.assignedNodes().length > 0;
82
+ if (name === 'details')
83
+ this.hasDetails = hasContent;
84
+ else if (name === 'tags')
85
+ this.hasTags = hasContent;
86
+ else if (name === 'actions')
87
+ this.hasActions = hasContent;
88
+ else if (name === 'meta')
89
+ this.hasMeta = hasContent;
90
+ });
91
+ });
92
+ }
93
+ };
94
+ ProfileCardComponent = __decorate([
95
+ MelodicComponent({
96
+ selector: 'ml-profile-card',
97
+ template: profileCardTemplate,
98
+ styles: profileCardStyles,
99
+ attributes: ['name', 'subtitle', 'avatar', 'avatar-size']
100
+ })
101
+ ], ProfileCardComponent);
102
+ export { ProfileCardComponent };
@@ -0,0 +1,2 @@
1
+ export declare const profileCardStyles: () => import("@melodicdev/core").TemplateResult;
2
+ //# sourceMappingURL=profile-card.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-card.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/profile-card/profile-card.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,iDA8I7B,CAAC"}
@@ -0,0 +1,144 @@
1
+ import { css } from '@melodicdev/core';
2
+ export const profileCardStyles = () => css `
3
+ :host {
4
+ display: block;
5
+ }
6
+
7
+ .ml-profile-card {
8
+ background-color: var(--ml-profile-card-bg, var(--ml-color-surface));
9
+ border: var(--ml-border) solid var(--ml-color-border);
10
+ border-radius: var(--ml-radius-lg);
11
+ }
12
+
13
+ /* Subtle gradient banner at top */
14
+ .ml-profile-card__banner {
15
+ height: var(--ml-profile-card-banner-height, 80px);
16
+ border-radius: var(--ml-radius-lg) var(--ml-radius-lg) 0 0;
17
+ background: linear-gradient(
18
+ 135deg,
19
+ var(--ml-profile-card-banner-from, var(--ml-color-primary)),
20
+ var(--ml-profile-card-banner-to, var(--ml-color-primary-hover, var(--ml-color-primary)))
21
+ );
22
+ opacity: var(--ml-profile-card-banner-opacity, 0.85);
23
+ }
24
+
25
+ /* Centered identity area */
26
+ .ml-profile-card__identity {
27
+ position: relative;
28
+ z-index: 1;
29
+ display: flex;
30
+ flex-direction: column;
31
+ align-items: center;
32
+ padding: 0 var(--ml-space-5) var(--ml-space-4);
33
+ margin-top: calc(var(--ml-space-10) * -1);
34
+ text-align: center;
35
+ }
36
+
37
+ .ml-profile-card__avatar {
38
+ display: inline-block;
39
+ margin-bottom: var(--ml-space-3);
40
+ border-radius: var(--ml-radius-full);
41
+ box-shadow: 0 0 0 4px var(--ml-profile-card-bg, var(--ml-color-surface)), 0 0 0 5px var(--ml-color-border), var(--ml-shadow-md);
42
+ line-height: 0;
43
+ position: relative;
44
+ z-index: 1;
45
+ }
46
+
47
+ .ml-profile-card__avatar ml-avatar {
48
+ display: block;
49
+ --ml-avatar-border-color: var(--ml-color-border-muted, var(--ml-color-border));
50
+ }
51
+
52
+ .ml-profile-card__name {
53
+ margin: 0;
54
+ font-family: var(--ml-profile-card-name-font, 'Cormorant Garamond', 'Georgia', serif);
55
+ font-size: var(--ml-text-xl);
56
+ font-weight: var(--ml-font-semibold);
57
+ color: var(--ml-color-text);
58
+ line-height: var(--ml-leading-tight);
59
+ }
60
+
61
+ .ml-profile-card__subtitle {
62
+ margin: var(--ml-space-1) 0 0;
63
+ font-family: var(--ml-font-sans);
64
+ font-size: var(--ml-text-sm);
65
+ color: var(--ml-color-text-muted);
66
+ }
67
+
68
+ /* Sections */
69
+ .ml-profile-card__section {
70
+ padding: var(--ml-space-4) var(--ml-space-5);
71
+ border-top: var(--ml-border) solid var(--ml-color-border);
72
+ }
73
+
74
+ .ml-profile-card__section--hidden {
75
+ display: none;
76
+ }
77
+
78
+ .ml-profile-card__section-label {
79
+ width: 100%;
80
+ font-family: var(--ml-font-sans);
81
+ font-size: var(--ml-text-xs);
82
+ font-weight: var(--ml-font-semibold);
83
+ color: var(--ml-color-text-muted);
84
+ text-transform: uppercase;
85
+ letter-spacing: 0.06em;
86
+ margin-bottom: var(--ml-space-1);
87
+ }
88
+
89
+ /* Actions section */
90
+ .ml-profile-card__actions {
91
+ display: flex;
92
+ justify-content: center;
93
+ gap: var(--ml-space-3);
94
+ }
95
+
96
+ .ml-profile-card__actions.ml-profile-card__section--hidden {
97
+ display: none;
98
+ }
99
+
100
+ /* Details section */
101
+ .ml-profile-card__details {
102
+ display: flex;
103
+ flex-direction: column;
104
+ gap: var(--ml-space-2);
105
+ font-family: var(--ml-font-sans);
106
+ font-size: var(--ml-text-sm);
107
+ color: var(--ml-color-text-secondary);
108
+ }
109
+
110
+ .ml-profile-card__details.ml-profile-card__section--hidden {
111
+ display: none;
112
+ }
113
+
114
+ .ml-profile-card__details ::slotted(*) {
115
+ display: flex;
116
+ align-items: center;
117
+ gap: var(--ml-space-2);
118
+ }
119
+
120
+ /* Tags section */
121
+ .ml-profile-card__tags {
122
+ display: flex;
123
+ flex-wrap: wrap;
124
+ gap: var(--ml-space-2);
125
+ }
126
+
127
+ .ml-profile-card__tags.ml-profile-card__section--hidden {
128
+ display: none;
129
+ }
130
+
131
+ /* Meta section */
132
+ .ml-profile-card__meta {
133
+ display: flex;
134
+ flex-direction: column;
135
+ gap: var(--ml-space-2);
136
+ font-family: var(--ml-font-sans);
137
+ font-size: var(--ml-text-sm);
138
+ color: var(--ml-color-text-secondary);
139
+ }
140
+
141
+ .ml-profile-card__meta.ml-profile-card__section--hidden {
142
+ display: none;
143
+ }
144
+ `;
@@ -0,0 +1,3 @@
1
+ import type { ProfileCardComponent } from './profile-card.component.js';
2
+ export declare function profileCardTemplate(c: ProfileCardComponent): import("@melodicdev/core").TemplateResult;
3
+ //# sourceMappingURL=profile-card.template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-card.template.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/profile-card/profile-card.template.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAExE,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,oBAAoB,6CAkD1D"}
@@ -0,0 +1,52 @@
1
+ import { html, classMap, when } from '@melodicdev/core';
2
+ export function profileCardTemplate(c) {
3
+ return html `
4
+ <div class="ml-profile-card">
5
+ <div class="ml-profile-card__banner"></div>
6
+ <div class="ml-profile-card__identity">
7
+ <div class="ml-profile-card__avatar">
8
+ <ml-avatar
9
+ size=${c['avatar-size']}
10
+ src=${c.avatar}
11
+ initials=${c.initials}
12
+ ></ml-avatar>
13
+ </div>
14
+ <h2 class="ml-profile-card__name">${c.name}</h2>
15
+ ${when(!!c.subtitle, () => html `
16
+ <p class="ml-profile-card__subtitle">${c.subtitle}</p>
17
+ `)}
18
+ </div>
19
+ <div class=${classMap({
20
+ 'ml-profile-card__section': true,
21
+ 'ml-profile-card__actions': true,
22
+ 'ml-profile-card__section--hidden': !c.hasActions
23
+ })}>
24
+ <slot name="actions"></slot>
25
+ </div>
26
+ <div class=${classMap({
27
+ 'ml-profile-card__section': true,
28
+ 'ml-profile-card__details': true,
29
+ 'ml-profile-card__section--hidden': !c.hasDetails
30
+ })}>
31
+ <div class="ml-profile-card__section-label">Contact</div>
32
+ <slot name="details"></slot>
33
+ </div>
34
+ <div class=${classMap({
35
+ 'ml-profile-card__section': true,
36
+ 'ml-profile-card__tags': true,
37
+ 'ml-profile-card__section--hidden': !c.hasTags
38
+ })}>
39
+ <div class="ml-profile-card__section-label">Involvement</div>
40
+ <slot name="tags"></slot>
41
+ </div>
42
+ <div class=${classMap({
43
+ 'ml-profile-card__section': true,
44
+ 'ml-profile-card__meta': true,
45
+ 'ml-profile-card__section--hidden': !c.hasMeta
46
+ })}>
47
+ <div class="ml-profile-card__section-label">Details</div>
48
+ <slot name="meta"></slot>
49
+ </div>
50
+ </div>
51
+ `;
52
+ }