@haiilo/catalyst 6.4.0 → 6.4.2

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 (74) hide show
  1. package/dist/catalyst/assets/fonts/SourceSans3VF-Italic.otf.woff +0 -0
  2. package/dist/catalyst/assets/fonts/SourceSans3VF-Italic.otf.woff2 +0 -0
  3. package/dist/catalyst/assets/fonts/SourceSans3VF-Italic.ttf.woff +0 -0
  4. package/dist/catalyst/assets/fonts/SourceSans3VF-Italic.ttf.woff2 +0 -0
  5. package/dist/catalyst/assets/fonts/SourceSans3VF-Upright.otf.woff +0 -0
  6. package/dist/catalyst/assets/fonts/SourceSans3VF-Upright.otf.woff2 +0 -0
  7. package/dist/catalyst/assets/fonts/SourceSans3VF-Upright.ttf.woff +0 -0
  8. package/dist/catalyst/assets/fonts/SourceSans3VF-Upright.ttf.woff2 +0 -0
  9. package/dist/catalyst/catalyst.esm.js +1 -1
  10. package/dist/catalyst/catalyst.esm.js.map +1 -1
  11. package/dist/catalyst/index.esm.js +2 -2
  12. package/dist/catalyst/p-8929f28a.js +2 -0
  13. package/dist/catalyst/p-8929f28a.js.map +1 -0
  14. package/dist/catalyst/{p-d3a118b5.entry.js → p-c48f897d.entry.js} +2 -2
  15. package/dist/catalyst/p-c48f897d.entry.js.map +1 -0
  16. package/dist/catalyst/{p-12fa3edc.js → p-f0bcebed.js} +1 -1
  17. package/dist/catalyst/{p-12fa3edc.js.map → p-f0bcebed.js.map} +1 -1
  18. package/dist/catalyst/scss/fonts/_fonts-mixins.scss +1 -1
  19. package/dist/catalyst/scss/fonts/_fonts.mixins.ss3v.scss +1 -1
  20. package/dist/cjs/cat-alert_26.cjs.entry.js +26 -5
  21. package/dist/cjs/cat-alert_26.cjs.entry.js.map +1 -1
  22. package/dist/cjs/catalyst.cjs.js +2 -2
  23. package/dist/cjs/catalyst.cjs.js.map +1 -1
  24. package/dist/cjs/{index-b4391019.js → index-6ec4ef6d.js} +1 -1
  25. package/dist/cjs/{index-b4391019.js.map → index-6ec4ef6d.js.map} +1 -1
  26. package/dist/cjs/index.cjs.js +1 -1
  27. package/dist/cjs/loader.cjs.js +1 -1
  28. package/dist/cjs/{of-d9fa1990.js → of-eda6baf8.js} +9 -2
  29. package/dist/cjs/of-eda6baf8.js.map +1 -0
  30. package/dist/collection/assets/fonts/SourceSans3VF-Italic.otf.woff +0 -0
  31. package/dist/collection/assets/fonts/SourceSans3VF-Italic.otf.woff2 +0 -0
  32. package/dist/collection/assets/fonts/SourceSans3VF-Italic.ttf.woff +0 -0
  33. package/dist/collection/assets/fonts/SourceSans3VF-Italic.ttf.woff2 +0 -0
  34. package/dist/collection/assets/fonts/SourceSans3VF-Upright.otf.woff +0 -0
  35. package/dist/collection/assets/fonts/SourceSans3VF-Upright.otf.woff2 +0 -0
  36. package/dist/collection/assets/fonts/SourceSans3VF-Upright.ttf.woff +0 -0
  37. package/dist/collection/assets/fonts/SourceSans3VF-Upright.ttf.woff2 +0 -0
  38. package/dist/collection/collection-manifest.json +1 -1
  39. package/dist/collection/components/cat-datepicker/cat-datepicker.config.js +21 -2
  40. package/dist/collection/components/cat-datepicker/cat-datepicker.config.js.map +1 -1
  41. package/dist/collection/components/cat-datepicker/cat-datepicker.js +3 -1
  42. package/dist/collection/components/cat-datepicker/cat-datepicker.js.map +1 -1
  43. package/dist/collection/components/cat-datepicker-inline/cat-datepicker-inline.e2e.js +1 -0
  44. package/dist/collection/components/cat-datepicker-inline/cat-datepicker-inline.e2e.js.map +1 -1
  45. package/dist/collection/components/cat-datepicker-inline/cat-datepicker-inline.spec.js +1 -0
  46. package/dist/collection/components/cat-datepicker-inline/cat-datepicker-inline.spec.js.map +1 -1
  47. package/dist/collection/components/cat-i18n/cat-i18n-registry.js +8 -1
  48. package/dist/collection/components/cat-i18n/cat-i18n-registry.js.map +1 -1
  49. package/dist/collection/scss/fonts/_fonts-mixins.scss +1 -1
  50. package/dist/collection/scss/fonts/_fonts.mixins.ss3v.scss +1 -1
  51. package/dist/components/cat-datepicker.js +3 -1
  52. package/dist/components/cat-datepicker.js.map +1 -1
  53. package/dist/components/cat-datepicker.locale.js +21 -2
  54. package/dist/components/cat-datepicker.locale.js.map +1 -1
  55. package/dist/components/cat-i18n-registry.js +8 -1
  56. package/dist/components/cat-i18n-registry.js.map +1 -1
  57. package/dist/esm/cat-alert_26.entry.js +26 -5
  58. package/dist/esm/cat-alert_26.entry.js.map +1 -1
  59. package/dist/esm/catalyst.js +3 -3
  60. package/dist/esm/catalyst.js.map +1 -1
  61. package/dist/esm/{index-2c703aa8.js → index-b424aa97.js} +1 -1
  62. package/dist/esm/{index-2c703aa8.js.map → index-b424aa97.js.map} +1 -1
  63. package/dist/esm/index.js +2 -2
  64. package/dist/esm/loader.js +2 -2
  65. package/dist/esm/{of-5472d434.js → of-246f9b35.js} +9 -2
  66. package/dist/esm/of-246f9b35.js.map +1 -0
  67. package/dist/types/components/cat-i18n/cat-i18n-registry.d.ts +1 -1
  68. package/dist/types/stencil-public-runtime.d.ts +6 -0
  69. package/package.json +9 -9
  70. package/dist/catalyst/p-d3a118b5.entry.js.map +0 -1
  71. package/dist/catalyst/p-dd8ae83e.js +0 -2
  72. package/dist/catalyst/p-dd8ae83e.js.map +0 -1
  73. package/dist/cjs/of-d9fa1990.js.map +0 -1
  74. package/dist/esm/of-5472d434.js.map +0 -1
