@haiilo/catalyst 0.5.14 → 0.6.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 (46) hide show
  1. package/dist/catalyst/catalyst.css +1 -1
  2. package/dist/catalyst/catalyst.esm.js +1 -1
  3. package/dist/catalyst/catalyst.esm.js.map +1 -1
  4. package/dist/catalyst/p-12486027.js.map +1 -1
  5. package/dist/catalyst/p-6a5f0d4a.entry.js +10 -0
  6. package/dist/catalyst/{p-e6491f33.entry.js.map → p-6a5f0d4a.entry.js.map} +1 -1
  7. package/dist/cjs/app-globals-aa29ad72.js.map +1 -1
  8. package/dist/cjs/{cat-alert_15.cjs.entry.js → cat-alert_16.cjs.entry.js} +109 -23
  9. package/dist/cjs/cat-alert_16.cjs.entry.js.map +1 -0
  10. package/dist/cjs/catalyst.cjs.js +1 -1
  11. package/dist/cjs/loader.cjs.js +1 -1
  12. package/dist/collection/collection-manifest.json +1 -0
  13. package/dist/collection/components/cat-avatar/cat-avatar.css +81 -0
  14. package/dist/collection/components/cat-avatar/cat-avatar.js +225 -0
  15. package/dist/collection/components/cat-avatar/cat-avatar.js.map +1 -0
  16. package/dist/collection/components/cat-badge/cat-badge.css +5 -5
  17. package/dist/collection/components/cat-button/cat-button.js +8 -8
  18. package/dist/collection/components/cat-button/cat-button.js.map +1 -1
  19. package/dist/collection/components/cat-scrollable/cat-scrollable.js +44 -44
  20. package/dist/collection/components/cat-scrollable/cat-scrollable.js.map +1 -1
  21. package/dist/collection/utils/load-img.js +16 -0
  22. package/dist/collection/utils/load-img.js.map +1 -0
  23. package/dist/components/cat-avatar.d.ts +11 -0
  24. package/dist/components/cat-avatar.js +125 -0
  25. package/dist/components/cat-avatar.js.map +1 -0
  26. package/dist/components/cat-badge.js +1 -1
  27. package/dist/components/cat-badge.js.map +1 -1
  28. package/dist/components/cat-button2.js +5 -5
  29. package/dist/components/cat-button2.js.map +1 -1
  30. package/dist/components/cat-scrollable.js +23 -23
  31. package/dist/components/cat-scrollable.js.map +1 -1
  32. package/dist/components/index.js.map +1 -1
  33. package/dist/esm/app-globals-cf55f7f5.js.map +1 -1
  34. package/dist/esm/{cat-alert_15.entry.js → cat-alert_16.entry.js} +109 -24
  35. package/dist/esm/cat-alert_16.entry.js.map +1 -0
  36. package/dist/esm/catalyst.js +1 -1
  37. package/dist/esm/loader.js +1 -1
  38. package/dist/types/components/cat-avatar/cat-avatar.d.ts +46 -0
  39. package/dist/types/components/cat-button/cat-button.d.ts +2 -2
  40. package/dist/types/components/cat-scrollable/cat-scrollable.d.ts +12 -12
  41. package/dist/types/components.d.ts +121 -44
  42. package/dist/types/utils/load-img.d.ts +8 -0
  43. package/package.json +2 -2
  44. package/dist/catalyst/p-e6491f33.entry.js +0 -10
  45. package/dist/cjs/cat-alert_15.cjs.entry.js.map +0 -1
  46. package/dist/esm/cat-alert_15.entry.js.map +0 -1
@@ -31,7 +31,92 @@ const CatAlert = class {
31
31
  };
32
32
  CatAlert.style = catAlertCss;
33
33
 
