@beeq/core 1.8.0-beta.11 → 1.8.0-beta.13

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 (204) hide show
  1. package/dist/beeq/beeq.esm.js +1 -1
  2. package/dist/beeq/{p-42fd96c3.entry.js → p-01050fbd.entry.js} +2 -2
  3. package/dist/beeq/{p-7bc123c9.entry.js → p-2951eb56.entry.js} +2 -2
  4. package/dist/beeq/{p-e8410587.entry.js → p-9a7ddcd2.entry.js} +2 -2
  5. package/dist/beeq/{p-b71d2d9a.entry.js → p-fc0af6bb.entry.js} +2 -2
  6. package/dist/cjs/bq-date-picker.cjs.entry.js +1 -1
  7. package/dist/cjs/bq-dialog.cjs.entry.js +1 -1
  8. package/dist/cjs/bq-drawer.cjs.entry.js +1 -1
  9. package/dist/cjs/bq-select.cjs.entry.js +1 -1
  10. package/dist/collection/components/date-picker/scss/bq-date-picker.css +1 -1
  11. package/dist/collection/components/dialog/scss/bq-dialog.css +1 -1
  12. package/dist/collection/components/drawer/scss/bq-drawer.css +1 -1
  13. package/dist/collection/components/select/scss/bq-select.css +1 -1
  14. package/dist/components/bq-accordion-group.js +1 -114
  15. package/dist/components/bq-accordion-group.js.map +1 -1
  16. package/dist/components/bq-accordion.js +1 -311
  17. package/dist/components/bq-accordion.js.map +1 -1
  18. package/dist/components/bq-alert.js +1 -220
  19. package/dist/components/bq-alert.js.map +1 -1
  20. package/dist/components/bq-avatar.js +1 -139
  21. package/dist/components/bq-avatar.js.map +1 -1
  22. package/dist/components/bq-badge.js +1 -7
  23. package/dist/components/bq-badge.js.map +1 -1
  24. package/dist/components/bq-breadcrumb-item.js +1 -96
  25. package/dist/components/bq-breadcrumb-item.js.map +1 -1
  26. package/dist/components/bq-breadcrumb.js +1 -112
  27. package/dist/components/bq-breadcrumb.js.map +1 -1
  28. package/dist/components/bq-button.js +1 -7
  29. package/dist/components/bq-button.js.map +1 -1
  30. package/dist/components/bq-card.js +1 -86
  31. package/dist/components/bq-card.js.map +1 -1
  32. package/dist/components/bq-checkbox.js +1 -207
  33. package/dist/components/bq-checkbox.js.map +1 -1
  34. package/dist/components/bq-date-picker.js +1 -390
  35. package/dist/components/bq-date-picker.js.map +1 -1
  36. package/dist/components/bq-dialog.js +1 -252
  37. package/dist/components/bq-dialog.js.map +1 -1
  38. package/dist/components/bq-divider.js +1 -7
  39. package/dist/components/bq-divider.js.map +1 -1
  40. package/dist/components/bq-drawer.js +1 -249
  41. package/dist/components/bq-drawer.js.map +1 -1
  42. package/dist/components/bq-dropdown.js +1 -7
  43. package/dist/components/bq-dropdown.js.map +1 -1
  44. package/dist/components/bq-empty-state.js +1 -125
  45. package/dist/components/bq-empty-state.js.map +1 -1
  46. package/dist/components/bq-icon.js +1 -7
  47. package/dist/components/bq-icon.js.map +1 -1
  48. package/dist/components/bq-input.js +1 -266
  49. package/dist/components/bq-input.js.map +1 -1
  50. package/dist/components/bq-notification.js +1 -245
  51. package/dist/components/bq-notification.js.map +1 -1
  52. package/dist/components/bq-option-group.js +1 -64
  53. package/dist/components/bq-option-group.js.map +1 -1
  54. package/dist/components/bq-option-list.js +1 -7
  55. package/dist/components/bq-option-list.js.map +1 -1
  56. package/dist/components/bq-option.js +1 -137
  57. package/dist/components/bq-option.js.map +1 -1
  58. package/dist/components/bq-page-title.js +1 -82
  59. package/dist/components/bq-page-title.js.map +1 -1
  60. package/dist/components/bq-panel.js +1 -7
  61. package/dist/components/bq-panel.js.map +1 -1
  62. package/dist/components/bq-progress.js +1 -130
  63. package/dist/components/bq-progress.js.map +1 -1
  64. package/dist/components/bq-radio-group.js +1 -207
  65. package/dist/components/bq-radio-group.js.map +1 -1
  66. package/dist/components/bq-radio.js +1 -136
  67. package/dist/components/bq-radio.js.map +1 -1
  68. package/dist/components/bq-select.js +1 -452
  69. package/dist/components/bq-select.js.map +1 -1
  70. package/dist/components/bq-side-menu-item.js +1 -125
  71. package/dist/components/bq-side-menu-item.js.map +1 -1
  72. package/dist/components/bq-side-menu.js +1 -144
  73. package/dist/components/bq-side-menu.js.map +1 -1
  74. package/dist/components/bq-slider.js +1 -307
  75. package/dist/components/bq-slider.js.map +1 -1
  76. package/dist/components/bq-spinner.js +1 -167
  77. package/dist/components/bq-spinner.js.map +1 -1
  78. package/dist/components/bq-status.js +1 -82
  79. package/dist/components/bq-status.js.map +1 -1
  80. package/dist/components/bq-step-item.js +1 -119
  81. package/dist/components/bq-step-item.js.map +1 -1
  82. package/dist/components/bq-steps.js +1 -108
  83. package/dist/components/bq-steps.js.map +1 -1
  84. package/dist/components/bq-switch.js +1 -175
  85. package/dist/components/bq-switch.js.map +1 -1
  86. package/dist/components/bq-tab-group.js +1 -232
  87. package/dist/components/bq-tab-group.js.map +1 -1
  88. package/dist/components/bq-tab.js +1 -170
  89. package/dist/components/bq-tab.js.map +1 -1
  90. package/dist/components/bq-tag.js +1 -7
  91. package/dist/components/bq-tag.js.map +1 -1
  92. package/dist/components/bq-textarea.js +1 -210
  93. package/dist/components/bq-textarea.js.map +1 -1
  94. package/dist/components/bq-toast.js +1 -213
  95. package/dist/components/bq-toast.js.map +1 -1
  96. package/dist/components/bq-tooltip.js +1 -7
  97. package/dist/components/bq-tooltip.js.map +1 -1
  98. package/dist/components/index.js +1 -1246
  99. package/dist/components/index.js.map +1 -1
  100. package/dist/components/p-073153b0.js +6 -0
  101. package/dist/components/p-073153b0.js.map +1 -0
  102. package/dist/components/p-0b976755.js +6 -0
  103. package/dist/components/p-0b976755.js.map +1 -0
  104. package/dist/components/p-1a5d4394.js +6 -0
  105. package/dist/components/p-1a5d4394.js.map +1 -0
  106. package/dist/components/p-1c8b6eb4.js +6 -0
  107. package/dist/components/p-1c8b6eb4.js.map +1 -0
  108. package/dist/components/p-1defeea3.js +6 -0
  109. package/dist/components/p-1defeea3.js.map +1 -0
  110. package/dist/components/p-31df5ea1.js +6 -0
  111. package/dist/components/p-31df5ea1.js.map +1 -0
  112. package/dist/components/p-33c55e15.js +6 -0
  113. package/dist/components/p-33c55e15.js.map +1 -0
  114. package/dist/components/p-4299eebe.js +6 -0
  115. package/dist/components/p-4299eebe.js.map +1 -0
  116. package/dist/components/p-57621be1.js +6 -0
  117. package/dist/components/p-57621be1.js.map +1 -0
  118. package/dist/components/p-687da041.js +6 -0
  119. package/dist/components/p-687da041.js.map +1 -0
  120. package/dist/components/p-756ea6e3.js +6 -0
  121. package/dist/components/p-756ea6e3.js.map +1 -0
  122. package/dist/components/p-90b96691.js +6 -0
  123. package/dist/components/p-90b96691.js.map +1 -0
  124. package/dist/components/p-99829fc7.js +6 -0
  125. package/dist/components/p-99829fc7.js.map +1 -0
  126. package/dist/components/p-9e40fcc3.js +6 -0
  127. package/dist/components/p-9e40fcc3.js.map +1 -0
  128. package/dist/components/p-a5dc1c94.js +6 -0
  129. package/dist/components/p-a5dc1c94.js.map +1 -0
  130. package/dist/components/p-a8cad5ab.js +6 -0
  131. package/dist/components/p-a8cad5ab.js.map +1 -0
  132. package/dist/components/p-ac2aea4d.js +6 -0
  133. package/dist/components/p-ac2aea4d.js.map +1 -0
  134. package/dist/components/p-af062402.js +6 -0
  135. package/dist/components/p-af062402.js.map +1 -0
  136. package/dist/components/p-b8a8243f.js +7 -0
  137. package/dist/components/p-b8a8243f.js.map +1 -0
  138. package/dist/components/p-b9b47a5c.js +6 -0
  139. package/dist/components/p-b9b47a5c.js.map +1 -0
  140. package/dist/components/p-c78ae3c2.js +6 -0
  141. package/dist/components/p-c78ae3c2.js.map +1 -0
  142. package/dist/components/p-d7ce7165.js +6 -0
  143. package/dist/components/p-d7ce7165.js.map +1 -0
  144. package/dist/components/p-ecd27cf2.js +6 -0
  145. package/dist/components/p-ecd27cf2.js.map +1 -0
  146. package/dist/components/p-edfd9767.js +6 -0
  147. package/dist/components/p-edfd9767.js.map +1 -0
  148. package/dist/esm/bq-date-picker.entry.js +1 -1
  149. package/dist/esm/bq-dialog.entry.js +1 -1
  150. package/dist/esm/bq-drawer.entry.js +1 -1
  151. package/dist/esm/bq-select.entry.js +1 -1
  152. package/dist/hydrate/index.js +4 -4
  153. package/dist/hydrate/index.mjs +4 -4
  154. package/dist/stencil.config.js +4 -1
  155. package/dist/stencil.config.js.map +1 -1
  156. package/package.json +1 -1
  157. package/dist/components/bq-badge2.js +0 -125
  158. package/dist/components/bq-badge2.js.map +0 -1
  159. package/dist/components/bq-button2.js +0 -208
  160. package/dist/components/bq-button2.js.map +0 -1
  161. package/dist/components/bq-divider2.js +0 -159
  162. package/dist/components/bq-divider2.js.map +0 -1
  163. package/dist/components/bq-dropdown2.js +0 -155
  164. package/dist/components/bq-dropdown2.js.map +0 -1
  165. package/dist/components/bq-icon2.js +0 -315
  166. package/dist/components/bq-icon2.js.map +0 -1
  167. package/dist/components/bq-option-list2.js +0 -76
  168. package/dist/components/bq-option-list2.js.map +0 -1
  169. package/dist/components/bq-panel2.js +0 -135
  170. package/dist/components/bq-panel2.js.map +0 -1
  171. package/dist/components/bq-steps.types.js +0 -10
  172. package/dist/components/bq-steps.types.js.map +0 -1
  173. package/dist/components/bq-tab.types.js +0 -11
  174. package/dist/components/bq-tab.types.js.map +0 -1
  175. package/dist/components/bq-tag2.js +0 -271
  176. package/dist/components/bq-tag2.js.map +0 -1
  177. package/dist/components/bq-tooltip2.js +0 -178
  178. package/dist/components/bq-tooltip2.js.map +0 -1
  179. package/dist/components/cssVariables.js +0 -34
  180. package/dist/components/cssVariables.js.map +0 -1
  181. package/dist/components/debounce.js +0 -73
  182. package/dist/components/debounce.js.map +0 -1
  183. package/dist/components/event.js +0 -18
  184. package/dist/components/event.js.map +0 -1
  185. package/dist/components/index2.js +0 -2138
  186. package/dist/components/index2.js.map +0 -1
  187. package/dist/components/isDefined.js +0 -19
  188. package/dist/components/isDefined.js.map +0 -1
  189. package/dist/components/isHTMLElement.js +0 -17
  190. package/dist/components/isHTMLElement.js.map +0 -1
  191. package/dist/components/isNil.js +0 -16
  192. package/dist/components/isNil.js.map +0 -1
  193. package/dist/components/isString.js +0 -21
  194. package/dist/components/isString.js.map +0 -1
  195. package/dist/components/props.js +0 -27
  196. package/dist/components/props.js.map +0 -1
  197. package/dist/components/slot.js +0 -85
  198. package/dist/components/slot.js.map +0 -1
  199. package/dist/components/transition.js +0 -131
  200. package/dist/components/transition.js.map +0 -1
  201. /package/dist/beeq/{p-42fd96c3.entry.js.map → p-01050fbd.entry.js.map} +0 -0
  202. /package/dist/beeq/{p-7bc123c9.entry.js.map → p-2951eb56.entry.js.map} +0 -0
  203. /package/dist/beeq/{p-e8410587.entry.js.map → p-9a7ddcd2.entry.js.map} +0 -0
  204. /package/dist/beeq/{p-b71d2d9a.entry.js.map → p-fc0af6bb.entry.js.map} +0 -0
