@melodicdev/components 1.2.4 → 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.
- package/assets/melodic-components.js +76 -19
- package/assets/melodic-components.js.map +1 -1
- package/assets/melodic-components.min.js +474 -420
- package/lib/components/data-display/activity-feed/activity-feed-item.component.d.ts +5 -3
- package/lib/components/data-display/activity-feed/activity-feed-item.component.d.ts.map +1 -1
- package/lib/components/data-display/activity-feed/activity-feed-item.component.js +6 -1
- package/lib/components/data-display/activity-feed/activity-feed-item.styles.d.ts.map +1 -1
- package/lib/components/data-display/activity-feed/activity-feed-item.styles.js +1 -0
- package/lib/components/data-display/activity-feed/activity-feed-item.template.d.ts.map +1 -1
- package/lib/components/data-display/activity-feed/activity-feed-item.template.js +2 -1
- package/lib/components/data-display/activity-feed/activity-feed.component.d.ts.map +1 -1
- package/lib/components/data-display/avatar/avatar.component.d.ts.map +1 -1
- package/lib/components/data-display/avatar/avatar.styles.js +1 -1
- package/lib/components/data-display/badge/badge.component.d.ts +2 -0
- package/lib/components/data-display/badge/badge.component.d.ts.map +1 -1
- package/lib/components/data-display/badge/badge.component.js +3 -1
- package/lib/components/data-display/badge/badge.styles.d.ts.map +1 -1
- package/lib/components/data-display/badge/badge.styles.js +6 -0
- package/lib/components/data-display/badge/badge.template.d.ts.map +1 -1
- package/lib/components/data-display/badge/badge.template.js +4 -1
- package/lib/components/data-display/badge-group/badge-group.component.d.ts.map +1 -1
- package/lib/components/data-display/calendar-view/calendar-view.component.d.ts.map +1 -1
- package/lib/components/data-display/data-grid/data-grid.component.d.ts.map +1 -1
- package/lib/components/data-display/list/list-item.component.d.ts.map +1 -1
- package/lib/components/data-display/list/list.component.d.ts.map +1 -1
- package/lib/components/data-display/profile-card/index.d.ts +2 -0
- package/lib/components/data-display/profile-card/index.d.ts.map +1 -0
- package/lib/components/data-display/profile-card/index.js +1 -0
- package/lib/components/data-display/profile-card/profile-card.component.d.ts +61 -0
- package/lib/components/data-display/profile-card/profile-card.component.d.ts.map +1 -0
- package/lib/components/data-display/profile-card/profile-card.component.js +102 -0
- package/lib/components/data-display/profile-card/profile-card.styles.d.ts +2 -0
- package/lib/components/data-display/profile-card/profile-card.styles.d.ts.map +1 -0
- package/lib/components/data-display/profile-card/profile-card.styles.js +144 -0
- package/lib/components/data-display/profile-card/profile-card.template.d.ts +3 -0
- package/lib/components/data-display/profile-card/profile-card.template.d.ts.map +1 -0
- package/lib/components/data-display/profile-card/profile-card.template.js +52 -0
- package/lib/components/data-display/stat-card/index.d.ts +2 -0
- package/lib/components/data-display/stat-card/index.d.ts.map +1 -0
- package/lib/components/data-display/stat-card/index.js +1 -0
- package/lib/components/data-display/stat-card/stat-card.component.d.ts +45 -0
- package/lib/components/data-display/stat-card/stat-card.component.d.ts.map +1 -0
- package/lib/components/data-display/stat-card/stat-card.component.js +59 -0
- package/lib/components/data-display/stat-card/stat-card.styles.d.ts +2 -0
- package/lib/components/data-display/stat-card/stat-card.styles.d.ts.map +1 -0
- package/lib/components/data-display/stat-card/stat-card.styles.js +81 -0
- package/lib/components/data-display/stat-card/stat-card.template.d.ts +3 -0
- package/lib/components/data-display/stat-card/stat-card.template.d.ts.map +1 -0
- package/lib/components/data-display/stat-card/stat-card.template.js +27 -0
- package/lib/components/data-display/table/table.component.d.ts.map +1 -1
- package/lib/components/data-display/table/table.styles.d.ts.map +1 -1
- package/lib/components/data-display/table/table.styles.js +4 -1
- package/lib/components/data-display/tag/tag.component.d.ts.map +1 -1
- package/lib/components/feedback/alert/alert.component.d.ts.map +1 -1
- package/lib/components/feedback/progress/progress.component.d.ts.map +1 -1
- package/lib/components/feedback/spinner/spinner.component.d.ts.map +1 -1
- package/lib/components/feedback/toast/toast-container.component.d.ts.map +1 -1
- package/lib/components/feedback/toast/toast.component.d.ts.map +1 -1
- package/lib/components/feedback/toast/toast.service.d.ts.map +1 -1
- package/lib/components/forms/autocomplete/autocomplete.component.d.ts.map +1 -1
- package/lib/components/forms/button/button.component.d.ts.map +1 -1
- package/lib/components/forms/button-group/button-group-item.component.d.ts.map +1 -1
- package/lib/components/forms/button-group/button-group.component.d.ts.map +1 -1
- package/lib/components/forms/checkbox/checkbox.component.d.ts.map +1 -1
- package/lib/components/forms/date-picker/calendar.component.d.ts.map +1 -1
- package/lib/components/forms/date-picker/date-picker.component.d.ts.map +1 -1
- package/lib/components/forms/date-time-picker/date-time-picker.component.d.ts.map +1 -1
- package/lib/components/forms/file-upload/file-icon.component.d.ts +12 -0
- package/lib/components/forms/file-upload/file-icon.component.d.ts.map +1 -0
- package/lib/components/forms/file-upload/file-icon.component.js +34 -0
- package/lib/components/forms/file-upload/file-icon.styles.d.ts +2 -0
- package/lib/components/forms/file-upload/file-icon.styles.d.ts.map +1 -0
- package/lib/components/forms/file-upload/file-icon.styles.js +124 -0
- package/lib/components/forms/file-upload/file-icon.template.d.ts +3 -0
- package/lib/components/forms/file-upload/file-icon.template.d.ts.map +1 -0
- package/lib/components/forms/file-upload/file-icon.template.js +18 -0
- package/lib/components/forms/file-upload/file-upload-item.component.d.ts +17 -0
- package/lib/components/forms/file-upload/file-upload-item.component.d.ts.map +1 -0
- package/lib/components/forms/file-upload/file-upload-item.component.js +52 -0
- package/lib/components/forms/file-upload/file-upload-item.styles.d.ts +2 -0
- package/lib/components/forms/file-upload/file-upload-item.styles.d.ts.map +1 -0
- package/lib/components/forms/file-upload/file-upload-item.styles.js +172 -0
- package/lib/components/forms/file-upload/file-upload-item.template.d.ts +3 -0
- package/lib/components/forms/file-upload/file-upload-item.template.d.ts.map +1 -0
- package/lib/components/forms/file-upload/file-upload-item.template.js +55 -0
- package/lib/components/forms/file-upload/file-upload.component.d.ts +24 -0
- package/lib/components/forms/file-upload/file-upload.component.d.ts.map +1 -0
- package/lib/components/forms/file-upload/file-upload.component.js +130 -0
- package/lib/components/forms/file-upload/file-upload.styles.d.ts +2 -0
- package/lib/components/forms/file-upload/file-upload.styles.d.ts.map +1 -0
- package/lib/components/forms/file-upload/file-upload.styles.js +125 -0
- package/lib/components/forms/file-upload/file-upload.template.d.ts +3 -0
- package/lib/components/forms/file-upload/file-upload.template.d.ts.map +1 -0
- package/lib/components/forms/file-upload/file-upload.template.js +51 -0
- package/lib/components/forms/file-upload/file-upload.types.d.ts +9 -0
- package/lib/components/forms/file-upload/file-upload.types.d.ts.map +1 -0
- package/lib/components/forms/file-upload/file-upload.types.js +40 -0
- package/lib/components/forms/file-upload/index.d.ts +6 -0
- package/lib/components/forms/file-upload/index.d.ts.map +1 -0
- package/lib/components/forms/file-upload/index.js +4 -0
- package/lib/components/forms/form-field/form-field.component.d.ts.map +1 -1
- package/lib/components/forms/input/input.component.d.ts.map +1 -1
- package/lib/components/forms/radio/radio-group.component.d.ts.map +1 -1
- package/lib/components/forms/radio/radio.component.d.ts.map +1 -1
- package/lib/components/forms/radio-card-group/radio-card-group.component.d.ts.map +1 -1
- package/lib/components/forms/radio-card-group/radio-card.component.d.ts.map +1 -1
- package/lib/components/forms/select/select.component.d.ts.map +1 -1
- package/lib/components/forms/slider/slider.component.d.ts.map +1 -1
- package/lib/components/forms/slider/slider.styles.js +2 -2
- package/lib/components/forms/textarea/textarea.component.d.ts.map +1 -1
- package/lib/components/forms/time-picker/time-picker.component.d.ts.map +1 -1
- package/lib/components/forms/toggle/toggle.component.d.ts.map +1 -1
- package/lib/components/foundation/card/card.component.d.ts.map +1 -1
- package/lib/components/foundation/card/card.styles.js +1 -1
- package/lib/components/foundation/container/container.component.d.ts.map +1 -1
- package/lib/components/foundation/divider/divider.component.d.ts.map +1 -1
- package/lib/components/foundation/stack/stack.component.d.ts.map +1 -1
- package/lib/components/general/icon/icon.component.d.ts.map +1 -1
- package/lib/components/navigation/breadcrumb/breadcrumb-item.component.d.ts.map +1 -1
- package/lib/components/navigation/breadcrumb/breadcrumb.component.d.ts.map +1 -1
- package/lib/components/navigation/pagination/pagination.component.d.ts.map +1 -1
- package/lib/components/navigation/sidebar/sidebar-group.component.d.ts.map +1 -1
- package/lib/components/navigation/sidebar/sidebar-item.component.d.ts +3 -1
- package/lib/components/navigation/sidebar/sidebar-item.component.d.ts.map +1 -1
- package/lib/components/navigation/sidebar/sidebar-item.component.js +3 -1
- package/lib/components/navigation/sidebar/sidebar-item.template.js +1 -1
- package/lib/components/navigation/sidebar/sidebar.component.d.ts +1 -3
- package/lib/components/navigation/sidebar/sidebar.component.d.ts.map +1 -1
- package/lib/components/navigation/sidebar/sidebar.component.js +1 -5
- package/lib/components/navigation/steps/step-panel.component.d.ts.map +1 -1
- package/lib/components/navigation/steps/step.component.d.ts.map +1 -1
- package/lib/components/navigation/steps/steps.component.d.ts +1 -1
- package/lib/components/navigation/steps/steps.component.d.ts.map +1 -1
- package/lib/components/navigation/tabs/tab-panel.component.d.ts.map +1 -1
- package/lib/components/navigation/tabs/tab.component.d.ts.map +1 -1
- package/lib/components/navigation/tabs/tabs.component.d.ts +1 -1
- package/lib/components/navigation/tabs/tabs.component.d.ts.map +1 -1
- package/lib/components/overlays/dialog/dialog-ref.class.d.ts.map +1 -1
- package/lib/components/overlays/dialog/dialog.component.d.ts.map +1 -1
- package/lib/components/overlays/dialog/dialog.service.d.ts.map +1 -1
- package/lib/components/overlays/drawer/drawer.component.d.ts.map +1 -1
- package/lib/components/overlays/dropdown/dropdown-group.component.d.ts.map +1 -1
- package/lib/components/overlays/dropdown/dropdown-item.component.d.ts.map +1 -1
- package/lib/components/overlays/dropdown/dropdown.component.d.ts.map +1 -1
- package/lib/components/overlays/popover/popover.component.d.ts.map +1 -1
- package/lib/components/overlays/tooltip/tooltip.component.d.ts.map +1 -1
- package/lib/components/pages/auth/login-page.component.d.ts.map +1 -1
- package/lib/components/pages/auth/signup-page.component.d.ts.map +1 -1
- package/lib/components/pages/dashboard/dashboard-page.component.d.ts.map +1 -1
- package/lib/components/sections/app-shell/app-shell.component.d.ts.map +1 -1
- package/lib/components/sections/hero/hero-section.component.d.ts.map +1 -1
- package/lib/components/sections/page-header/page-header.component.d.ts.map +1 -1
- package/lib/components/sections/page-section/index.d.ts +2 -0
- package/lib/components/sections/page-section/index.d.ts.map +1 -0
- package/lib/components/sections/page-section/index.js +1 -0
- package/lib/components/sections/page-section/page-section.component.d.ts +39 -0
- package/lib/components/sections/page-section/page-section.component.d.ts.map +1 -0
- package/lib/components/sections/page-section/page-section.component.js +56 -0
- package/lib/components/sections/page-section/page-section.styles.d.ts +2 -0
- package/lib/components/sections/page-section/page-section.styles.d.ts.map +1 -0
- package/lib/components/sections/page-section/page-section.styles.js +72 -0
- package/lib/components/sections/page-section/page-section.template.d.ts +3 -0
- package/lib/components/sections/page-section/page-section.template.d.ts.map +1 -0
- package/lib/components/sections/page-section/page-section.template.js +30 -0
- package/lib/utils/virtual-scroll/index.d.ts.map +1 -1
- package/package.json +17 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { IElementRef } from '@melodicdev/core';
|
|
2
2
|
import type { Size } from '../../../types/index.js';
|
|
3
|
-
type
|
|
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':
|
|
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,
|
|
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,
|
|
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"}
|
|
@@ -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,
|
|
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']}`]:
|
|
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;
|
|
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;
|
|
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;
|
|
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,
|
|
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"}
|
|
@@ -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,
|
|
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}`]:
|
|
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;
|
|
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":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACnF,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAwBrH;;;;;;;;;;;;;GAaG;AACH,qBAgBa,qBAAsB,YAAW,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ;
|
|
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;
|
|
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;
|
|
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;
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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
|
+
}
|