34
- const catBadgeCss = ":host{display:inline-flex;max-width:100%;vertical-align:baseline}:host([hidden]){display:none}.badge{font:inherit;flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;border-radius:0.125rem;text-decoration:none;width:100%;box-sizing:border-box;line-height:1;white-space:nowrap}.badge slot{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.badge-round{border-radius:10rem}.badge-filled{background-color:rgb(var(--bg));color:rgb(var(--fill));font-weight:600;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:greyscale}.badge-outlined{background-color:white;box-shadow:inset 0 0 0 1px rgba(var(--border), 0.2);color:rgb(var(--text))}.badge-primary{--bg:var(--cat-primary-bg, 32, 127, 138);--fill:var(--cat-primary-fill, 255, 255, 255);--text:var(--cat-primary-text, 32, 127, 138);--border:var(--cat-primary-text, 32, 127, 138)}.badge-secondary{--bg:105, 118, 135;--fill:255, 255, 255;--text:0, 0, 0;--border:105, 118, 135}.badge-success{--bg:0, 132, 88;--fill:255, 255, 255;--text:0, 132, 88;--border:0, 132, 88}.badge-warning{--bg:255, 206, 128;--fill:0, 0, 0;--text:159, 97, 0;--border:159, 97, 0}.badge-danger{--bg:217, 52, 13;--fill:255, 255, 255;--text:217, 52, 13;--border:217, 52, 13}.badge-xs{height:0.75rem;min-width:0.75rem;font-size:0.75rem;padding:0 0.1875rem}.badge-s{height:1rem;min-width:1rem;font-size:0.75rem;padding:0 0.25rem}.badge-m{height:1.25rem;min-width:1.25rem;font-size:0.75rem;padding:0 0.3125rem}.badge-l{height:1.5rem;min-width:1.5rem;font-size:0.875rem;padding:0 0.375rem}.badge-xl{height:1.75rem;min-width:1.75rem;font-size:0.9375rem;padding:0 0.4375rem}.badge-pulse.badge-filled{animation:1.5s ease 0s infinite normal none running pulse}.badge-pulse.badge-outlined{animation:1.5s ease 0s infinite normal none running pulse-outlined}@keyframes pulse{0%{box-shadow:0 0 0 0 rgb(var(--bg))}70%{box-shadow:transparent 0 0 0 0.5rem}100%{box-shadow:transparent 0 0 0 0}}@keyframes pulse-outlined{0%{box-shadow:0 0 0 0 rgb(var(--bg)), inset 0 0 0 1px rgba(var(--border), 0.2)}70%{box-shadow:transparent 0 0 0 0.5rem, inset 0 0 0 1px rgba(var(--border), 0.2)}100%{box-shadow:transparent 0 0 0 0, inset 0 0 0 1px rgba(var(--border), 0.2)}}";
34
+ /**
35
+ * Loads an image and wraps the result in a promise.
36
+ *
37
+ * @param src the image URL
38
+ * @returns a promise
39
+ */
40
+ const loadImg = (src) => {
41
+ return new Promise((resolve, reject) => {
42
+ const image = new Image();
43
+ image.addEventListener('load', resolve);
44
+ image.addEventListener('error', reject);
45
+ image.src = src;
46
+ });
47
+ };
48
+
49
+ const catAvatarCss = ":host{display:inline-block;vertical-align:middle;-webkit-user-select:none;-ms-user-select:none;user-select:none;}:host([hidden]){display:none}.avatar{display:flex;align-items:center;justify-content:center;border-radius:0.25rem;text-decoration:inherit;color:var(--cat-avatar-fill, white);background-color:var(--cat-avatar-bg, #697687);background-size:cover;background-position:center;white-space:nowrap;overflow:hidden}.avatar:focus-visible{outline:2px solid rgb(var(--cat-border-color-focus, 0, 113, 255));outline-offset:1px}.avatar-round{border-radius:50%}.avatar-xs{width:var(--cat-avatar-size, 1.5rem);height:var(--cat-avatar-size, 1.5rem);line-height:var(--cat-avatar-size, 1.5rem);font-size:var(--cat-avatar-font-size, 0.75rem)}.avatar-s{width:var(--cat-avatar-size, 2rem);height:var(--cat-avatar-size, 2rem);line-height:var(--cat-avatar-size, 2rem);font-size:var(--cat-avatar-font-size, 0.875rem)}.avatar-m{width:var(--cat-avatar-size, 2.5rem);height:var(--cat-avatar-size, 2.5rem);line-height:var(--cat-avatar-size, 2.5rem);font-size:var(--cat-avatar-font-size, 0.9375rem)}.avatar-l{width:var(--cat-avatar-size, 3rem);height:var(--cat-avatar-size, 3rem);line-height:var(--cat-avatar-size, 3rem);font-size:var(--cat-avatar-font-size, 1.125rem)}.avatar-xl{width:var(--cat-avatar-size, 3.5rem);height:var(--cat-avatar-size, 3.5rem);line-height:var(--cat-avatar-size, 3.5rem);font-size:var(--cat-avatar-font-size, 1.25rem)}";
50
+
51
+ const CatAvatar = class {
52
+ constructor(hostRef) {
53
+ registerInstance(this, hostRef);
54
+ /**
55
+ * The size of the avatar.
56
+ */
57
+ this.size = 'm';
58
+ /**
59
+ * Use round avatar edges.
60
+ */
61
+ this.round = false;
62
+ /**
63
+ * The label of the avatar.
64
+ */
65
+ this.label = '';
66
+ }
67
+ onSrcChanged(value) {
68
+ if (value) {
69
+ loadImg(value).then(() => (this.backgroundImage = `url(${value})`), () => (this.backgroundImage = undefined));
70
+ }
71
+ else {
72
+ this.backgroundImage = undefined;
73
+ }
74
+ }
75
+ componentWillLoad() {
76
+ this.onSrcChanged(this.src);
77
+ }
78
+ componentWillRender() {
79
+ if (!this.label) {
80
+ loglevel.warn('[A11y] Missing ARIA label on avatar', this);
81
+ }
82
+ }
83
+ render() {
84
+ if (this.url) {
85
+ return (h("a", { href: this.url, target: this.urlTarget, style: this.cssStyle, class: this.cssClass, "aria-label": this.label }, this.content));
86
+ }
87
+ else {
88
+ return (h("span", { style: this.cssStyle, class: this.cssClass, "aria-label": this.label }, this.content));
89
+ }
90
+ }
91
+ get content() {
92
+ return !this.backgroundImage
93
+ ? [this.icon ? h("cat-icon", { icon: this.icon, size: this.size }) : this.getInitials()]
94
+ : [];
95
+ }
96
+ get cssStyle() {
97
+ return { 'background-image': this.backgroundImage };
98
+ }
99
+ get cssClass() {
100
+ return {
101
+ avatar: true,
102
+ 'avatar-round': this.round,
103
+ [`avatar-${this.size}`]: Boolean(this.size)
104
+ };
105
+ }
106
+ getInitials() {
107
+ var _a;
108
+ return ((_a = this.initials) !== null && _a !== void 0 ? _a : this.label
109
+ .split(' ')
110
+ .map(n => n[0])
111
+ .join(''));
112
+ }
113
+ static get watchers() { return {
114
+ "src": ["onSrcChanged"]
115
+ }; }
116
+ };
117
+ CatAvatar.style = catAvatarCss;
118
+
119
+ const catBadgeCss = ":host{display:inline-flex;max-width:100%;vertical-align:baseline}:host([hidden]){display:none}.badge{font:inherit;flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;border-radius:0.125rem;text-decoration:none;width:100%;box-sizing:border-box;line-height:1;white-space:nowrap}.badge slot{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.badge-round{border-radius:10rem}.badge-filled{background-color:rgb(var(--bg));color:rgb(var(--fill));font-weight:600;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:greyscale}.badge-outlined{background-color:white;box-shadow:inset 0 0 0 1px rgba(var(--border), 0.2);color:rgb(var(--text))}.badge-primary{--bg:var(--cat-primary-bg, 32, 127, 138);--fill:var(--cat-primary-fill, 255, 255, 255);--text:var(--cat-primary-text, 32, 127, 138);--border:var(--cat-primary-text, 32, 127, 138)}.badge-secondary{--bg:105, 118, 135;--fill:255, 255, 255;--text:0, 0, 0;--border:105, 118, 135}.badge-success{--bg:0, 132, 88;--fill:255, 255, 255;--text:0, 132, 88;--border:0, 132, 88}.badge-warning{--bg:255, 206, 128;--fill:0, 0, 0;--text:159, 97, 0;--border:159, 97, 0}.badge-danger{--bg:217, 52, 13;--fill:255, 255, 255;--text:217, 52, 13;--border:217, 52, 13}.badge-xs{height:0.75rem;min-width:0.75rem;font-size:0.75rem;padding:0rem 0.25rem}.badge-s{height:1rem;min-width:1rem;font-size:0.75rem;padding:0.25rem 0.5rem}.badge-m{height:1.25rem;min-width:1.25rem;font-size:0.75rem;padding:0.5rem 0.75rem}.badge-l{height:1.5rem;min-width:1.5rem;font-size:0.875rem;padding:0.75rem 1rem}.badge-xl{height:1.75rem;min-width:1.75rem;font-size:0.9375rem;padding:1rem 1.25rem}.badge-pulse.badge-filled{animation:1.5s ease 0s infinite normal none running pulse}.badge-pulse.badge-outlined{animation:1.5s ease 0s infinite normal none running pulse-outlined}@keyframes pulse{0%{box-shadow:0 0 0 0 rgb(var(--bg))}70%{box-shadow:transparent 0 0 0 0.5rem}100%{box-shadow:transparent 0 0 0 0}}@keyframes pulse-outlined{0%{box-shadow:0 0 0 0 rgb(var(--bg)), inset 0 0 0 1px rgba(var(--border), 0.2)}70%{box-shadow:transparent 0 0 0 0.5rem, inset 0 0 0 1px rgba(var(--border), 0.2)}100%{box-shadow:transparent 0 0 0 0, inset 0 0 0 1px rgba(var(--border), 0.2)}}";
35
120
 
