@shoper/phoenix_design_system 0.5.2 → 0.7.1

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 (170) hide show
  1. package/package.json +1 -1
  2. package/build/cjs/external/lit-html/async-directive.js +0 -16
  3. package/build/cjs/external/lit-html/async-directive.js.map +0 -1
  4. package/build/cjs/external/lit-html/directive-helpers.js +0 -14
  5. package/build/cjs/external/lit-html/directive-helpers.js.map +0 -1
  6. package/build/cjs/external/lit-html/directive.js +0 -15
  7. package/build/cjs/external/lit-html/directive.js.map +0 -1
  8. package/build/cjs/external/lit-html/directives/ref.js +0 -17
  9. package/build/cjs/external/lit-html/directives/ref.js.map +0 -1
  10. package/build/cjs/external/lit-html/lit-html.js +0 -14
  11. package/build/cjs/external/lit-html/lit-html.js.map +0 -1
  12. package/build/cjs/external/tslib/tslib.es6.js +0 -48
  13. package/build/cjs/external/tslib/tslib.es6.js.map +0 -1
  14. package/build/cjs/external/uuid/dist/esm-browser/regex.js +0 -8
  15. package/build/cjs/external/uuid/dist/esm-browser/regex.js.map +0 -1
  16. package/build/cjs/external/uuid/dist/esm-browser/rng.js +0 -26
  17. package/build/cjs/external/uuid/dist/esm-browser/rng.js.map +0 -1
  18. package/build/cjs/external/uuid/dist/esm-browser/stringify.js +0 -36
  19. package/build/cjs/external/uuid/dist/esm-browser/stringify.js.map +0 -1
  20. package/build/cjs/external/uuid/dist/esm-browser/v4.js +0 -29
  21. package/build/cjs/external/uuid/dist/esm-browser/v4.js.map +0 -1
  22. package/build/cjs/external/uuid/dist/esm-browser/validate.js +0 -12
  23. package/build/cjs/external/uuid/dist/esm-browser/validate.js.map +0 -1
  24. package/build/cjs/packages/phoenix/src/components/modal/modal.js +0 -221
  25. package/build/cjs/packages/phoenix/src/components/modal/modal.js.map +0 -1
  26. package/build/cjs/packages/phoenix/src/components/modal/modal_backdrop.js +0 -66
  27. package/build/cjs/packages/phoenix/src/components/modal/modal_backdrop.js.map +0 -1
  28. package/build/cjs/packages/phoenix/src/components/modal/modal_body.js +0 -20
  29. package/build/cjs/packages/phoenix/src/components/modal/modal_body.js.map +0 -1
  30. package/build/cjs/packages/phoenix/src/components/modal/modal_close.js +0 -41
  31. package/build/cjs/packages/phoenix/src/components/modal/modal_close.js.map +0 -1
  32. package/build/cjs/packages/phoenix/src/components/modal/modal_constants.js +0 -19
  33. package/build/cjs/packages/phoenix/src/components/modal/modal_constants.js.map +0 -1
  34. package/build/cjs/packages/phoenix/src/components/modal/modal_footer.js +0 -20
  35. package/build/cjs/packages/phoenix/src/components/modal/modal_footer.js.map +0 -1
  36. package/build/cjs/packages/phoenix/src/components/modal/modal_header.js +0 -20
  37. package/build/cjs/packages/phoenix/src/components/modal/modal_header.js.map +0 -1
  38. package/build/cjs/packages/phoenix/src/components/modal/modal_opener.js +0 -44
  39. package/build/cjs/packages/phoenix/src/components/modal/modal_opener.js.map +0 -1
  40. package/build/cjs/packages/phoenix/src/components/portal/portal.js +0 -86
  41. package/build/cjs/packages/phoenix/src/components/portal/portal.js.map +0 -1
  42. package/build/cjs/packages/phoenix/src/components/portal/portal_constants.js +0 -13
  43. package/build/cjs/packages/phoenix/src/components/portal/portal_constants.js.map +0 -1
  44. package/build/cjs/packages/phoenix/src/components/portal/portal_target.js +0 -77
  45. package/build/cjs/packages/phoenix/src/components/portal/portal_target.js.map +0 -1
  46. package/build/cjs/packages/phoenix/src/components/portal/portal_target_error.js +0 -9
  47. package/build/cjs/packages/phoenix/src/components/portal/portal_target_error.js.map +0 -1
  48. package/build/cjs/packages/phoenix/src/core/context/context_consumer_controller.js +0 -33
  49. package/build/cjs/packages/phoenix/src/core/context/context_consumer_controller.js.map +0 -1
  50. package/build/cjs/packages/phoenix/src/core/context/context_consumer_messages_names.js +0 -10
  51. package/build/cjs/packages/phoenix/src/core/context/context_consumer_messages_names.js.map +0 -1
  52. package/build/cjs/packages/phoenix/src/core/context/context_provider_controller.js +0 -39
  53. package/build/cjs/packages/phoenix/src/core/context/context_provider_controller.js.map +0 -1
  54. package/build/cjs/packages/phoenix/src/core/decorators/phoenix_custom_element.js +0 -58
  55. package/build/cjs/packages/phoenix/src/core/decorators/phoenix_custom_element.js.map +0 -1
  56. package/build/cjs/packages/phoenix/src/core/phoenix_light_lit_element.js +0 -47
  57. package/build/cjs/packages/phoenix/src/core/phoenix_light_lit_element.js.map +0 -1
  58. package/build/cjs/packages/phoenix/src/core/phoenix_light_lit_elements_constants.js +0 -8
  59. package/build/cjs/packages/phoenix/src/core/phoenix_light_lit_elements_constants.js.map +0 -1
  60. package/build/cjs/packages/phoenix/src/hello_button.js +0 -52
  61. package/build/cjs/packages/phoenix/src/hello_button.js.map +0 -1
  62. package/build/cjs/packages/phoenix/src/index.js +0 -84
  63. package/build/cjs/packages/phoenix/src/index.js.map +0 -1
  64. package/build/cjs/packages/star_core/build/esm/external/tslib/tslib.es6.js +0 -35
  65. package/build/cjs/packages/star_core/build/esm/external/tslib/tslib.es6.js.map +0 -1
  66. package/build/cjs/packages/star_core/build/esm/packages/star_core/src/classes/values_container/values_container.js +0 -66
  67. package/build/cjs/packages/star_core/build/esm/packages/star_core/src/classes/values_container/values_container.js.map +0 -1
  68. package/build/cjs/packages/star_core/build/esm/packages/star_core/src/classes/values_container/values_container_error.js +0 -11
  69. package/build/cjs/packages/star_core/build/esm/packages/star_core/src/classes/values_container/values_container_error.js.map +0 -1
  70. package/build/cjs/packages/star_core/build/esm/packages/star_core/src/core/errors/app_error.js +0 -20
  71. package/build/cjs/packages/star_core/build/esm/packages/star_core/src/core/errors/app_error.js.map +0 -1
  72. package/build/esm/external/lit-html/async-directive.js +0 -12
  73. package/build/esm/external/lit-html/async-directive.js.map +0 -1
  74. package/build/esm/external/lit-html/directive-helpers.js +0 -10
  75. package/build/esm/external/lit-html/directive-helpers.js.map +0 -1
  76. package/build/esm/external/lit-html/directive.js +0 -9
  77. package/build/esm/external/lit-html/directive.js.map +0 -1
  78. package/build/esm/external/lit-html/directives/ref.js +0 -12
  79. package/build/esm/external/lit-html/directives/ref.js.map +0 -1
  80. package/build/esm/external/lit-html/lit-html.js +0 -9
  81. package/build/esm/external/lit-html/lit-html.js.map +0 -1
  82. package/build/esm/external/tslib/tslib.es6.js +0 -41
  83. package/build/esm/external/tslib/tslib.es6.js.map +0 -1
  84. package/build/esm/external/uuid/dist/esm-browser/regex.js +0 -4
  85. package/build/esm/external/uuid/dist/esm-browser/regex.js.map +0 -1
  86. package/build/esm/external/uuid/dist/esm-browser/rng.js +0 -22
  87. package/build/esm/external/uuid/dist/esm-browser/rng.js.map +0 -1
  88. package/build/esm/external/uuid/dist/esm-browser/stringify.js +0 -32
  89. package/build/esm/external/uuid/dist/esm-browser/stringify.js.map +0 -1
  90. package/build/esm/external/uuid/dist/esm-browser/v4.js +0 -25
  91. package/build/esm/external/uuid/dist/esm-browser/v4.js.map +0 -1
  92. package/build/esm/external/uuid/dist/esm-browser/validate.js +0 -8
  93. package/build/esm/external/uuid/dist/esm-browser/validate.js.map +0 -1
  94. package/build/esm/packages/phoenix/src/components/modal/modal.d.ts +0 -31
  95. package/build/esm/packages/phoenix/src/components/modal/modal.js +0 -219
  96. package/build/esm/packages/phoenix/src/components/modal/modal.js.map +0 -1
  97. package/build/esm/packages/phoenix/src/components/modal/modal_backdrop.d.ts +0 -12
  98. package/build/esm/packages/phoenix/src/components/modal/modal_backdrop.js +0 -64
  99. package/build/esm/packages/phoenix/src/components/modal/modal_backdrop.js.map +0 -1
  100. package/build/esm/packages/phoenix/src/components/modal/modal_body.d.ts +0 -4
  101. package/build/esm/packages/phoenix/src/components/modal/modal_body.js +0 -18
  102. package/build/esm/packages/phoenix/src/components/modal/modal_body.js.map +0 -1
  103. package/build/esm/packages/phoenix/src/components/modal/modal_close.d.ts +0 -8
  104. package/build/esm/packages/phoenix/src/components/modal/modal_close.js +0 -39
  105. package/build/esm/packages/phoenix/src/components/modal/modal_close.js.map +0 -1
  106. package/build/esm/packages/phoenix/src/components/modal/modal_constants.d.ts +0 -9
  107. package/build/esm/packages/phoenix/src/components/modal/modal_constants.js +0 -12
  108. package/build/esm/packages/phoenix/src/components/modal/modal_constants.js.map +0 -1
  109. package/build/esm/packages/phoenix/src/components/modal/modal_footer.d.ts +0 -4
  110. package/build/esm/packages/phoenix/src/components/modal/modal_footer.js +0 -18
  111. package/build/esm/packages/phoenix/src/components/modal/modal_footer.js.map +0 -1
  112. package/build/esm/packages/phoenix/src/components/modal/modal_header.d.ts +0 -4
  113. package/build/esm/packages/phoenix/src/components/modal/modal_header.js +0 -18
  114. package/build/esm/packages/phoenix/src/components/modal/modal_header.js.map +0 -1
  115. package/build/esm/packages/phoenix/src/components/modal/modal_opener.d.ts +0 -9
  116. package/build/esm/packages/phoenix/src/components/modal/modal_opener.js +0 -42
  117. package/build/esm/packages/phoenix/src/components/modal/modal_opener.js.map +0 -1
  118. package/build/esm/packages/phoenix/src/components/portal/portal.d.ts +0 -13
  119. package/build/esm/packages/phoenix/src/components/portal/portal.js +0 -84
  120. package/build/esm/packages/phoenix/src/components/portal/portal.js.map +0 -1
  121. package/build/esm/packages/phoenix/src/components/portal/portal_constants.d.ts +0 -13
  122. package/build/esm/packages/phoenix/src/components/portal/portal_constants.js +0 -8
  123. package/build/esm/packages/phoenix/src/components/portal/portal_constants.js.map +0 -1
  124. package/build/esm/packages/phoenix/src/components/portal/portal_target.d.ts +0 -13
  125. package/build/esm/packages/phoenix/src/components/portal/portal_target.js +0 -75
  126. package/build/esm/packages/phoenix/src/components/portal/portal_target.js.map +0 -1
  127. package/build/esm/packages/phoenix/src/components/portal/portal_target_error.d.ts +0 -2
  128. package/build/esm/packages/phoenix/src/components/portal/portal_target_error.js +0 -5
  129. package/build/esm/packages/phoenix/src/components/portal/portal_target_error.js.map +0 -1
  130. package/build/esm/packages/phoenix/src/components/portal/portal_types.d.ts +0 -5
  131. package/build/esm/packages/phoenix/src/components/portal/portal_types.js +0 -2
  132. package/build/esm/packages/phoenix/src/components/portal/portal_types.js.map +0 -1
  133. package/build/esm/packages/phoenix/src/core/context/context_consumer_controller.d.ts +0 -8
  134. package/build/esm/packages/phoenix/src/core/context/context_consumer_controller.js +0 -29
  135. package/build/esm/packages/phoenix/src/core/context/context_consumer_controller.js.map +0 -1
  136. package/build/esm/packages/phoenix/src/core/context/context_consumer_messages_names.d.ts +0 -3
  137. package/build/esm/packages/phoenix/src/core/context/context_consumer_messages_names.js +0 -6
  138. package/build/esm/packages/phoenix/src/core/context/context_consumer_messages_names.js.map +0 -1
  139. package/build/esm/packages/phoenix/src/core/context/context_controller_types.d.ts +0 -6
  140. package/build/esm/packages/phoenix/src/core/context/context_controller_types.js +0 -2
  141. package/build/esm/packages/phoenix/src/core/context/context_controller_types.js.map +0 -1
  142. package/build/esm/packages/phoenix/src/core/context/context_provider_controller.d.ts +0 -9
  143. package/build/esm/packages/phoenix/src/core/context/context_provider_controller.js +0 -35
  144. package/build/esm/packages/phoenix/src/core/context/context_provider_controller.js.map +0 -1
  145. package/build/esm/packages/phoenix/src/core/decorators/phoenix_custom_element.d.ts +0 -21
  146. package/build/esm/packages/phoenix/src/core/decorators/phoenix_custom_element.js +0 -54
  147. package/build/esm/packages/phoenix/src/core/decorators/phoenix_custom_element.js.map +0 -1
  148. package/build/esm/packages/phoenix/src/core/phoenix_light_lit_element.d.ts +0 -9
  149. package/build/esm/packages/phoenix/src/core/phoenix_light_lit_element.js +0 -43
  150. package/build/esm/packages/phoenix/src/core/phoenix_light_lit_element.js.map +0 -1
  151. package/build/esm/packages/phoenix/src/core/phoenix_light_lit_elements_constants.d.ts +0 -1
  152. package/build/esm/packages/phoenix/src/core/phoenix_light_lit_elements_constants.js +0 -4
  153. package/build/esm/packages/phoenix/src/core/phoenix_light_lit_elements_constants.js.map +0 -1
  154. package/build/esm/packages/phoenix/src/global_types.d.ts +0 -25
  155. package/build/esm/packages/phoenix/src/global_types.js +0 -2
  156. package/build/esm/packages/phoenix/src/global_types.js.map +0 -1
  157. package/build/esm/packages/phoenix/src/hello_button.d.ts +0 -9
  158. package/build/esm/packages/phoenix/src/hello_button.js +0 -50
  159. package/build/esm/packages/phoenix/src/hello_button.js.map +0 -1
  160. package/build/esm/packages/phoenix/src/index.d.ts +0 -14
  161. package/build/esm/packages/phoenix/src/index.js +0 -14
  162. package/build/esm/packages/phoenix/src/index.js.map +0 -1
  163. package/build/esm/packages/star_core/build/esm/external/tslib/tslib.es6.js +0 -30
  164. package/build/esm/packages/star_core/build/esm/external/tslib/tslib.es6.js.map +0 -1
  165. package/build/esm/packages/star_core/build/esm/packages/star_core/src/classes/values_container/values_container.js +0 -62
  166. package/build/esm/packages/star_core/build/esm/packages/star_core/src/classes/values_container/values_container.js.map +0 -1
  167. package/build/esm/packages/star_core/build/esm/packages/star_core/src/classes/values_container/values_container_error.js +0 -7
  168. package/build/esm/packages/star_core/build/esm/packages/star_core/src/classes/values_container/values_container_error.js.map +0 -1
  169. package/build/esm/packages/star_core/build/esm/packages/star_core/src/core/errors/app_error.js +0 -16
  170. package/build/esm/packages/star_core/build/esm/packages/star_core/src/core/errors/app_error.js.map +0 -1
