@shoper/phoenix_design_system 1.18.10-7 → 1.18.10-9

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 (66) hide show
  1. package/build/cjs/packages/phoenix/src/components/accordion/accordion.js +5 -14
  2. package/build/cjs/packages/phoenix/src/components/accordion/accordion.js.map +1 -1
  3. package/build/cjs/packages/phoenix/src/components/accordion/accordion_constants.js +2 -10
  4. package/build/cjs/packages/phoenix/src/components/accordion/accordion_constants.js.map +1 -1
  5. package/build/cjs/packages/phoenix/src/components/accordion/accordion_content.js +17 -43
  6. package/build/cjs/packages/phoenix/src/components/accordion/accordion_content.js.map +1 -1
  7. package/build/cjs/packages/phoenix/src/components/accordion/accordion_group.js +28 -194
  8. package/build/cjs/packages/phoenix/src/components/accordion/accordion_group.js.map +1 -1
  9. package/build/cjs/packages/phoenix/src/components/accordion/accordion_toggler.js +7 -23
  10. package/build/cjs/packages/phoenix/src/components/accordion/accordion_toggler.js.map +1 -1
  11. package/build/cjs/packages/phoenix/src/components/details/details.js +41 -0
  12. package/build/cjs/packages/phoenix/src/components/details/details.js.map +1 -0
  13. package/build/cjs/packages/phoenix/src/components/details/details_constants.js +23 -0
  14. package/build/{esm/packages/utilities/build/esm/packages/utilities/src/feature_flag_utils.js.map → cjs/packages/phoenix/src/components/details/details_constants.js.map} +1 -1
  15. package/build/cjs/packages/phoenix/src/components/details/details_content.js +38 -0
  16. package/build/cjs/packages/phoenix/src/components/details/details_content.js.map +1 -0
  17. package/build/cjs/packages/phoenix/src/components/details/details_group.js +177 -0
  18. package/build/cjs/packages/phoenix/src/components/details/details_group.js.map +1 -0
  19. package/build/cjs/packages/phoenix/src/components/details/details_toggler.js +27 -0
  20. package/build/cjs/packages/phoenix/src/components/details/details_toggler.js.map +1 -0
  21. package/build/cjs/packages/phoenix/src/components/messages/base_message.js +1 -1
  22. package/build/cjs/packages/phoenix/src/index.js +33 -2
  23. package/build/cjs/packages/phoenix/src/index.js.map +1 -1
  24. package/build/esm/packages/phoenix/src/components/accordion/accordion.d.ts +0 -1
  25. package/build/esm/packages/phoenix/src/components/accordion/accordion.js +6 -15
  26. package/build/esm/packages/phoenix/src/components/accordion/accordion.js.map +1 -1
  27. package/build/esm/packages/phoenix/src/components/accordion/accordion_constants.d.ts +2 -8
  28. package/build/esm/packages/phoenix/src/components/accordion/accordion_constants.js +3 -9
  29. package/build/esm/packages/phoenix/src/components/accordion/accordion_constants.js.map +1 -1
  30. package/build/esm/packages/phoenix/src/components/accordion/accordion_content.d.ts +0 -1
  31. package/build/esm/packages/phoenix/src/components/accordion/accordion_content.js +18 -44
  32. package/build/esm/packages/phoenix/src/components/accordion/accordion_content.js.map +1 -1
  33. package/build/esm/packages/phoenix/src/components/accordion/accordion_group.d.ts +0 -16
  34. package/build/esm/packages/phoenix/src/components/accordion/accordion_group.js +29 -195
  35. package/build/esm/packages/phoenix/src/components/accordion/accordion_group.js.map +1 -1
  36. package/build/esm/packages/phoenix/src/components/accordion/accordion_toggler.d.ts +0 -1
  37. package/build/esm/packages/phoenix/src/components/accordion/accordion_toggler.js +7 -23
  38. package/build/esm/packages/phoenix/src/components/accordion/accordion_toggler.js.map +1 -1
  39. package/build/esm/packages/phoenix/src/components/details/details.d.ts +10 -0
  40. package/build/esm/packages/phoenix/src/components/details/details.js +39 -0
  41. package/build/esm/packages/phoenix/src/components/details/details.js.map +1 -0
  42. package/build/esm/packages/phoenix/src/components/details/details_constants.d.ts +13 -0
  43. package/build/esm/packages/phoenix/src/components/details/details_constants.js +16 -0
  44. package/build/esm/packages/{utilities/build/esm/packages/utilities/src/json_utils.js.map → phoenix/src/components/details/details_constants.js.map} +1 -1
  45. package/build/esm/packages/phoenix/src/components/details/details_content.d.ts +6 -0
  46. package/build/esm/packages/phoenix/src/components/details/details_content.js +36 -0
  47. package/build/esm/packages/phoenix/src/components/details/details_content.js.map +1 -0
  48. package/build/esm/packages/phoenix/src/components/details/details_group.d.ts +30 -0
  49. package/build/esm/packages/phoenix/src/components/details/details_group.js +175 -0
  50. package/build/esm/packages/phoenix/src/components/details/details_group.js.map +1 -0
  51. package/build/esm/packages/phoenix/src/components/details/details_toggler.d.ts +4 -0
  52. package/build/esm/packages/phoenix/src/components/details/details_toggler.js +25 -0
  53. package/build/{cjs/packages/utilities/build/esm/packages/utilities/src/feature_flag_utils.js.map → esm/packages/phoenix/src/components/details/details_toggler.js.map} +1 -1
  54. package/build/esm/packages/phoenix/src/components/details/details_types.d.ts +35 -0
  55. package/build/esm/packages/phoenix/src/components/details/details_types.js +7 -0
  56. package/build/esm/packages/phoenix/src/components/details/details_types.js.map +1 -0
  57. package/build/esm/packages/phoenix/src/components/messages/base_message.js +1 -1
  58. package/build/esm/packages/phoenix/src/index.d.ts +6 -0
  59. package/build/esm/packages/phoenix/src/index.js +6 -1
  60. package/build/esm/packages/phoenix/src/index.js.map +1 -1
  61. package/package.json +2 -2
  62. package/build/cjs/packages/utilities/build/esm/packages/utilities/src/feature_flag_utils.js +0 -26
  63. package/build/cjs/packages/utilities/build/esm/packages/utilities/src/json_utils.js +0 -25
  64. package/build/cjs/packages/utilities/build/esm/packages/utilities/src/json_utils.js.map +0 -1
  65. package/build/esm/packages/utilities/build/esm/packages/utilities/src/feature_flag_utils.js +0 -22
  66. package/build/esm/packages/utilities/build/esm/packages/utilities/src/json_utils.js +0 -21