36
121
  const CatBadge = class {
37
122
  constructor(hostRef) {
@@ -226,9 +311,9 @@ const CatButton = class {
226
311
  */
227
312
  this.submit = false;
228
313
  /**
229
- * Ellipse overflowing button content.
314
+ * Disables ellipse overflowing button content.
230
315
  */
231
- this.ellipsed = true;
316
+ this.noEllipsis = false;
232
317
  /**
233
318
  * Use round button edges.
234
319
  */
@@ -293,7 +378,7 @@ const CatButton = class {
293
378
  'cat-button-round': this.round,
294
379
  'cat-button-loading': this.loading,
295
380
  'cat-button-disabled': this.disabled,
296
- 'cat-button-ellipsed': this.ellipsed && !this.isIconButton,
381
+ 'cat-button-ellipsed': !this.noEllipsis && !this.isIconButton,
297
382
  [`cat-button-${this.variant}`]: Boolean(this.variant),
298
383
  [`cat-button-${this.color}`]: Boolean(this.color),
299
384
  [`cat-button-${this.size}`]: Boolean(this.size)
@@ -307,7 +392,7 @@ const CatButton = class {
307
392
  'cat-button-round': (_a = this.round) !== null && _a !== void 0 ? _a : this.isIconButton,
308
393
  'cat-button-loading': this.loading,
309
394
  'cat-button-disabled': this.disabled,
310
- 'cat-button-ellipsed': this.ellipsed && !this.isIconButton,
395
+ 'cat-button-ellipsed': !this.noEllipsis && !this.isIconButton,
311
396
  [`cat-button-${this.variant}`]: Boolean(this.variant),
312
397
  [`cat-button-${this.color}`]: Boolean(this.color),
313
398
  [`cat-button-${this.size}`]: Boolean(this.size)
@@ -4198,20 +4283,20 @@ const CatScrollable = class {
4198
4283
  this.scrolledBottom = createEvent(this, "scrolledBottom", 7);
4199
4284
  this.init = new Subject();
4200
4285
  this.destroyed = new Subject();
4201
- /** Flags to enable/disable scroll shadowX. */
4202
- this.shadowX = true;
4203
- /** Flags to enable/disable scroll shadowY. */
4204
- this.shadowY = true;
4205
- /** Flags to enable/disable overflowX. */
4206
- this.overflowX = true;
4207
- /** Flags to enable/disable overflowY. */
4208
- this.overflowY = true;
4209
- /** Flag to enable/disable overscroll behavior. */
4210
- this.overscroll = true;
4286
+ /** Flags to disable/enable scroll shadowX. */
4287
+ this.noShadowX = false;
4288
+ /** Flags to disable/enable scroll shadowY. */
4289
+ this.noShadowY = false;
4290
+ /** Flags to disable/enable overflowX. */
4291
+ this.noOverflowX = false;
4292
+ /** Flags to disable/enable overflowY. */
4293
+ this.noOverflowY = false;
4294
+ /** Flag to disable/enable overscroll behavior. */
4295
+ this.noOverscroll = false;
4211
4296
  /**
4212
- * Flag to fire an initial event after content initialization.
4297
+ * Flag to not fire an initial event after content initialization.
4213
4298
  */
4214
- this.scrolledInit = true;
4299
+ this.noScrolledInit = false;
4215
4300
  /**
4216
4301
  * Buffer to be used to calculate the scroll distance.
4217
4302
  */
@@ -4240,7 +4325,7 @@ const CatScrollable = class {
4240
4325
  });
4241
4326
  }
4242
4327
  componentDidLoad() {
4243
- if (this.scrolledInit) {
4328
+ if (!this.noScrolledInit) {
4244
4329
  this.init.next();
4245
4330
  }
4246
4331
  }
@@ -4251,12 +4336,12 @@ const CatScrollable = class {
4251
4336
  }
4252
4337
  render() {
4253
4338
  return [
4254
- h("div", { class: "scrollable-wrapper", ref: el => (this.scrollWrapperElement = el) }, this.shadowY && h("div", { class: "shadow-top" }), this.shadowX && h("div", { class: "shadow-left" }), this.shadowX && h("div", { class: "shadow-right" }), this.shadowY && h("div", { class: "shadow-bottom" })),
4339
+ h("div", { class: "scrollable-wrapper", ref: el => (this.scrollWrapperElement = el) }, !this.noShadowY && h("div", { class: "shadow-top" }), !this.noShadowX && h("div", { class: "shadow-left" }), !this.noShadowX && h("div", { class: "shadow-right" }), !this.noShadowY && h("div", { class: "shadow-bottom" })),
4255
4340
  h("div", { ref: el => (this.scrollElement = el), class: {
4256
4341
  'scrollable-content': true,
4257
- 'scroll-x': this.overflowX,
4258
- 'scroll-y': this.overflowY,
4259
- 'no-overscroll': !this.overscroll
4342
+ 'scroll-x': !this.noOverflowX,
4343
+ 'scroll-y': !this.noOverflowY,
4344
+ 'no-overscroll': this.noOverscroll
4260
4345
  } }, h("slot", null))
4261
4346
  ];
4262
4347
  }
@@ -4592,6 +4677,6 @@ const CatTooltip = class {
4592
4677
  CatTooltip.OFFSET = 4;
4593
4678
  CatTooltip.style = catTooltipCss;
4594
4679
 
4595
- export { CatAlert as cat_alert, CatBadge as cat_badge, CatButton as cat_button, CatCard as cat_card, CatCheckbox as cat_checkbox, CatIcon as cat_icon, CatInput as cat_input, CatMenu as cat_menu, CatRadio as cat_radio, CatScrollable as cat_scrollable, CatSkeleton as cat_skeleton, CatSpinner as cat_spinner, CatToastDemo as cat_toast_demo, CatToggle as cat_toggle, CatTooltip as cat_tooltip };
4680
+ export { CatAlert as cat_alert, CatAvatar as cat_avatar, CatBadge as cat_badge, CatButton as cat_button, CatCard as cat_card, CatCheckbox as cat_checkbox, CatIcon as cat_icon, CatInput as cat_input, CatMenu as cat_menu, CatRadio as cat_radio, CatScrollable as cat_scrollable, CatSkeleton as cat_skeleton, CatSpinner as cat_spinner, CatToastDemo as cat_toast_demo, CatToggle as cat_toggle, CatTooltip as cat_tooltip };
4596
4681
 
4597
- //# sourceMappingURL=cat-alert_15.entry.js.map
4682
+ //# sourceMappingURL=cat-alert_16.entry.js.map