@@ -12,6 +12,12 @@ class CatI18nRegistry {
12
12
  // events that are dispatched when messages are added or removed in other
13
13
  // applications and add or remove messages if the event was not dispatched
14
14
  // by this registry.
15
+ window.addEventListener('cat-i18n-setLocale', event => {
16
+ const { detail } = event || {};
17
+ if (detail && detail.id !== this.id) {
18
+ this.setLocale(detail.locale, true);
19
+ }
20
+ });
15
21
  window.addEventListener('cat-i18n-set', event => {
16
22
  const { detail } = event || {};
17
23
  if (detail && detail.id !== this.id) {
@@ -34,10 +40,11 @@ class CatI18nRegistry {
34
40
  getLocale() {
35
41
  return this._locale ?? window?.navigator?.language ?? 'en';
36
42
  }
37
- setLocale(locale) {
43
+ setLocale(locale, silent = false) {
38
44
  try {
39
45
  this._locale = Intl.getCanonicalLocales(locale)[0];
40
46
  loglevel.info(`[CatI18nRegistry] Set locale: ${this._locale}`);
47
+ !silent && window.dispatchEvent(this.buildEvent('cat-i18n-setLocale', { locale, id: this.id }));
41
48
  }
42
49
  catch (err) {
43
50
  loglevel.error(`[CatI18nRegistry] Invalid locale: ${locale}`);
@@ -1 +1 @@
1
- {"file":"cat-i18n-registry.js","mappings":"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","names":["log"],"sources":["src/components/cat-i18n/cat-i18n-registry.ts"],"sourcesContent":["import log from 'loglevel';\n\nexport class CatI18nRegistry {\n private static instance: CatI18nRegistry;\n\n private readonly id = (Math.random() + 1).toString(36).substring(2);\n private readonly i18n: Map<string, string> = new Map();\n private _locale?: string;\n\n private constructor() {\n // hide constructor\n\n // In rare cases, the registry can be initialized twice. This can happen in\n // a micro frontend architecture where the registry is initialized in the\n // host application and in the micro frontend. To prevent the registry in\n // one application from overwriting the registry in the other, we listen for\n // events that are dispatched when messages are added or removed in other\n // applications and add or remove messages if the event was not dispatched\n // by this registry.\n window.addEventListener('cat-i18n-set', event => {\n const { detail } = (event as CustomEvent) || {};\n if (detail && detail.id !== this.id) {\n this.set(detail.i18n, true);\n }\n });\n window.addEventListener('cat-i18n-clear', event => {\n const { detail } = (event as CustomEvent) || {};\n if (detail && detail.id !== this.id) {\n this.clear(true);\n }\n });\n }\n\n static getInstance(): CatI18nRegistry {\n if (!CatI18nRegistry.instance) {\n CatI18nRegistry.instance = new CatI18nRegistry();\n }\n return CatI18nRegistry.instance;\n }\n\n getLocale(): string {\n return this._locale ?? window?.navigator?.language ?? 'en';\n }\n\n setLocale(locale: string): void {\n try {\n this._locale = Intl.getCanonicalLocales(locale)[0];\n log.info(`[CatI18nRegistry] Set locale: ${this._locale}`);\n } catch (err) {\n log.error(`[CatI18nRegistry] Invalid locale: ${locale}`);\n }\n }\n\n set(i18n: { [key: string]: string }, silent = false): void {\n const i18nEntries = Object.entries(i18n);\n i18nEntries.forEach(([key, message]) => this.i18n.set(key, message));\n log.info(`[CatI18nRegistry] Registered ${i18nEntries.length !== 1 ? 'messages' : 'message'}`);\n !silent && window.dispatchEvent(this.buildEvent('cat-i18n-set', { i18n, id: this.id }));\n }\n\n clear(silent = false): void {\n this.i18n.clear();\n log.info(`[CatI18nRegistry] Cleared messages`);\n !silent && window.dispatchEvent(this.buildEvent('cat-i18n-clear'));\n }\n\n t(key: string, params?: { [key: string]: unknown }): string {\n const message = this.i18n.get(key);\n if (message === undefined) {\n log.error(`[CatI18nRegistry] Unknown message key: ${key}`);\n return key;\n }\n return message.replace(/{{\\s*([-a-zA-Z._]+)\\s*}}/g, (_match, key) => `${params?.[key] ?? ''}`);\n }\n\n private buildEvent<T>(name: string, detail?: T) {\n return new CustomEvent(name, {\n bubbles: true,\n composed: true,\n detail\n });\n }\n}\n\nexport const catI18nRegistry = CatI18nRegistry.getInstance();\n"],"version":3}
1
+ {"file":"cat-i18n-registry.js","mappings":"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","names":["log"],"sources":["src/components/cat-i18n/cat-i18n-registry.ts"],"sourcesContent":["import log from 'loglevel';\n\nexport class CatI18nRegistry {\n private static instance: CatI18nRegistry;\n\n private readonly id = (Math.random() + 1).toString(36).substring(2);\n private readonly i18n: Map<string, string> = new Map();\n private _locale?: string;\n\n private constructor() {\n // hide constructor\n\n // In rare cases, the registry can be initialized twice. This can happen in\n // a micro frontend architecture where the registry is initialized in the\n // host application and in the micro frontend. To prevent the registry in\n // one application from overwriting the registry in the other, we listen for\n // events that are dispatched when messages are added or removed in other\n // applications and add or remove messages if the event was not dispatched\n // by this registry.\n window.addEventListener('cat-i18n-setLocale', event => {\n const { detail } = (event as CustomEvent) || {};\n if (detail && detail.id !== this.id) {\n this.setLocale(detail.locale, true);\n }\n });\n window.addEventListener('cat-i18n-set', event => {\n const { detail } = (event as CustomEvent) || {};\n if (detail && detail.id !== this.id) {\n this.set(detail.i18n, true);\n }\n });\n window.addEventListener('cat-i18n-clear', event => {\n const { detail } = (event as CustomEvent) || {};\n if (detail && detail.id !== this.id) {\n this.clear(true);\n }\n });\n }\n\n static getInstance(): CatI18nRegistry {\n if (!CatI18nRegistry.instance) {\n CatI18nRegistry.instance = new CatI18nRegistry();\n }\n return CatI18nRegistry.instance;\n }\n\n getLocale(): string {\n return this._locale ?? window?.navigator?.language ?? 'en';\n }\n\n setLocale(locale: string, silent = false): void {\n try {\n this._locale = Intl.getCanonicalLocales(locale)[0];\n log.info(`[CatI18nRegistry] Set locale: ${this._locale}`);\n !silent && window.dispatchEvent(this.buildEvent('cat-i18n-setLocale', { locale, id: this.id }));\n } catch (err) {\n log.error(`[CatI18nRegistry] Invalid locale: ${locale}`);\n }\n }\n\n set(i18n: { [key: string]: string }, silent = false): void {\n const i18nEntries = Object.entries(i18n);\n i18nEntries.forEach(([key, message]) => this.i18n.set(key, message));\n log.info(`[CatI18nRegistry] Registered ${i18nEntries.length !== 1 ? 'messages' : 'message'}`);\n !silent && window.dispatchEvent(this.buildEvent('cat-i18n-set', { i18n, id: this.id }));\n }\n\n clear(silent = false): void {\n this.i18n.clear();\n log.info(`[CatI18nRegistry] Cleared messages`);\n !silent && window.dispatchEvent(this.buildEvent('cat-i18n-clear'));\n }\n\n t(key: string, params?: { [key: string]: unknown }): string {\n const message = this.i18n.get(key);\n if (message === undefined) {\n log.error(`[CatI18nRegistry] Unknown message key: ${key}`);\n return key;\n }\n return message.replace(/{{\\s*([-a-zA-Z._]+)\\s*}}/g, (_match, key) => `${params?.[key] ?? ''}`);\n }\n\n private buildEvent<T>(name: string, detail?: T) {\n return new CustomEvent(name, {\n bubbles: true,\n composed: true,\n detail\n });\n }\n}\n\nexport const catI18nRegistry = CatI18nRegistry.getInstance();\n"],"version":3}
@@ -1,5 +1,5 @@
1
- import { r as registerInstance, h, H as Host, g as getElement, c as createEvent } from './index-2c703aa8.js';
2
- import { f as createErrorClass, O as Observable, g as errorContext, E as EMPTY_SUBSCRIPTION, S as Subscription, h as arrRemove, i as operate, j as createOperatorSubscriber, k as innerFrom, l as executeSchedule, m as isFunction, n as identity, p as from, q as popScheduler, r as isArrayLike, s as isScheduler, t as popNumber, u as noop, v as loglevel, b as catI18nRegistry, c as createCommonjsModule, a as commonjsGlobal, e as catIconRegistry, o as of } from './of-5472d434.js';
1
+ import { r as registerInstance, h, H as Host, g as getElement, c as createEvent } from './index-b424aa97.js';
2
+ import { f as createErrorClass, O as Observable, g as errorContext, E as EMPTY_SUBSCRIPTION, S as Subscription, h as arrRemove, i as operate, j as createOperatorSubscriber, k as innerFrom, l as executeSchedule, m as isFunction, n as identity, p as from, q as popScheduler, r as isArrayLike, s as isScheduler, t as popNumber, u as noop, v as loglevel, b as catI18nRegistry, c as createCommonjsModule, a as commonjsGlobal, e as catIconRegistry, o as of } from './of-246f9b35.js';
3
3
 
4
4
  const ObjectUnsubscribedError = createErrorClass((_super) => function ObjectUnsubscribedErrorImpl() {
5
5
  _super(this);
@@ -3995,6 +3995,7 @@ var weekSelect = createCommonjsModule(function (module, exports) {
3995
3995
  function getConfig(options, more = {}) {
3996
3996
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3997
3997
  const plugins = options.mode === 'week' ? [new weekSelect({})] : [];
3998
+ const format = dateFormat(options.mode);
3998
3999
  return {
3999
4000
  ...more,
4000
4001
  locale: options.locale,
@@ -4002,7 +4003,7 @@ function getConfig(options, more = {}) {
4002
4003
  altInput: true,
4003
4004
  prevArrow: '←',
4004
4005
  nextArrow: '→',
4005
- dateFormat: dateFormat(options.mode),
4006
+ dateFormat: format,
4006
4007
  altFormat: options.format,
4007
4008
  ariaDateFormat: options.format,
4008
4009
  mode: options.mode === 'daterange' ? 'range' : 'single',
@@ -4019,9 +4020,27 @@ function getConfig(options, more = {}) {
4019
4020
  flatpickr.calendarContainer.setAttribute(key, value);
4020
4021
  }
4021
4022
  },
4023
+ onClose: function (dates, _dateStr, instance) {
4024
+ if (options.mode === 'daterange' && dates.length < 2) {
4025
+ instance.clear();
4026
+ }
4027
+ },
4022
4028
  onChange: (dates, dateStr, flatpickr) => {
4023
4029
  let value = dateStr || undefined;
4024
- if (options.mode === 'week') {
4030
+ if (options.mode === 'daterange') {
4031
+ if (dates.length < 2) {
4032
+ return;
4033
+ }
4034
+ else {
4035
+ const start = dates[0];
4036
+ const end = dates[1];
4037
+ end.setHours(23);
4038
+ end.setMinutes(59);
4039
+ end.setSeconds(59);
4040
+ value = `${flatpickr.formatDate(start, format)} - ${flatpickr.formatDate(end, format)}`;
4041
+ }
4042
+ }
4043
+ else if (options.mode === 'week') {
4025
4044
  value = dates[0] ? flatpickr.config.getWeek(dates[0]).toString() : undefined;
4026
4045
  }
4027
4046
  options.applyChange(value);
@@ -4153,7 +4172,9 @@ const CatDatepickerFlat = class {
4153
4172
  onValueChanged(value) {
4154
4173
  if (value) {
4155
4174
  this.pickr?.setDate(value, false);
4156
- this.catChange.emit(value);
4175
+ if (this.mode !== 'daterange' || value.includes(' - ')) {
4176
+ this.catChange.emit(value);
4177
+ }
4157
4178
  }
4158
4179
  else {
4159
4180
  this.pickr?.clear(false);