@@ -1,5 +1,4 @@
1
1
  import { __decorate, __metadata } from '../../../../../external/tslib/tslib.es6.js';
2
- import { html } from 'lit';
3
2
  import { property, state } from 'lit/decorators';
4
3
  import { PhoenixLightLitElement } from '../../core/phoenix_light_lit_element/phoenix_light_lit_element.js';
5
4
  import { phoenixCustomElement } from '../../core/decorators/phoenix_custom_element.js';
@@ -7,11 +6,7 @@ import { Observer } from '../../core/classes/observer/observer.js';
7
6
  import { ContextConsumerController } from '../../core/context/context_consumer_controller.js';
8
7
  import { BehaviorSubject } from '../../core/classes/behavior_subject/behavior_subject.js';
9
8
  import { ContextProviderController } from '../../core/context/context_provider_controller.js';
10
- import v4 from '../../../../../external/uuid/dist/esm-browser/v4.js';
11
- import { ACCORDION_MODE, ACCORDION_CONTEXTS, ACCORDION_EVENTS, ACCORDION_CSS_CLASSES, ACCORDION_ANIMATION_DURATION } from './accordion_constants.js';
12
- import { FeatureFlagUtils } from '../../../../utilities/build/esm/packages/utilities/src/feature_flag_utils.js';
13
- import { createRef, ref } from 'lit/directives/ref';
14
- import { when } from 'lit/directives/when';
9
+ import { ACCORDION_MODE, ACCORDION_CONTEXTS, ACCORDION_EVENTS } from './accordion_constants.js';
15
10
 