@@ -1,219 +0,0 @@
1
- import { __decorate, __metadata } from '../../../../../external/tslib/tslib.es6.js';
2
- import { html } from 'lit';
3
- import { property, state } from 'lit/decorators';
4
- import { PhoenixLightLitElement } from '../../core/phoenix_light_lit_element.js';
5
- import { phoenixCustomElement } from '../../core/decorators/phoenix_custom_element.js';
6
- import { PORTAL_TARGET_NAME_PROP } from '../portal/portal_constants.js';
7
- import { MODAL_OPENED_PROP, FOCUSABLE_ELEMENTS_WITHIN_MODAL, MODALS_PORTAL_NAME, MODAL_EVENTS } from './modal_constants.js';
8
- import { createRef as e, ref as n } from '../../../../../external/lit-html/directives/ref.js';
9
-
10
- var HModal_1;
11
- let HModal = HModal_1 = class HModal extends PhoenixLightLitElement {
12
- constructor() {
13
- super();
14
- this.opened = false;
15
- this.class = '';
16
- this.transition = 'scale';
17
- this._firstFocusableElement = undefined;
18
- this._focusableElements = null;
19
- this._lastFocusableElement = undefined;
20
- this._contentRef = e();
21
- this._focusSentinelStart = e();
22
- this._focusSentinelEnd = e();
23
- this._propsChangeStrategies = {
24
- [MODAL_OPENED_PROP]: {
25
- true: () => {
26
- const scrollY = window.scrollY;
27
- HModal_1.openModals = [...HModal_1.openModals, this];
28
- document.addEventListener('keydown', this._bindCloseOnEsc);
29
- this._dispatchModalOpenedEvent();
30
- setTimeout(() => {
31
- var _a;
32
- (_a = this._firstFocusableElement) === null || _a === void 0 ? void 0 : _a.focus();
33
- window.scrollTo(0, scrollY);
34
- }, 0);
35
- },
36
- false: () => {
37
- HModal_1.openModals = HModal_1.openModals.filter((modal) => modal !== this);
38
- document.removeEventListener('keydown', this._bindCloseOnEsc);
39
- }
40
- }
41
- };
42
- this._keepFocusWithinModal = (ev) => {
43
- var _a, _b;
44
- const isTabPressed = ev.code === 'Tab';
45
- if (isTabPressed) {
46
- if (ev.shiftKey) {
47
- if (document.activeElement === this._firstFocusableElement) {
48
- (_a = this._lastFocusableElement) === null || _a === void 0 ? void 0 : _a.focus();
49
- ev.preventDefault();
50
- }
51
- }
52
- else if (document.activeElement === this._lastFocusableElement) {
53
- (_b = this._firstFocusableElement) === null || _b === void 0 ? void 0 : _b.focus();
54
- ev.preventDefault();
55
- }
56
- }
57
- };
58
- this._handleCloseFromCloseComponent = async (ev) => {
59
- var _a;
60
- ev.stopPropagation();
61
- if ((_a = this._contentRef.value) === null || _a === void 0 ? void 0 : _a.contains(ev.target)) {
62
- await this.close();
63
- }
64
- };
65
- this._bindCloseOnEsc = async (ev) => {
66
- ev.stopImmediatePropagation();
67
- const $target = ev.target;
68
- const closeConditions = [
69
- ev.key === 'Escape',
70
- $target.tagName !== 'INPUT',
71
- ev.ctrlKey === false,
72
- ev.shiftKey === false,
73
- ev.altKey === false
74
- ];
75
- const shouldCloseModal = closeConditions.every((condition) => condition);
76
- if (shouldCloseModal) {
77
- const [modalToClose] = HModal_1.openModals.slice(-1);
78
- await (modalToClose === null || modalToClose === void 0 ? void 0 : modalToClose.close());
79
- }
80
- };
81
- this.hidden = true;
82
- this._focusableElements = [...this.querySelectorAll(FOCUSABLE_ELEMENTS_WITHIN_MODAL)];
83
- }
84
- static _appendModalsPortal() {
85
- const $modalsPortalTarget = document.querySelector(`h-portal-target[name="${MODALS_PORTAL_NAME}"]`);
86
- if (!$modalsPortalTarget) {
87
- const $portalTarget = document.createElement('h-portal-target');
88
- $portalTarget.setAttribute(PORTAL_TARGET_NAME_PROP, MODALS_PORTAL_NAME);
89
- document.body.appendChild($portalTarget);
90
- }
91
- }
92
- static _appendModalsBackdrop() {
93
- const $modalsBackdrop = document.querySelector('h-modal-backdrop');
94
- if (!$modalsBackdrop) {
95
- const $backdrop = document.createElement('h-modal-backdrop');
96
- document.body.appendChild($backdrop);
97
- }
98
- }
99
- static isSomeModalOpen() {
100
- return HModal_1.openModals.some((modal) => modal.opened);
101
- }
102
- connectedCallback() {
103
- super.connectedCallback();
104
- HModal_1._appendModalsPortal();
105
- HModal_1._appendModalsBackdrop();
106
- document.addEventListener('keydown', this._keepFocusWithinModal);
107
- document.addEventListener(MODAL_EVENTS.close, this._handleCloseFromCloseComponent);
108
- }
109
- disconnectedCallback() {
110
- super.disconnectedCallback();
111
- this[MODAL_OPENED_PROP] = false;
112
- document.removeEventListener(MODAL_EVENTS.close, this._handleCloseFromCloseComponent);
113
- document.removeEventListener('keydown', this._bindCloseOnEsc);
114
- }
115
- firstUpdated() {
116
- super.firstUpdated();
117
- this._firstFocusableElement = this._focusSentinelStart.value;
118
- this._lastFocusableElement = this._focusSentinelEnd.value;
119
- }
120
- updated(changedProps) {
121
- if (changedProps.has(MODAL_OPENED_PROP)) {
122
- this._propsChangeStrategies[MODAL_OPENED_PROP][String(this[MODAL_OPENED_PROP])]();
123
- }
124
- }
125
- async open() {
126
- return new Promise((resolve) => {
127
- var _a;
128
- (_a = this._contentRef.value) === null || _a === void 0 ? void 0 : _a.classList.add(`modal_visible`, `modal_show-${this.transition}-start`);
129
- window.requestAnimationFrame(() => {
130
- setTimeout(() => {
131
- var _a;
132
- (_a = this._contentRef.value) === null || _a === void 0 ? void 0 : _a.classList.add(`modal_show-${this.transition}-end`);
133
- }, 0);
134
- const transitionDuration = parseFloat(getComputedStyle(this._contentRef.value || this).transitionDuration) * 1000;
135
- setTimeout(() => {
136
- var _a;
137
- this[MODAL_OPENED_PROP] = true;
138
- this._dispatchModalOpenedEvent();
139
- (_a = this._contentRef.value) === null || _a === void 0 ? void 0 : _a.classList.remove(`modal_show-${this.transition}-start`, `modal_show-${this.transition}-end`);
140
- resolve();
141
- }, transitionDuration);
142
- });
143
- });
144
- }
145
- _dispatchModalOpenedEvent() {
146
- const openModalEvent = new CustomEvent(MODAL_EVENTS.opened, {
147
- bubbles: true
148
- });
149
- this.dispatchEvent(openModalEvent);
150
- }
151
- async close() {
152
- return new Promise((resolve) => {
153
- const transitionDuration = parseFloat(getComputedStyle(this._contentRef.value || this).transitionDuration) * 1000;
154
- window.requestAnimationFrame(() => {
155
- var _a, _b;
156
- (_a = this._contentRef.value) === null || _a === void 0 ? void 0 : _a.classList.remove(`modal_hide-${this.transition}-start`);
157
- (_b = this._contentRef.value) === null || _b === void 0 ? void 0 : _b.classList.add(`modal_hide-${this.transition}-end`);
158
- setTimeout(() => {
159
- var _a;
160
- (_a = this._contentRef.value) === null || _a === void 0 ? void 0 : _a.classList.remove(`modal_hide-${this.transition}-start`, `modal_hide-${this.transition}-end`);
161
- this[MODAL_OPENED_PROP] = false;
162
- this._dispatchModalClosedEvent();
163
- resolve();
164
- }, transitionDuration);
165
- });
166
- });
167
- }
168
- _dispatchModalClosedEvent() {
169
- const closeModalEvent = new CustomEvent(MODAL_EVENTS.closed, {
170
- bubbles: true
171
- });
172
- this.dispatchEvent(closeModalEvent);
173
- }
174
- render() {
175
- return html `
176
- <h-portal ?disabled="${!this.opened}" to="${MODALS_PORTAL_NAME}" hidden>
177
- <div class="modal-wrapper ${this.class}">
178
- <div tabindex="0" ${n(this._focusSentinelStart)}></div>
179
- <div ${n(this._contentRef)} class="modal" role="dialog">
180
- <div class="modal__container">${this.getSlot('header')} ${this.getSlot('body')} ${this.getSlot('footer')}</div>
181
- </div>
182
- <div tabindex="0" ${n(this._focusSentinelEnd)}></div>
183
- </div>
184
- </h-portal>
185
- `;
186
- }
187
- };
188
- HModal.openModals = [];
189
- __decorate([
190
- property({ type: Boolean, reflect: true }),
191
- __metadata("design:type", Object)
192
- ], HModal.prototype, "opened", void 0);
193
- __decorate([
194
- property({ type: String }),
195
- __metadata("design:type", Object)
196
- ], HModal.prototype, "class", void 0);
197
- __decorate([
198
- property({ type: String }),
199
- __metadata("design:type", Object)
200
- ], HModal.prototype, "transition", void 0);
201
- __decorate([
202
- state(),
203
- __metadata("design:type", Object)
204
- ], HModal.prototype, "_firstFocusableElement", void 0);
205
- __decorate([
206
- state(),
207
- __metadata("design:type", Object)
208
- ], HModal.prototype, "_focusableElements", void 0);
209
- __decorate([
210
- state(),
211
- __metadata("design:type", Object)
212
- ], HModal.prototype, "_lastFocusableElement", void 0);
213
- HModal = HModal_1 = __decorate([
214
- phoenixCustomElement('h-modal'),
215
- __metadata("design:paramtypes", [])
216
- ], HModal);
217
-
218
- export { HModal };
219
- //# sourceMappingURL=modal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,4CAAgD;AACvF;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,oDAAwD;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,12 +0,0 @@
1
- import { PhoenixLightLitElement } from "../../core/phoenix_light_lit_element";
2
- export declare class HModalBackdrop extends PhoenixLightLitElement {
3
- visible: boolean;
4
- connectedCallback(): void;
5
- disconnectedCallback(): void;
6
- private _show;
7
- private _hide;
8
- protected updated(): void;
9
- private _disableScrolling;
10
- private _enableScrolling;
11
- render(): import("lit-html").TemplateResult<1>;
12
- }
@@ -1,64 +0,0 @@
1
- import { __decorate, __metadata } from '../../../../../external/tslib/tslib.es6.js';
2
- import { html } from 'lit';
3
- import { property } from 'lit/decorators';
4
- import { PhoenixLightLitElement } from '../../core/phoenix_light_lit_element.js';
5
- import { phoenixCustomElement } from '../../core/decorators/phoenix_custom_element.js';
6
- import { MODAL_EVENTS } from './modal_constants.js';
7
- import { HModal } from './modal.js';
8
-
9
- let HModalBackdrop = class HModalBackdrop extends PhoenixLightLitElement {
10
- constructor() {
11
- super(...arguments);
12
- this.visible = false;
13
- this._show = () => {
14
- if (!this.visible) {
15
- this.visible = true;
16
- }
17
- };
18
- this._hide = () => {
19
- if (!HModal.isSomeModalOpen()) {
20
- this.visible = false;
21
- }
22
- };
23
- }
24
- connectedCallback() {
25
- super.connectedCallback();
26
- document.addEventListener(MODAL_EVENTS.opened, this._show);
27
- document.addEventListener(MODAL_EVENTS.closed, this._hide);
28
- }
29
- disconnectedCallback() {
30
- super.disconnectedCallback();
31
- document.removeEventListener(MODAL_EVENTS.opened, this._show);
32
- document.removeEventListener(MODAL_EVENTS.closed, this._hide);
33
- }
34
- updated() {
35
- if (HModal.isSomeModalOpen()) {
36
- this.visible = true;
37
- this._disableScrolling();
38
- }
39
- else {
40
- this._enableScrolling();
41
- }
42
- }
43
- _disableScrolling() {
44
- document.body.style.overflow = 'hidden';
45
- document.body.style.paddingRight = '15px';
46
- }
47
- _enableScrolling() {
48
- document.body.style.removeProperty('overflow');
49
- document.body.style.removeProperty('padding-right');
50
- }
51
- render() {
52
- return html ` <div aria-hidden="true" ?hidden="${!this.visible}" class="modal-backdrop"></div>`;
53
- }
54
- };
55
- __decorate([
56
- property({ type: Boolean }),
57
- __metadata("design:type", Object)
58
- ], HModalBackdrop.prototype, "visible", void 0);
59
- HModalBackdrop = __decorate([
60
- phoenixCustomElement('h-modal-backdrop')
61
- ], HModalBackdrop);
62
-
63
- export { HModalBackdrop };
64
- //# sourceMappingURL=modal_backdrop.js.map
@@ -1 +0,0 @@
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;"}
@@ -1,4 +0,0 @@
1
- import { PhoenixLightLitElement } from "../../core/phoenix_light_lit_element";
2
- export declare class HModalBody extends PhoenixLightLitElement {
3
- constructor();
4
- }
@@ -1,18 +0,0 @@
1
- import { __decorate, __metadata } from '../../../../../external/tslib/tslib.es6.js';
2
- import { PhoenixLightLitElement } from '../../core/phoenix_light_lit_element.js';
3
- import { phoenixCustomElement } from '../../core/decorators/phoenix_custom_element.js';
4
-
5
- let HModalBody = class HModalBody extends PhoenixLightLitElement {
6
- constructor() {
7
- super();
8
- this.slot = this.hasAttribute('slot') ? this.slot : 'body';
9
- this.className = `modal__body ${this.className}`;
10
- }
11
- };
12
- HModalBody = __decorate([
13
- phoenixCustomElement('h-modal-body'),
14
- __metadata("design:paramtypes", [])
15
- ], HModalBody);
16
-
17
- export { HModalBody };
18
- //# sourceMappingURL=modal_body.js.map
@@ -1 +0,0 @@
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;"}
@@ -1,8 +0,0 @@
1
- import { PhoenixLightLitElement } from "../../core/phoenix_light_lit_element";
2
- export declare class HModalClose extends PhoenixLightLitElement {
3
- constructor();
4
- connectedCallback(): void;
5
- disconnectedCallback(): void;
6
- private _dispatchModalCloseEvent;
7
- private _dispatchModalCloseOnEnterEvent;
8
- }
@@ -1,39 +0,0 @@
1
- import { __decorate, __metadata } from '../../../../../external/tslib/tslib.es6.js';
2
- import { PhoenixLightLitElement } from '../../core/phoenix_light_lit_element.js';
3
- import { phoenixCustomElement } from '../../core/decorators/phoenix_custom_element.js';
4
- import { MODAL_EVENTS } from './modal_constants.js';
5
-
6
- let HModalClose = class HModalClose extends PhoenixLightLitElement {
7
- constructor() {
8
- super();
9
- this.tabIndex = 0;
10
- this.setAttribute('role', 'button');
11
- }
12
- connectedCallback() {
13
- super.connectedCallback();
14
- this.addEventListener('click', this._dispatchModalCloseEvent);
15
- this.addEventListener('keydown', this._dispatchModalCloseOnEnterEvent);
16
- }
17
- disconnectedCallback() {
18
- this.removeEventListener('click', this._dispatchModalCloseEvent);
19
- this.removeEventListener('keydown', this._dispatchModalCloseOnEnterEvent);
20
- }
21
- _dispatchModalCloseEvent() {
22
- const closeModalEvent = new CustomEvent(MODAL_EVENTS.close, {
23
- bubbles: true
24
- });
25
- this.dispatchEvent(closeModalEvent);
26
- }
27
- _dispatchModalCloseOnEnterEvent(ev) {
28
- if (ev.code === 'Enter' || ev.code === 'Space') {
29
- this._dispatchModalCloseEvent();
30
- }
31
- }
32
- };
33
- HModalClose = __decorate([
34
- phoenixCustomElement('h-modal-close'),
35
- __metadata("design:paramtypes", [])
36
- ], HModalClose);
37
-
38
- export { HModalClose };
39
- //# sourceMappingURL=modal_close.js.map
@@ -1 +0,0 @@
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;"}
@@ -1,9 +0,0 @@
1
- export declare const MODALS_PORTAL_NAME = "modals";
2
- export declare const MODAL_EVENTS: {
3
- open: string;
4
- close: string;
5
- opened: string;
6
- closed: string;
7
- };
8
- export declare const MODAL_OPENED_PROP = "opened";
9
- export declare const FOCUSABLE_ELEMENTS_WITHIN_MODAL = "button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])";
@@ -1,12 +0,0 @@
1
- const MODALS_PORTAL_NAME = 'modals';
2
- const MODAL_EVENTS = {
3
- open: 'modal.open',
4
- close: 'modal.close',
5
- opened: 'modal.opened',
6
- closed: 'modal.closed'
7
- };
8
- const MODAL_OPENED_PROP = 'opened';
9
- const FOCUSABLE_ELEMENTS_WITHIN_MODAL = 'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])';
10
-
11
- export { FOCUSABLE_ELEMENTS_WITHIN_MODAL, MODALS_PORTAL_NAME, MODAL_EVENTS, MODAL_OPENED_PROP };
12
- //# sourceMappingURL=modal_constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -1,4 +0,0 @@
1
- import { PhoenixLightLitElement } from "../../core/phoenix_light_lit_element";
2
- export declare class HModalFooter extends PhoenixLightLitElement {
3
- constructor();
4
- }
@@ -1,18 +0,0 @@
1
- import { __decorate, __metadata } from '../../../../../external/tslib/tslib.es6.js';
2
- import { PhoenixLightLitElement } from '../../core/phoenix_light_lit_element.js';
3
- import { phoenixCustomElement } from '../../core/decorators/phoenix_custom_element.js';
4
-
5
- let HModalFooter = class HModalFooter extends PhoenixLightLitElement {
6
- constructor() {
7
- super();
8
- this.slot = this.hasAttribute('slot') ? this.slot : 'footer';
9
- this.className = `modal__footer ${this.className}`;
10
- }
11
- };
12
- HModalFooter = __decorate([
13
- phoenixCustomElement('h-modal-footer'),
14
- __metadata("design:paramtypes", [])
15
- ], HModalFooter);
16
-
17
- export { HModalFooter };
18
- //# sourceMappingURL=modal_footer.js.map
@@ -1 +0,0 @@
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;"}
@@ -1,4 +0,0 @@
1
- import { PhoenixLightLitElement } from "../../core/phoenix_light_lit_element";
2
- export declare class HModalHeader extends PhoenixLightLitElement {
3
- constructor();
4
- }
@@ -1,18 +0,0 @@
1
- import { __decorate, __metadata } from '../../../../../external/tslib/tslib.es6.js';
2
- import { PhoenixLightLitElement } from '../../core/phoenix_light_lit_element.js';
3
- import { phoenixCustomElement } from '../../core/decorators/phoenix_custom_element.js';
4
-
5
- let HModalHeader = class HModalHeader extends PhoenixLightLitElement {
6
- constructor() {
7
- super();
8
- this.slot = this.hasAttribute('slot') ? this.slot : 'header';
9
- this.className = `modal__header ${this.className}`;
10
- }
11
- };
12
- HModalHeader = __decorate([
13
- phoenixCustomElement('h-modal-header'),
14
- __metadata("design:paramtypes", [])
15
- ], HModalHeader);
16
-
17
- export { HModalHeader };
18
- //# sourceMappingURL=modal_header.js.map
@@ -1 +0,0 @@
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;"}
@@ -1,9 +0,0 @@
1
- import { PhoenixLightLitElement } from "../../core/phoenix_light_lit_element";
2
- export declare class HModalOpener extends PhoenixLightLitElement {
3
- name: string;
4
- constructor();
5
- connectedCallback(): void;
6
- disconnectedCallback(): void;
7
- private _openModal;
8
- private _openModalOnKeydownEvent;
9
- }
@@ -1,42 +0,0 @@
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.js';
4
- import { phoenixCustomElement } from '../../core/decorators/phoenix_custom_element.js';
5
-
6
- let HModalOpener = class HModalOpener extends PhoenixLightLitElement {
7
- constructor() {
8
- super();
9
- this.name = '';
10
- this.tabIndex = 0;
11
- this.setAttribute('role', 'button');
12
- }
13
- connectedCallback() {
14
- super.connectedCallback();
15
- this.addEventListener('click', this._openModal);
16
- this.addEventListener('keydown', this._openModalOnKeydownEvent);
17
- }
18
- disconnectedCallback() {
19
- this.removeEventListener('click', this._openModal);
20
- this.removeEventListener('keydown', this._openModalOnKeydownEvent);
21
- }
22
- _openModal() {
23
- const modal = document.querySelector(`h-modal#${this.name}`);
24
- modal === null || modal === void 0 ? void 0 : modal.open();
25
- }
26
- _openModalOnKeydownEvent(ev) {
27
- if (ev.code === 'Enter' || ev.code === 'Space') {
28
- this._openModal();
29
- }
30
- }
31
- };
32
- __decorate([
33
- property({ type: String }),
34
- __metadata("design:type", Object)
35
- ], HModalOpener.prototype, "name", void 0);
36
- HModalOpener = __decorate([
37
- phoenixCustomElement('h-modal-opener'),
38
- __metadata("design:paramtypes", [])
39
- ], HModalOpener);
40
-
41
- export { HModalOpener };
42
- //# sourceMappingURL=modal_opener.js.map
@@ -1 +0,0 @@
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;"}
@@ -1,13 +0,0 @@
1
- import { PhoenixLightLitElement } from "../../core/phoenix_light_lit_element";
2
- export declare class HPortal extends PhoenixLightLitElement {
3
- _id: string;
4
- _initialChildren: Element[];
5
- to: string;
6
- disabled: boolean;
7
- constructor();
8
- firstUpdated(): void;
9
- updated(): void;
10
- disconnectedCallback(): void;
11
- openPortal(): void;
12
- closePortal(): void;
13
- }
@@ -1,84 +0,0 @@
1
- import { __decorate, __metadata } from '../../../../../external/tslib/tslib.es6.js';
2
- import { state, property } from 'lit/decorators';
3
- import { PhoenixLightLitElement } from '../../core/phoenix_light_lit_element.js';
4
- import { phoenixCustomElement } from '../../core/decorators/phoenix_custom_element.js';
5
- import { PORTAL_EVENTS } from './portal_constants.js';
6
- import v4 from '../../../../../external/uuid/dist/esm-browser/v4.js';
7
-
8
- let HPortal = class HPortal extends PhoenixLightLitElement {
9
- constructor() {
10
- super();
11
- this._id = v4();
12
- this._initialChildren = [];
13
- this.to = '';
14
- this.disabled = false;
15
- this._initialChildren = [...this.children];
16
- }
17
- firstUpdated() {
18
- const shouldOpenPortal = this._initialChildren.length > 0 && !this.disabled;
19
- if (shouldOpenPortal) {
20
- this.openPortal();
21
- }
22
- }
23
- updated() {
24
- if (this.children.length > 0) {
25
- if (!this.disabled) {
26
- this._initialChildren = [...this.children];
27
- this.openPortal();
28
- }
29
- }
30
- if (this.disabled === true) {
31
- this.closePortal();
32
- }
33
- else if (this.disabled === false) {
34
- this.openPortal();
35
- }
36
- }
37
- disconnectedCallback() {
38
- this.closePortal();
39
- }
40
- openPortal() {
41
- const openPortalEvent = new CustomEvent(PORTAL_EVENTS.open, {
42
- composed: true,
43
- detail: {
44
- portalId: this._id,
45
- to: this.to,
46
- content: [...this._initialChildren]
47
- }
48
- });
49
- document.dispatchEvent(openPortalEvent);
50
- }
51
- closePortal() {
52
- const closePortalEvent = new CustomEvent(PORTAL_EVENTS.close, {
53
- composed: true,
54
- detail: {
55
- portalId: this._id,
56
- to: this.to
57
- }
58
- });
59
- document.dispatchEvent(closePortalEvent);
60
- }
61
- };
62
- __decorate([
63
- state(),
64
- __metadata("design:type", Object)
65
- ], HPortal.prototype, "_id", void 0);
66
- __decorate([
67
- state(),
68
- __metadata("design:type", Array)
69
- ], HPortal.prototype, "_initialChildren", void 0);
70
- __decorate([
71
- property({ type: String }),
72
- __metadata("design:type", Object)
73
- ], HPortal.prototype, "to", void 0);
74
- __decorate([
75
- property({ type: Boolean }),
76
- __metadata("design:type", Object)
77
- ], HPortal.prototype, "disabled", void 0);
78
- HPortal = __decorate([
79
- phoenixCustomElement('h-portal'),
80
- __metadata("design:paramtypes", [])
81
- ], HPortal);
82
-
83
- export { HPortal };
84
- //# sourceMappingURL=portal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,4CAAgD;AACvF;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;"}
@@ -1,13 +0,0 @@
1
- import { HPortal } from './portal';
2
- import { HPortalTarget } from './portal_target';
3
- export declare const PORTAL_EVENTS: {
4
- open: string;
5
- close: string;
6
- };
7
- export declare const PORTAL_TARGET_NAME_PROP = "name";
8
- declare global {
9
- interface HTMLElementTagNameMap {
10
- 'h-portal': HPortal;
11
- 'h-portal-target': HPortalTarget;
12
- }
13
- }
@@ -1,8 +0,0 @@
1
- const PORTAL_EVENTS = {
2
- open: `portal.open`,
3
- close: 'portal.close'
4
- };
5
- const PORTAL_TARGET_NAME_PROP = 'name';
6
-
7
- export { PORTAL_EVENTS, PORTAL_TARGET_NAME_PROP };
8
- //# sourceMappingURL=portal_constants.js.map