@@ -1,131 +0,0 @@
1
- /*!
2
- * Built by Endavans
3
- * © https://beeq.design - Apache 2 License.
4
- */
5
- /* -------------------------------------------------------------------------- */
6
- /* Credits to MikeMcCall for the original implementation */
7
- /* Github: https://github.com/mmccall10/el-transition */
8
- /* -------------------------------------------------------------------------- */
9
- /**
10
- * Transition an element entry
11
- *
12
- * @param element The element to enter
13
- * @param transitionName The name of the transition
14
- * @returns A promise that resolves when the transition is complete
15
- */
16
- const enter = async (element, transitionName = null) => {
17
- element.classList.remove('hidden');
18
- await transition('enter', element, transitionName);
19
- };
20
- /**
21
- * Transition an element exit
22
- *
23
- * @param element The element to leave
24
- * @param transitionName The name of the transition
25
- * @returns A promise that resolves when the transition is complete
26
- */
27
- const leave = async (element, transitionName = null) => {
28
- await transition('leave', element, transitionName);
29
- element.classList.add('hidden');
30
- };
31
- /**
32
- * Toggle an element entry/exit
33
- *
34
- * @param element The element to toggle
35
- * @param transitionName The name of the transition
36
- * @returns A promise that resolves when the transition is complete
37
- */
38
- const toggle = async (element, transitionName = null) => {
39
- if (element.classList.contains('hidden')) {
40
- await enter(element, transitionName);
41
- }
42
- else {
43
- await leave(element, transitionName);
44
- }
45
- };
46
- /**
47
- * Perform a transition on an element
48
- *
49
- * @param direction The direction of the transition
50
- * @param element The element to transition
51
- * @param animation The animation to use
52
- * @returns A promise that resolves when the transition is complete
53
- * @internal
54
- */
55
- const transition = async (direction, element, animation) => {
56
- const { dataset } = element;
57
- const animationClass = animation ? `${animation}-${direction}` : direction;
58
- const transitionKey = `transition${direction.charAt(0).toUpperCase() + direction.slice(1)}`;
59
- // Get the genesis, start, and end classes
60
- const genesisClasses = getDatasetValueOrDefault(dataset, transitionKey, animationClass);
61
- const startClasses = getDatasetValueOrDefault(dataset, `${transitionKey}Start`, `${animationClass}-start`);
62
- const endClasses = getDatasetValueOrDefault(dataset, `${transitionKey}End`, `${animationClass}-end`);
63
- // Add genesis and start classes, then wait for the next frame
64
- addClasses(element, genesisClasses);
65
- addClasses(element, startClasses);
66
- await nextFrame();
67
- // Replace start classes with end classes, then wait for the transition to finish
68
- removeClasses(element, startClasses);
69
- addClasses(element, endClasses);
70
- await afterTransition(element);
71
- // Remove end and genesis classes
72
- removeClasses(element, endClasses);
73
- removeClasses(element, genesisClasses);
74
- };
75
- /**
76
- * Get the value of a dataset key or a default value
77
- *
78
- * @param dataset The dataset to get the value from
79
- * @param key The key to get the value for
80
- * @param defaultValue The default value to return if the key is not found
81
- * @returns The value of the dataset key or the default value
82
- * @internal
83
- */
84
- const getDatasetValueOrDefault = (dataset, key, defaultValue) => {
85
- return dataset[key] ? dataset[key].split(' ') : [defaultValue];
86
- };
87
- /**
88
- * Add classes to an element
89
- *
90
- * @param element The element to add the CSS classes to
91
- * @param classes The classes to add
92
- * @internal
93
- */
94
- const addClasses = (element, classes) => {
95
- element.classList.add(...classes);
96
- };
97
- /**
98
- * Remove classes from an element
99
- *
100
- * @param element The element to remove the CSS classes from
101
- * @param classes The classes to remove
102
- * @internal
103
- */
104
- const removeClasses = (element, classes) => {
105
- element.classList.remove(...classes);
106
- };
107
- /**
108
- * Wait for the next frame
109
- * @returns A promise that resolves when the next frame is available
110
- * @internal
111
- */
112
- const nextFrame = () => {
113
- return new Promise((resolve) => {
114
- requestAnimationFrame(() => {
115
- requestAnimationFrame(() => resolve());
116
- });
117
- });
118
- };
119
- /**
120
- * Wait for all animations to finish
121
- * @param element The element to wait for
122
- * @returns A promise that resolves when all animations are finished
123
- * @internal
124
- */
125
- const afterTransition = (element) => {
126
- return Promise.all(element.getAnimations().map((animation) => animation.finished));
127
- };
128
-
129
- export { enter as e, leave as l, toggle as t };
130
-
131
- //# sourceMappingURL=transition.js.map
@@ -1 +0,0 @@
1
- {"file":"transition.js","mappings":"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","names":[],"sources":["../../packages/beeq/src/shared/utils/transition.ts"],"sourcesContent":["/* -------------------------------------------------------------------------- */\n/* Credits to MikeMcCall for the original implementation */\n/* Github: https://github.com/mmccall10/el-transition */\n/* -------------------------------------------------------------------------- */\n\ninterface HTMLElementWithAnimations extends HTMLElement {\n getAnimations(): Animation[];\n}\n\n/**\n * Transition an element entry\n *\n * @param element The element to enter\n * @param transitionName The name of the transition\n * @returns A promise that resolves when the transition is complete\n */\nexport const enter = async (element: HTMLElement, transitionName: string | null = null): Promise<void> => {\n element.classList.remove('hidden');\n await transition('enter', element, transitionName);\n};\n\n/**\n * Transition an element exit\n *\n * @param element The element to leave\n * @param transitionName The name of the transition\n * @returns A promise that resolves when the transition is complete\n */\nexport const leave = async (element: HTMLElement, transitionName: string | null = null): Promise<void> => {\n await transition('leave', element, transitionName);\n element.classList.add('hidden');\n};\n\n/**\n * Toggle an element entry/exit\n *\n * @param element The element to toggle\n * @param transitionName The name of the transition\n * @returns A promise that resolves when the transition is complete\n */\nexport const toggle = async (element: HTMLElement, transitionName: string | null = null): Promise<void> => {\n if (element.classList.contains('hidden')) {\n await enter(element, transitionName);\n } else {\n await leave(element, transitionName);\n }\n};\n\n/**\n * Perform a transition on an element\n *\n * @param direction The direction of the transition\n * @param element The element to transition\n * @param animation The animation to use\n * @returns A promise that resolves when the transition is complete\n * @internal\n */\nconst transition = async (direction: string, element: HTMLElement, animation: string | null): Promise<void> => {\n const { dataset } = element;\n const animationClass = animation ? `${animation}-${direction}` : direction;\n const transitionKey = `transition${direction.charAt(0).toUpperCase() + direction.slice(1)}`;\n\n // Get the genesis, start, and end classes\n const genesisClasses = getDatasetValueOrDefault(dataset, transitionKey, animationClass);\n const startClasses = getDatasetValueOrDefault(dataset, `${transitionKey}Start`, `${animationClass}-start`);\n const endClasses = getDatasetValueOrDefault(dataset, `${transitionKey}End`, `${animationClass}-end`);\n\n // Add genesis and start classes, then wait for the next frame\n addClasses(element, genesisClasses);\n addClasses(element, startClasses);\n await nextFrame();\n\n // Replace start classes with end classes, then wait for the transition to finish\n removeClasses(element, startClasses);\n addClasses(element, endClasses);\n await afterTransition(element as HTMLElementWithAnimations);\n\n // Remove end and genesis classes\n removeClasses(element, endClasses);\n removeClasses(element, genesisClasses);\n};\n\n/**\n * Get the value of a dataset key or a default value\n *\n * @param dataset The dataset to get the value from\n * @param key The key to get the value for\n * @param defaultValue The default value to return if the key is not found\n * @returns The value of the dataset key or the default value\n * @internal\n */\nconst getDatasetValueOrDefault = (dataset: DOMStringMap, key: string, defaultValue: string): string[] => {\n return dataset[key] ? dataset[key].split(' ') : [defaultValue];\n};\n\n/**\n * Add classes to an element\n *\n * @param element The element to add the CSS classes to\n * @param classes The classes to add\n * @internal\n */\nconst addClasses = (element: HTMLElement, classes: string[]): void => {\n element.classList.add(...classes);\n};\n\n/**\n * Remove classes from an element\n *\n * @param element The element to remove the CSS classes from\n * @param classes The classes to remove\n * @internal\n */\nconst removeClasses = (element: HTMLElement, classes: string[]): void => {\n element.classList.remove(...classes);\n};\n\n/**\n * Wait for the next frame\n * @returns A promise that resolves when the next frame is available\n * @internal\n */\nconst nextFrame = (): Promise<void> => {\n return new Promise((resolve) => {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => resolve());\n });\n });\n};\n\n/**\n * Wait for all animations to finish\n * @param element The element to wait for\n * @returns A promise that resolves when all animations are finished\n * @internal\n */\nconst afterTransition = (element: HTMLElementWithAnimations): Promise<Animation[]> => {\n return Promise.all(element.getAnimations().map((animation) => animation.finished));\n};\n"],"version":3}