16
11
  let HAccordionGroup = class HAccordionGroup extends PhoenixLightLitElement {
17
12
  constructor() {
@@ -21,74 +16,19 @@ let HAccordionGroup = class HAccordionGroup extends PhoenixLightLitElement {
21
16
  this._regionId = typeof self.crypto.randomUUID === 'function' ? self.crypto.randomUUID() : (Math.random() + 1).toString(36).substring(3);
22
17
  this._controlsId = typeof self.crypto.randomUUID === 'function' ? self.crypto.randomUUID() : (Math.random() + 1).toString(36).substring(3);
23
18
  this._mode = ACCORDION_MODE.multi;
24
- this._$parentAccordion = null;
25
- this._detailsRef = createRef();
26
- this._togglerId = v4();
27
- this._animationFrameId = null;
28
- this._closeTimeoutId = null;
29
- this._syncWithParentAccordion = () => {
30
- if (!this._$parentAccordion)
31
- return;
32
- this._mode = this._$parentAccordion.mode;
33
- const shouldBeDisabled = this._$parentAccordion.disabled;
34
- const hasDisabledStateChanged = shouldBeDisabled !== this._isDisabled;
35
- if (hasDisabledStateChanged) {
36
- shouldBeDisabled ? this.disable() : this.enable();
37
- }
38
- };
39
- this._hideOtherDetailsGroups = () => {
40
- var _a;
41
- if (this._isDisabled)
42
- return;
43
- (_a = this._$parentAccordion) === null || _a === void 0 ? void 0 : _a.querySelectorAll('h-accordion-group').forEach(($accordionGroup) => {
44
- if ($accordionGroup === this)
45
- return;
46
- $accordionGroup.hide();
47
- });
48
- };
49
19
  this._accordionToggle = () => {
50
20
  this.toggle();
51
21
  };
52
- this._summaryClickHandler = (ev) => {
53
- ev.preventDefault();
54
- if (!this._isDisabled)
55
- this.toggle();
56
- };
57
- this._isDevAccordionOptimizationFlagEnabled = FeatureFlagUtils.isEnabled('dev_accordion_optimization');
58
- if (!this._isDevAccordionOptimizationFlagEnabled) {
59
- this._accordionGroupPropsSubject = new BehaviorSubject(this._getProps());
60
- this._accordionGroupContext = new ContextProviderController(this);
61
- this._accordionGroupContext.provide(ACCORDION_CONTEXTS.accordionGroupProps, this._accordionGroupPropsSubject);
62
- this.setAttribute('role', 'none');
63
- }
22
+ this._accordionGroupPropsSubject = new BehaviorSubject(this._getProps());
23
+ this._accordionGroupContext = new ContextProviderController(this);
24
+ this._accordionGroupContext.provide(ACCORDION_CONTEXTS.accordionGroupProps, this._accordionGroupPropsSubject);
25
+ this.setAttribute('role', 'none');
64
26
  }
65
27
  connectedCallback() {
66
- var _a;
67
28
  super.connectedCallback();
68
- if (this._isDevAccordionOptimizationFlagEnabled) {
69
- this._addClassedToSlottedContentElements();
70
- this._$parentAccordion = this.closest('h-accordion');
71
- (_a = this._$parentAccordion) === null || _a === void 0 ? void 0 : _a.addEventListener(ACCORDION_EVENTS.update, this._syncWithParentAccordion);
72
- this._syncWithParentAccordion();
73
- }
74
- else {
75
- this._accordionContextConsumer = new ContextConsumerController(this);
76
- this._subscribeObserver();
77
- this.addEventListener(ACCORDION_EVENTS.toggle, this._accordionToggle);
78
- }
79
- }
80
- _addClassedToSlottedContentElements() {
81
- const slottedContentElements = Array.from(this.querySelectorAll('[slot="content"]'));
82
- slottedContentElements.forEach(($element) => {
83
- $element.classList.add(ACCORDION_CSS_CLASSES.content);
84
- });
85
- }
86
- firstUpdated(props) {
87
- super.firstUpdated(props);
88
- if (this._isDevAccordionOptimizationFlagEnabled) {
89
- if (this.opened)
90
- this.show();
91
- }
29
+ this._accordionContextConsumer = new ContextConsumerController(this);
30
+ this._subscribeObserver();
31
+ this.addEventListener(ACCORDION_EVENTS.toggle, this._accordionToggle);
92
32
  }
93
33
  async _subscribeObserver() {
94
34
  this._accordionProps = await this._accordionContextConsumer.consumeAsync(ACCORDION_CONTEXTS.accordionProps);
@@ -108,116 +48,34 @@ let HAccordionGroup = class HAccordionGroup extends PhoenixLightLitElement {
108
48
  this._accordionProps.subscribe(this._accordionPropsObserver);
109
49
  }
110
50
  disconnectedCallback() {
111
- var _a;
112
- super.disconnectedCallback();
113
- if (this._isDevAccordionOptimizationFlagEnabled) {
114
- (_a = this._$parentAccordion) === null || _a === void 0 ? void 0 : _a.removeEventListener(ACCORDION_EVENTS.update, this._syncWithParentAccordion);
115
- }
116
- else {
117
- this._accordionProps.unsubscribe(this._accordionPropsObserver);
118
- this.removeEventListener(ACCORDION_EVENTS.toggle, this._accordionToggle);
119
- }
51
+ this._accordionProps.unsubscribe(this._accordionPropsObserver);
52
+ this.removeEventListener(ACCORDION_EVENTS.toggle, this._accordionToggle);
120
53
  }
121
54
  show() {
122
- if (this._isDevAccordionOptimizationFlagEnabled) {
123
- this._handleSingleModeConstraint();
124
- const $details = this._detailsRef.value;
125
- if (!$details)
126
- return;
127
- this._clearPendingAnimations();
128
- $details.setAttribute('open', '');
129
- this._animationFrameId = requestAnimationFrame(() => {
130
- $details.classList.add(ACCORDION_CSS_CLASSES.open);
131
- this._animationFrameId = null;
132
- });
133
- this._dispatchToggleEvent($details, true);
134
- }
135
- else {
136
- if (this._mode === ACCORDION_MODE.single)
137
- this._closeOtherAccordionGroups();
138
- this.opened = true;
139
- }
55
+ if (this._mode === ACCORDION_MODE.single)
56
+ this._closeOtherAccordionGroups();
57
+ this.opened = true;
140
58
  }
141
59
  hide() {
142
- if (this._isDevAccordionOptimizationFlagEnabled) {
143
- const $details = this._detailsRef.value;
144
- if (!$details)
145
- return;
146
- this._clearPendingAnimations();
147
- $details.classList.remove(ACCORDION_CSS_CLASSES.open);
148
- this._closeTimeoutId = setTimeout(() => {
149
- $details.removeAttribute('open');
150
- this._closeTimeoutId = null;
151
- }, ACCORDION_ANIMATION_DURATION);
152
- this._dispatchToggleEvent($details, false);
153
- }
154
- else {
155
- this.opened = false;
156
- }
157
- }
158
- _clearPendingAnimations() {
159
- if (this._animationFrameId !== null) {
160
- cancelAnimationFrame(this._animationFrameId);
161
- this._animationFrameId = null;
162
- }
163
- if (this._closeTimeoutId !== null) {
164
- clearTimeout(this._closeTimeoutId);
165
- this._closeTimeoutId = null;
166
- }
167
- }
168
- _dispatchToggleEvent($details, open) {
169
- this.emitCustomEvent(ACCORDION_EVENTS.toggle, {
170
- detail: { open, target: $details }
171
- });
60
+ this.opened = false;
172
61
  }
173
62
  toggle() {
174
- if (this._isDevAccordionOptimizationFlagEnabled) {
175
- this._handleSingleModeConstraint();
176
- const $details = this._detailsRef.value;
177
- if (!$details)
178
- return;
179
- const isOpen = $details.hasAttribute('open');
180
- isOpen ? this.hide() : this.show();
181
- }
182
- else {
183
- if (this._mode === ACCORDION_MODE.single)
184
- this._closeOtherAccordionGroups();
185
- this.opened = !this.opened;
186
- }
187
- }
188
- _handleSingleModeConstraint() {
189
- if (this._mode === ACCORDION_MODE.single) {
190
- this._hideOtherDetailsGroups();
191
- }
63
+ if (this._mode === ACCORDION_MODE.single)
64
+ this._closeOtherAccordionGroups();
65
+ this.opened = !this.opened;
192
66
  }
193
67
  enable() {
194
- if (this._isDevAccordionOptimizationFlagEnabled) {
195
- if (!this._isDisabled)
196
- return;
197
- this._isDisabled = false;
68
+ if (this._isDisabled) {
69
+ this.addEventListener(ACCORDION_EVENTS.toggle, this._accordionToggle);
198
70
  this.hide();
199
- }
200
- else {
201
- if (this._isDisabled) {
202
- this.addEventListener(ACCORDION_EVENTS.toggle, this._accordionToggle);
203
- this.hide();
204
- this._isDisabled = false;
205
- }
71
+ this._isDisabled = false;
206
72
  }
207
73
  }
208
74
  disable() {
209
- if (this._isDevAccordionOptimizationFlagEnabled) {
210
- if (this._isDisabled)
211
- return;
212
- this._isDisabled = true;
75
+ if (!this._isDisabled) {
76
+ this.removeEventListener(ACCORDION_EVENTS.toggle, this._accordionToggle);
213
77
  this.show();
214
- }
215
- else {
216
- if (!this._isDisabled) {
217
- this.removeEventListener(ACCORDION_EVENTS.toggle, this._accordionToggle);
218
- this.show();
219
- this._isDisabled = true;
220
- }
78
+ this._isDisabled = true;
221
79
  }
222
80
  }
223
81
  _closeOtherAccordionGroups() {
@@ -229,18 +87,14 @@ let HAccordionGroup = class HAccordionGroup extends PhoenixLightLitElement {
229
87
  }
230
88
  }
231
89
  notify() {
232
- if (!this._isDevAccordionOptimizationFlagEnabled) {
233
- this._accordionGroupPropsSubject.notify(this._getProps());
234
- }
90
+ this._accordionGroupPropsSubject.notify(this._getProps());
235
91
  }
236
92
  updated(_changedProperties) {
237
- if (!this._isDevAccordionOptimizationFlagEnabled) {
238
- if (_changedProperties.has('opened') ||
239
- _changedProperties.has('_isDisabled') ||
240
- _changedProperties.has('_regionId') ||
241
- _changedProperties.has('_controlsId')) {
242
- this.notify();
243
- }
93
+ if (_changedProperties.has('opened') ||
94
+ _changedProperties.has('_isDisabled') ||
95
+ _changedProperties.has('_regionId') ||
96
+ _changedProperties.has('_controlsId')) {
97
+ this.notify();
244
98
  }
245
99
  }
246
100
  _getProps() {
@@ -251,26 +105,6 @@ let HAccordionGroup = class HAccordionGroup extends PhoenixLightLitElement {
251
105
  controlsId: this._controlsId
252
106
  };
253
107
  }
254
- render() {
255
- return when(this._isDevAccordionOptimizationFlagEnabled, () => html `
256
- <details
257
- ${ref(this._detailsRef)}
258
- class="accordion__details ${this._isDisabled ? 'accordion__details_disabled' : ''}"
259
- aria-disabled="${this._isDisabled ? 'true' : 'false'}"
260
- aria-labelledby="${this._togglerId}"
261
- >
262
- <summary
263
- class="accordion__summary"
264
- id="${this._togglerId}"
265
- @click=${this._summaryClickHandler}
266
- >
267
- ${this.getSlot('toggler')}
268
- </summary>
269
-
270
- ${this.getSlot('content')}
271
- </details>
272
- `);
273
- }
274
108
  };
275
109
  __decorate([
276
110
  property({ type: Boolean, reflect: true }),
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,4CAAgD;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,qDAAyD;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,4CAAgD;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -3,7 +3,6 @@ export declare class HAccordionToggler extends PhoenixLightLitElement {
3
3
  private _contextConsumer;
4
4
  private _accordionGroupProps;
5
5
  private _accordionGroupPropsObserver;
6
- private _isDevAccordionOptimizationFlagEnabled;
7
6
  constructor();
8
7
  connectedCallback(): Promise<void>;
9
8
  private _setAttributes;
@@ -1,11 +1,9 @@
1
1
  import { __decorate, __metadata } from '../../../../../external/tslib/tslib.es6.js';
2
- import { FeatureFlagUtils, UiDomUtils } from '@dreamcommerce/utilities';
3
2
  import { PhoenixLightLitElement } from '../../core/phoenix_light_lit_element/phoenix_light_lit_element.js';
4
3
  import { phoenixCustomElement } from '../../core/decorators/phoenix_custom_element.js';
5
4
  import { Observer } from '../../core/classes/observer/observer.js';
6
5
  import { ContextConsumerController } from '../../core/context/context_consumer_controller.js';
7
6
  import { ACCORDION_EVENTS, ACCORDION_CONTEXTS } from './accordion_constants.js';
8
- import { HAccordionGroup } from './accordion_group.js';
9
7
 
10
8
  let HAccordionToggler = class HAccordionToggler extends PhoenixLightLitElement {
11
9
  constructor() {
@@ -20,29 +18,15 @@ let HAccordionToggler = class HAccordionToggler extends PhoenixLightLitElement {
20
18
  this._emitTogglerClicked = () => {
21
19
  this.emitCustomEvent(ACCORDION_EVENTS.toggle);
22
20
  };
23
- this._isDevAccordionOptimizationFlagEnabled = FeatureFlagUtils.isEnabled('dev_accordion_optimization');
24
- if (this._isDevAccordionOptimizationFlagEnabled) {
25
- if (this.parentElement instanceof HAccordionGroup) {
26
- this.slot = this.hasAttribute('slot') ? this.slot : 'toggler';
27
- }
28
- else {
29
- const contentToSlot = UiDomUtils.findParentByCondition(this, ($el) => $el.parentElement instanceof HAccordionGroup);
30
- contentToSlot === null || contentToSlot === void 0 ? void 0 : contentToSlot.setAttribute('slot', 'toggler');
31
- }
32
- }
33
- else {
34
- this._contextConsumer = new ContextConsumerController(this);
35
- }
21
+ this._contextConsumer = new ContextConsumerController(this);
36
22
  }
37
23
  async connectedCallback() {
38
24
  super.connectedCallback();
39
- if (!this._isDevAccordionOptimizationFlagEnabled) {
40
- this._accordionGroupProps = await this._contextConsumer.consumeAsync(ACCORDION_CONTEXTS.accordionGroupProps);
41
- this._accordionGroupPropsObserver = new Observer((accordionProps) => this._setAttributes(accordionProps));
42
- this._accordionGroupProps.subscribe(this._accordionGroupPropsObserver);
43
- this.addEventListener('click', this._emitTogglerClicked);
44
- this.addEventListener('keydown', this._emitTogglerClickedWithKeyboard);
45
- }
25
+ this._accordionGroupProps = await this._contextConsumer.consumeAsync(ACCORDION_CONTEXTS.accordionGroupProps);
26
+ this._accordionGroupPropsObserver = new Observer((accordionProps) => this._setAttributes(accordionProps));
27
+ this._accordionGroupProps.subscribe(this._accordionGroupPropsObserver);
28
+ this.addEventListener('click', this._emitTogglerClicked);
29
+ this.addEventListener('keydown', this._emitTogglerClickedWithKeyboard);
46
30
  }
47
31
  _setAttributes({ regionId, opened, controlsId, disabled }) {
48
32
  this.setAttribute('id', regionId);
@@ -59,7 +43,7 @@ let HAccordionToggler = class HAccordionToggler extends PhoenixLightLitElement {
59
43
  }
60
44
  }
61
45
  disconnectedCallback() {
62
- if (this._accordionGroupProps && !this._isDevAccordionOptimizationFlagEnabled) {
46
+ if (this._accordionGroupProps) {
63
47
  this._accordionGroupProps.unsubscribe(this._accordionGroupPropsObserver);
64
48
  }
65
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,4CAAgD;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,4CAAgD;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -0,0 +1,10 @@
1
+ import type { IDetails, TDetailsMode } from './details_types';
2
+ import { PhoenixLightLitElement } from "../../core/phoenix_light_lit_element/phoenix_light_lit_element";
3
+ export declare class HDetails extends PhoenixLightLitElement implements IDetails {
4
+ disabled: boolean;
5
+ mode: TDetailsMode;
6
+ enable(): void;
7
+ disable(): void;
8
+ updated(): void;
9
+ notify(): void;
10
+ }
@@ -0,0 +1,39 @@
1
+ import { __decorate, __metadata } from '../../../../../external/tslib/tslib.es6.js';
2
+ import { property } from 'lit/decorators';
3
+ import { PhoenixLightLitElement } from '../../core/phoenix_light_lit_element/phoenix_light_lit_element.js';
4
+ import { phoenixCustomElement } from '../../core/decorators/phoenix_custom_element.js';
5
+ import { DETAILS_MODE, DETAILS_EVENTS } from './details_constants.js';
6
+
7
+ let HDetails = class HDetails extends PhoenixLightLitElement {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.disabled = false;
11
+ this.mode = DETAILS_MODE.multi;
12
+ }
13
+ enable() {
14
+ this.disabled = false;
15
+ }
16
+ disable() {
17
+ this.disabled = true;
18
+ }
19
+ updated() {
20
+ this.notify();
21
+ }
22
+ notify() {
23
+ this.dispatchEvent(new Event(DETAILS_EVENTS.update));
24
+ }
25
+ };
26
+ __decorate([
27
+ property({ type: Boolean, reflect: true }),
28
+ __metadata("design:type", Object)
29
+ ], HDetails.prototype, "disabled", void 0);
30
+ __decorate([
31
+ property({ type: String }),
32
+ __metadata("design:type", String)
33
+ ], HDetails.prototype, "mode", void 0);
34
+ HDetails = __decorate([
35
+ phoenixCustomElement('h-details')
36
+ ], HDetails);
37
+
38
+ export { HDetails };
39
+ //# sourceMappingURL=details.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,4CAAgD;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -0,0 +1,13 @@
1
+ export declare const DETAILS_EVENTS: {
2
+ readonly toggle: "toggleDetails";
3
+ readonly update: "updateDetails";
4
+ };
5
+ export declare const DETAILS_CSS_CLASSES: {
6
+ readonly open: "details__open";
7
+ readonly content: "details__content";
8
+ };
9
+ export declare const DETAILS_MODE: {
10
+ readonly single: "single";
11
+ readonly multi: "multi";
12
+ };
13
+ export declare const DETAILS_ANIMATION_DURATION = 400;
@@ -0,0 +1,16 @@
1
+ const DETAILS_EVENTS = {
2
+ toggle: 'toggleDetails',
3
+ update: 'updateDetails'
4
+ };
5
+ const DETAILS_CSS_CLASSES = {
6
+ open: 'details__open',
7
+ content: 'details__content'
8
+ };
9
+ const DETAILS_MODE = {
10
+ single: 'single',
11
+ multi: 'multi'
12
+ };
13
+ const DETAILS_ANIMATION_DURATION = 400;
14
+
15
+ export { DETAILS_ANIMATION_DURATION, DETAILS_CSS_CLASSES, DETAILS_EVENTS, DETAILS_MODE };
16
+ //# sourceMappingURL=details_constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -0,0 +1,6 @@
1
+ import { PhoenixLightLitElement } from "../../core/phoenix_light_lit_element/phoenix_light_lit_element";
2
+ export declare class HDetailsContent extends PhoenixLightLitElement {
3
+ transitionName: string;
4
+ constructor();
5
+ connectedCallback(): void;
6
+ }
@@ -0,0 +1,36 @@
1
+ import { __decorate, __metadata } from '../../../../../external/tslib/tslib.es6.js';
2
+ import { property } from 'lit/decorators';
3
+ import { UiDomUtils } from '@dreamcommerce/utilities';
4
+ import { PhoenixLightLitElement } from '../../core/phoenix_light_lit_element/phoenix_light_lit_element.js';
5
+ import { phoenixCustomElement } from '../../core/decorators/phoenix_custom_element.js';
6
+ import { DETAILS_CSS_CLASSES } from './details_constants.js';
7
+ import { HDetailsGroup } from './details_group.js';
8
+
9
+ let HDetailsContent = class HDetailsContent extends PhoenixLightLitElement {
10
+ constructor() {
11
+ super();
12
+ this.transitionName = 'details-toggle';
13
+ if (this.parentElement instanceof HDetailsGroup) {
14
+ this.slot = this.hasAttribute('slot') ? this.slot : 'content';
15
+ }
16
+ else {
17
+ const contentToSlot = UiDomUtils.findParentByCondition(this, ($el) => $el.parentElement instanceof HDetailsGroup);
18
+ contentToSlot === null || contentToSlot === void 0 ? void 0 : contentToSlot.setAttribute('slot', 'content');
19
+ }
20
+ }
21
+ connectedCallback() {
22
+ super.connectedCallback();
23
+ this.classList.add(DETAILS_CSS_CLASSES.content);
24
+ }
25
+ };
26
+ __decorate([
27
+ property(),
28
+ __metadata("design:type", Object)
29
+ ], HDetailsContent.prototype, "transitionName", void 0);
30
+ HDetailsContent = __decorate([
31
+ phoenixCustomElement('h-details-content'),
32
+ __metadata("design:paramtypes", [])
33
+ ], HDetailsContent);
34
+
35
+ export { HDetailsContent };
36
+ //# sourceMappingURL=details_content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,4CAAgD;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -0,0 +1,30 @@
1
+ import type { IDetails, IDetailsGroup } from './details_types';
2
+ import { PhoenixLightLitElement } from "../../core/phoenix_light_lit_element/phoenix_light_lit_element";
3
+ import { PropertyValues } from 'lit';
4
+ export declare class HDetailsGroup extends PhoenixLightLitElement implements IDetailsGroup, IDetails {
5
+ opened: boolean;
6
+ private _isDisabled;
7
+ private _mode;
8
+ private _$parentDetails;
9
+ private _detailsRef;
10
+ private _togglerId;
11
+ private _animationFrameId;
12
+ private _closeTimeoutId;
13
+ connectedCallback(): void;
14
+ private _addAttributesToSlottedContentElements;
15
+ firstUpdated(props: PropertyValues): void;
16
+ disconnectedCallback(): void;
17
+ private _syncWithParentDetails;
18
+ show(): void;
19
+ hide(): void;
20
+ private _clearPendingAnimations;
21
+ private _dispatchToggleEvent;
22
+ toggle(): void;
23
+ private _handleSingleModeConstraint;
24
+ private _hideOtherDetailsGroups;
25
+ enable(): void;
26
+ disable(): void;
27
+ notify(): void;
28
+ private _summaryClickHandler;
29
+ protected render(): unknown;
30
+ }