@xplortech/apollo-core 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/build/style.css +3178 -474
  3. package/dist/apollo-core/apollo-core.css +5509 -5
  4. package/dist/apollo-core/apollo-core.esm.js +125 -1
  5. package/dist/apollo-core/app-globals-0f993ce5.js +3 -0
  6. package/dist/apollo-core/css-shim-bbdf0cc6.js +4 -0
  7. package/dist/apollo-core/dom-1f98a75f.js +73 -0
  8. package/dist/apollo-core/index-3c9f25ef.js +2938 -0
  9. package/dist/apollo-core/index-3eb5568f.js +2938 -0
  10. package/dist/apollo-core/index-912d1a21.js +584 -0
  11. package/dist/apollo-core/index.esm.js +1 -0
  12. package/dist/{esm/xpl-avatar_14.entry.js → apollo-core/regular-133c23b5.js} +12 -328
  13. package/dist/apollo-core/shadow-css-67b66845.js +389 -0
  14. package/dist/apollo-core/xpl-application-shell.entry.js +52 -0
  15. package/dist/apollo-core/xpl-avatar.entry.js +19 -0
  16. package/dist/apollo-core/xpl-backdrop.entry.js +21 -0
  17. package/dist/apollo-core/xpl-badge.entry.js +17 -0
  18. package/dist/{collection/components/xpl-breadcrumbs/xpl-breadcrumb-item/xpl-breadcrumb-item.js → apollo-core/xpl-breadcrumb-item.entry.js} +9 -12
  19. package/dist/apollo-core/xpl-breadcrumbs.entry.js +14 -0
  20. package/dist/apollo-core/xpl-button-row.entry.js +20 -0
  21. package/dist/apollo-core/xpl-button.entry.js +34 -0
  22. package/dist/apollo-core/xpl-checkbox.entry.js +25 -0
  23. package/dist/apollo-core/xpl-choicelist.entry.js +32 -0
  24. package/dist/apollo-core/xpl-content-area.entry.js +16 -0
  25. package/dist/apollo-core/xpl-divider.entry.js +14 -0
  26. package/dist/apollo-core/xpl-grid-item.entry.js +21 -0
  27. package/dist/apollo-core/xpl-grid.entry.js +31 -0
  28. package/dist/apollo-core/xpl-input.entry.js +2540 -0
  29. package/dist/apollo-core/xpl-list.entry.js +59 -0
  30. package/dist/apollo-core/xpl-main-nav.entry.js +26 -0
  31. package/dist/apollo-core/xpl-nav-item.entry.js +12 -0
  32. package/dist/{esm → apollo-core}/xpl-pagination.entry.js +1 -1
  33. package/dist/apollo-core/xpl-radio.entry.js +25 -0
  34. package/dist/apollo-core/xpl-secondary-nav.entry.js +12 -0
  35. package/dist/apollo-core/xpl-select.entry.js +660 -0
  36. package/dist/apollo-core/xpl-table.entry.js +85 -0
  37. package/dist/apollo-core/xpl-tag.entry.js +17 -0
  38. package/dist/apollo-core/xpl-toggle.entry.js +30 -0
  39. package/dist/apollo-core/xpl-utility-bar.entry.js +25 -0
  40. package/dist/custom-elements/index.d.ts +60 -0
  41. package/dist/types/Users/fernandogelin/Projects/apollo/.stencil/stories/application-shell.stories.d.ts +62 -0
  42. package/dist/types/Users/fernandogelin/Projects/apollo/.stencil/stories/button-row.stories.d.ts +49 -0
  43. package/dist/types/Users/{awentt/Sites → fernandogelin/Projects}/apollo/.stencil/stories/checkbox.stories.d.ts +10 -2
  44. package/dist/types/Users/fernandogelin/Projects/apollo/.stencil/stories/choicelist.stories.d.ts +41 -0
  45. package/dist/types/Users/fernandogelin/Projects/apollo/.stencil/stories/divider.stories.d.ts +40 -0
  46. package/dist/types/Users/fernandogelin/Projects/apollo/.stencil/stories/grid.stories.d.ts +150 -0
  47. package/dist/types/Users/fernandogelin/Projects/apollo/.stencil/stories/input.stories.d.ts +190 -0
  48. package/dist/types/Users/fernandogelin/Projects/apollo/.stencil/stories/list.stories.d.ts +71 -0
  49. package/dist/types/Users/{awentt/Sites → fernandogelin/Projects}/apollo/.stencil/stories/radio.stories.d.ts +10 -2
  50. package/dist/types/Users/fernandogelin/Projects/apollo/.stencil/stories/select.stories.d.ts +74 -0
  51. package/dist/types/Users/fernandogelin/Projects/apollo/.stencil/stories/toggle.stories.d.ts +74 -0
  52. package/dist/types/components/xpl-application-shell/test/xpl-application-shell.e2e.d.ts +1 -0
  53. package/dist/types/components/xpl-application-shell/xpl-application-shell.d.ts +24 -0
  54. package/dist/types/components/xpl-avatar/test/xpl-avatar.e2e.d.ts +1 -0
  55. package/dist/types/components/xpl-avatar/test/xpl-avatar.spec.d.ts +1 -0
  56. package/dist/types/components/xpl-backdrop/test/xpl-backdrop.e2e.d.ts +1 -0
  57. package/dist/types/components/xpl-backdrop/xpl-backdrop.d.ts +5 -0
  58. package/dist/types/components/xpl-badge/test/xpl-badge.e2e.d.ts +1 -0
  59. package/dist/types/components/xpl-badge/test/xpl-badge.spec.d.ts +1 -0
  60. package/dist/types/components/xpl-breadcrumbs/xpl-breadcrumb-item/test/xpl-breadcrumb-item.e2e.d.ts +1 -0
  61. package/dist/types/components/xpl-breadcrumbs/xpl-breadcrumbs/test/xpl-breadcrumbs.e2e.d.ts +1 -0
  62. package/dist/types/components/xpl-button/test/xpl-button.e2e.d.ts +1 -0
  63. package/dist/types/components/xpl-button/test/xpl-button.spec.d.ts +1 -0
  64. package/dist/types/components/xpl-button-row/test/xpl-button-row.e2e.d.ts +1 -0
  65. package/dist/types/components/xpl-button-row/test/xpl-button-row.spec.d.ts +1 -0
  66. package/dist/types/components/xpl-button-row/xpl-button-row.d.ts +35 -0
  67. package/dist/types/components/xpl-checkbox/test/xpl-checkbox.e2e.d.ts +1 -0
  68. package/dist/types/components/xpl-checkbox/test/xpl-checkbox.spec.d.ts +1 -0
  69. package/dist/types/components/xpl-checkbox/xpl-checkbox.d.ts +5 -0
  70. package/dist/types/components/xpl-choicelist/choice.d.ts +6 -0
  71. package/dist/types/components/xpl-choicelist/test/xpl-choicelist.e2e.d.ts +1 -0
  72. package/dist/types/components/xpl-choicelist/test/xpl-choicelist.spec.d.ts +1 -0
  73. package/dist/types/components/xpl-choicelist/xpl-choicelist.d.ts +31 -0
  74. package/dist/types/components/xpl-content-area/test/xpl-content-area.e2e.d.ts +1 -0
  75. package/dist/types/components/xpl-divider/test/xpl-divider.e2e.d.ts +1 -0
  76. package/dist/types/components/xpl-divider/test/xpl-divider.spec.d.ts +1 -0
  77. package/dist/types/components/xpl-divider/xpl-divider.d.ts +9 -0
  78. package/dist/types/components/xpl-dropdown/dropdownchoice.d.ts +6 -0
  79. package/dist/types/components/xpl-dropdown/xpl-dropdown.d.ts +10 -0
  80. package/dist/types/components/xpl-grid/test/xpl-grid.e2e.d.ts +1 -0
  81. package/dist/types/components/xpl-grid/test/xpl-grid.spec.d.ts +1 -0
  82. package/dist/types/components/xpl-grid/xpl-grid.d.ts +5 -0
  83. package/dist/types/components/xpl-grid-item/test/xpl-grid-item.e2e.d.ts +1 -0
  84. package/dist/types/components/xpl-grid-item/test/xpl-grid-item.spec.d.ts +1 -0
  85. package/dist/types/components/xpl-grid-item/xpl-grid-item.d.ts +7 -0
  86. package/dist/types/components/xpl-input/test/xpl-input.e2e.d.ts +1 -0
  87. package/dist/types/components/xpl-input/test/xpl-input.spec.d.ts +1 -0
  88. package/dist/types/components/xpl-input/xpl-input.d.ts +87 -0
  89. package/dist/types/components/xpl-list/listitem.d.ts +16 -0
  90. package/dist/types/components/xpl-list/test/xpl-list.e2e.d.ts +1 -0
  91. package/dist/types/components/xpl-list/test/xpl-list.spec.d.ts +1 -0
  92. package/dist/types/components/xpl-list/xpl-list.d.ts +28 -0
  93. package/dist/types/components/xpl-main-nav/test/xpl-main-nav.e2e.d.ts +1 -0
  94. package/dist/types/components/xpl-main-nav/xpl-main-nav.d.ts +9 -0
  95. package/dist/types/components/xpl-nav-item/test/xpl-nav-item.e2e.d.ts +1 -0
  96. package/dist/types/components/xpl-pagination/test/xpl-pagination.e2e.d.ts +1 -0
  97. package/dist/types/components/xpl-pagination/test/xpl-pagination.spec.d.ts +1 -0
  98. package/dist/types/components/xpl-radio/test/xpl-radio.e2e.d.ts +1 -0
  99. package/dist/types/components/xpl-radio/test/xpl-radio.spec.d.ts +1 -0
  100. package/dist/types/components/xpl-radio/xpl-radio.d.ts +4 -0
  101. package/dist/types/components/xpl-secondary-nav/test/secondary-nav.e2e.d.ts +1 -0
  102. package/dist/types/components/xpl-select/test/xpl-select.e2e.d.ts +1 -0
  103. package/dist/types/components/xpl-select/test/xpl-select.spec.d.ts +1 -0
  104. package/dist/types/components/xpl-select/xpl-select.d.ts +52 -0
  105. package/dist/types/components/xpl-table/test/xpl-table.e2e.d.ts +1 -0
  106. package/dist/types/components/xpl-table/test/xpl-table.spec.d.ts +1 -0
  107. package/dist/types/components/xpl-table/xpl-table.d.ts +6 -6
  108. package/dist/types/components/xpl-tag/test/xpl-tag.e2e.d.ts +1 -0
  109. package/dist/types/components/xpl-tag/test/xpl-tag.spec.d.ts +1 -0
  110. package/dist/types/components/xpl-tag/xpl-tag.d.ts +5 -0
  111. package/dist/types/components/xpl-toggle/test/xpl-toggle.e2e.d.ts +1 -0
  112. package/dist/types/components/xpl-toggle/test/xpl-toggle.spec.d.ts +1 -0
  113. package/dist/types/components/xpl-toggle/xpl-toggle.d.ts +23 -0
  114. package/dist/types/components/xpl-utility-bar/test/xpl-utility-bar.e2e.d.ts +1 -0
  115. package/dist/types/components/xpl-utility-bar/xpl-utility-bar.d.ts +12 -0
  116. package/dist/types/components.d.ts +508 -5
  117. package/package.json +1 -1
  118. package/dist/apollo-core/p-00996870.js +0 -1
  119. package/dist/apollo-core/p-21872e0f.entry.js +0 -1
  120. package/dist/apollo-core/p-43013b35.entry.js +0 -11
  121. package/dist/apollo-core/p-d8ea7d80.entry.js +0 -1
  122. package/dist/cjs/apollo-core.cjs.js +0 -19
  123. package/dist/cjs/index-716d8f57.js +0 -1442
  124. package/dist/cjs/index.cjs.js +0 -2
  125. package/dist/cjs/loader.cjs.js +0 -21
  126. package/dist/cjs/xpl-avatar_14.cjs.entry.js +0 -16385
  127. package/dist/cjs/xpl-choicelist.cjs.entry.js +0 -16
  128. package/dist/cjs/xpl-pagination.cjs.entry.js +0 -76
  129. package/dist/collection/collection-manifest.json +0 -27
  130. package/dist/collection/components/xpl-avatar/xpl-avatar.js +0 -158
  131. package/dist/collection/components/xpl-backdrop/xpl-backdrop.js +0 -7
  132. package/dist/collection/components/xpl-badge/xpl-badge.js +0 -50
  133. package/dist/collection/components/xpl-breadcrumbs/xpl-breadcrumbs/xpl-breadcrumbs.js +0 -15
  134. package/dist/collection/components/xpl-button/xpl-button.js +0 -214
  135. package/dist/collection/components/xpl-checkbox/xpl-checkbox.js +0 -139
  136. package/dist/collection/components/xpl-choicelist/xpl-choicelist.js +0 -9
  137. package/dist/collection/components/xpl-content-area/xpl-content-area.js +0 -39
  138. package/dist/collection/components/xpl-main-nav/xpl-main-nav.js +0 -43
  139. package/dist/collection/components/xpl-nav-item/xpl-nav-item.js +0 -10
  140. package/dist/collection/components/xpl-pagination/xpl-pagination.js +0 -189
  141. package/dist/collection/components/xpl-radio/xpl-radio.js +0 -122
  142. package/dist/collection/components/xpl-secondary-nav/xpl-secondary-nav.js +0 -9
  143. package/dist/collection/components/xpl-table/xpl-table.js +0 -194
  144. package/dist/collection/components/xpl-utility-bar/xpl-utility-bar.js +0 -10
  145. package/dist/custom-elements/index.js +0 -16507
  146. package/dist/esm/apollo-core.js +0 -17
  147. package/dist/esm/index-4c8962a5.js +0 -1415
  148. package/dist/esm/index.js +0 -1
  149. package/dist/esm/loader.js +0 -17
  150. package/dist/esm/polyfills/core-js.js +0 -11
  151. package/dist/esm/polyfills/css-shim.js +0 -1
  152. package/dist/esm/polyfills/dom.js +0 -79
  153. package/dist/esm/polyfills/es5-html-element.js +0 -1
  154. package/dist/esm/polyfills/index.js +0 -34
  155. package/dist/esm/polyfills/system.js +0 -6
  156. package/dist/esm/xpl-choicelist.entry.js +0 -12
  157. package/dist/index.cjs.js +0 -1
  158. package/dist/index.js +0 -1
  159. package/dist/stories/avatar.stories.js +0 -173
  160. package/dist/stories/backdrop.stories.js +0 -18
  161. package/dist/stories/badge.stories.js +0 -48
  162. package/dist/stories/breadcrumbs.stories.js +0 -115
  163. package/dist/stories/button.stories.js +0 -98
  164. package/dist/stories/checkbox.stories.js +0 -66
  165. package/dist/stories/content-area.stories.js +0 -53
  166. package/dist/stories/main-nav.stories.js +0 -308
  167. package/dist/stories/pagination.stories.js +0 -84
  168. package/dist/stories/radio.stories.js +0 -56
  169. package/dist/stories/secondary-nav.stories.js +0 -76
  170. package/dist/stories/table.stories.js +0 -107
  171. package/dist/stories/tabs.stories.js +0 -24
  172. package/dist/stories/utility-bar.stories.js +0 -94
  173. /package/dist/types/Users/{awentt/Sites → fernandogelin/Projects}/apollo/.stencil/stories/avatar.stories.d.ts +0 -0
  174. /package/dist/types/Users/{awentt/Sites → fernandogelin/Projects}/apollo/.stencil/stories/backdrop.stories.d.ts +0 -0
  175. /package/dist/types/Users/{awentt/Sites → fernandogelin/Projects}/apollo/.stencil/stories/badge.stories.d.ts +0 -0
  176. /package/dist/types/Users/{awentt/Sites → fernandogelin/Projects}/apollo/.stencil/stories/breadcrumbs.stories.d.ts +0 -0
  177. /package/dist/types/Users/{awentt/Sites → fernandogelin/Projects}/apollo/.stencil/stories/button.stories.d.ts +0 -0
  178. /package/dist/types/Users/{awentt/Sites → fernandogelin/Projects}/apollo/.stencil/stories/content-area.stories.d.ts +0 -0
  179. /package/dist/types/Users/{awentt/Sites → fernandogelin/Projects}/apollo/.stencil/stories/main-nav.stories.d.ts +0 -0
  180. /package/dist/types/Users/{awentt/Sites → fernandogelin/Projects}/apollo/.stencil/stories/pagination.stories.d.ts +0 -0
  181. /package/dist/types/Users/{awentt/Sites → fernandogelin/Projects}/apollo/.stencil/stories/secondary-nav.stories.d.ts +0 -0
  182. /package/dist/types/Users/{awentt/Sites → fernandogelin/Projects}/apollo/.stencil/stories/table.stories.d.ts +0 -0
  183. /package/dist/types/Users/{awentt/Sites → fernandogelin/Projects}/apollo/.stencil/stories/tabs.stories.d.ts +0 -0
  184. /package/dist/types/Users/{awentt/Sites → fernandogelin/Projects}/apollo/.stencil/stories/utility-bar.stories.d.ts +0 -0
@@ -1,74 +1,9 @@
1
- import { r as registerInstance, h, H as Host, c as createEvent } from './index-4c8962a5.js';
2
-
3
- const XplAvatar = class {
4
- constructor(hostRef) {
5
- registerInstance(this, hostRef);
6
- this.disabled = false;
7
- }
8
- render() {
9
- let className = "xpl-avatar";
10
- if (this.size)
11
- className += ` xpl-avatar--${this.size}`;
12
- if (this.color)
13
- className += ` xpl-avatar--${this.color}`;
14
- const inner = (h("div", null, this.src ? (h("img", { alt: this.name, src: this.src })) : (h("div", { class: "xpl-avatar__placeholder" }, h("slot", null))), this.status && h("div", { class: `xpl-avatar__dot--${this.status}` })));
15
- return (h(Host, null, this.href && !this.disabled ? (h("a", { href: this.href, class: className, target: this.target }, inner)) : this.href && this.disabled ? (h("div", { class: className + " xpl-avatar--disabled" }, inner)) : (h("div", { class: className }, inner))));
16
- }
17
- };
18
-
19
- const XplBackdrop = class {
20
- constructor(hostRef) {
21
- registerInstance(this, hostRef);
22
- }
23
- render() {
24
- return (h(Host, { class: "xpl-backdrop", "aria-hidden": "true" }));
25
- }
26
- };
27
-
28
- const XplBadge = class {
29
- constructor(hostRef) {
30
- registerInstance(this, hostRef);
31
- }
32
- render() {
33
- let className = "xpl-badge";
34
- if (this.dot)
35
- className += " xpl-badge--dot";
36
- if (this.variant)
37
- className += " xpl-badge--" + this.variant;
38
- return (h(Host, null, h("div", { class: className }, h("slot", null))));
39
- }
40
- };
41
-
42
- const XplBreadcrumbItem = class {
43
- constructor(hostRef) {
44
- registerInstance(this, hostRef);
45
- // This is temporary as we still don't have a xpl-icon component. When that's created we should update this code.
46
- this.chevron = `<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="chevron-right" class="svg-inline--fa fa-chevron-right fa-w-10" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512">
47
- <path fill="currentColor" d="M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z"></path>
48
- </svg>
49
- `;
50
- }
51
- render() {
52
- return (h(Host, { class: "xpl-breadcrumb-item", role: "listitem" }, h("li", { role: "none" }, h("slot", null)), h("span", { innerHTML: `${this.chevron}` })));
53
- }
54
- ;
55
- };
56
-
57
- const XplBreadcrumbs = class {
58
- constructor(hostRef) {
59
- registerInstance(this, hostRef);
60
- }
61
- render() {
62
- return (h(Host, null, h("nav", { class: "xpl-breadcrumbs", "aria-label": "Breadcrumb" }, h("ol", { role: "list" }, h("slot", null)))));
63
- }
64
- ;
65
- };
66
-
67
1
  /*!
68
2
  * Font Awesome Pro 5.15.3 by @fontawesome - https://fontawesome.com
69
3
  * License - https://fontawesome.com/license (Commercial License)
70
4
  */
71
5
  (function () {
6
+ "use strict";
72
7
 
73
8
  function _typeof(obj) {
74
9
  if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
@@ -3012,11 +2947,14 @@ const XplBreadcrumbs = class {
3012
2947
  * License - https://fontawesome.com/license (Commercial License)
3013
2948
  */
3014
2949
  (function () {
2950
+ "use strict";
3015
2951
 
3016
2952
  var _WINDOW = {};
2953
+ var _DOCUMENT = {};
3017
2954
 
3018
2955
  try {
3019
2956
  if (typeof window !== "undefined") _WINDOW = window;
2957
+ if (typeof document !== "undefined") _DOCUMENT = document;
3020
2958
  } catch (e) {}
3021
2959
 
3022
2960
  var _ref = _WINDOW.navigator || {},
@@ -3024,7 +2962,14 @@ const XplBreadcrumbs = class {
3024
2962
  userAgent = _ref$userAgent === void 0 ? "" : _ref$userAgent;
3025
2963
 
3026
2964
  var WINDOW = _WINDOW;
3027
- ~userAgent.indexOf("MSIE") || ~userAgent.indexOf("Trident/");
2965
+ var DOCUMENT = _DOCUMENT;
2966
+ var IS_BROWSER = !!WINDOW.document;
2967
+ var IS_DOM =
2968
+ !!DOCUMENT.documentElement &&
2969
+ !!DOCUMENT.head &&
2970
+ typeof DOCUMENT.addEventListener === "function" &&
2971
+ typeof DOCUMENT.createElement === "function";
2972
+ var IS_IE = ~userAgent.indexOf("MSIE") || ~userAgent.indexOf("Trident/");
3028
2973
 
3029
2974
  var NAMESPACE_IDENTIFIER = "___FONT_AWESOME___";
3030
2975
  var PRODUCTION = (function () {
@@ -16105,264 +16050,3 @@ const XplBreadcrumbs = class {
16105
16050
  defineIcons("far", icons);
16106
16051
  });
16107
16052
  })();
16108
-
16109
- const XplButton = class {
16110
- constructor(hostRef) {
16111
- registerInstance(this, hostRef);
16112
- this.size = "default";
16113
- this.variant = "primary";
16114
- }
16115
- render() {
16116
- let className = "xpl-button";
16117
- if (this.variant === "secondary")
16118
- className += " xpl-button--secondary";
16119
- if (this.variant === "subtle")
16120
- className += " xpl-button--subtle";
16121
- if (this.variant === "warning")
16122
- className += " xpl-button--warning";
16123
- if (this.size === "sm")
16124
- className += " xpl-button--sm";
16125
- if (this.size === "xs")
16126
- className += " xpl-button--xs";
16127
- if (this.iconOnly)
16128
- className += " xpl-button--icon-only";
16129
- const icon = this.icon ? (h("i", { class: `far fa-${this.icon} ${this.iconTrailing ? "trailing" : this.iconOnly ? "" : "leading"}` })) : null;
16130
- return (h(Host, null,
16131
- /**
16132
- * Conditionally render either an <a> or <button> element
16133
- * depending on if there's an `href` or not
16134
- */
16135
- this.href ? (h("a", { class: className, href: this.href, role: "button" }, !this.iconTrailing && icon, this.iconOnly ? (h("span", { class: "sr-only" }, h("slot", null))) : (h("slot", null)), this.iconTrailing && icon)) : (h("button", { class: className, disabled: this.disabled, name: this.name, type: this.type, value: this.value }, !this.iconTrailing && icon, this.iconOnly ? (h("span", { class: "sr-only" }, h("slot", null))) : (h("slot", null)), this.iconTrailing && icon))));
16136
- }
16137
- };
16138
-
16139
- // Unique ID creation requires a high quality random # generator. In the browser we therefore
16140
- // require the crypto API and do not support built-in fallback to lower quality random number
16141
- // generators (like Math.random()).
16142
- var getRandomValues;
16143
- var rnds8 = new Uint8Array(16);
16144
- function rng() {
16145
- // lazy load so that environments that need to polyfill have a chance to do so
16146
- if (!getRandomValues) {
16147
- // getRandomValues needs to be invoked in a context where "this" is a Crypto implementation. Also,
16148
- // find the complete implementation of crypto (msCrypto) on IE11.
16149
- getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);
16150
-
16151
- if (!getRandomValues) {
16152
- throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');
16153
- }
16154
- }
16155
-
16156
- return getRandomValues(rnds8);
16157
- }
16158
-
16159
- const REGEX = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;
16160
-
16161
- function validate(uuid) {
16162
- return typeof uuid === 'string' && REGEX.test(uuid);
16163
- }
16164
-
16165
- /**
16166
- * Convert array of 16 byte values to UUID string format of the form:
16167
- * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
16168
- */
16169
-
16170
- var byteToHex = [];
16171
-
16172
- for (var i = 0; i < 256; ++i) {
16173
- byteToHex.push((i + 0x100).toString(16).substr(1));
16174
- }
16175
-
16176
- function stringify(arr) {
16177
- var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
16178
- // Note: Be careful editing this code! It's been tuned for performance
16179
- // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434
16180
- var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one
16181
- // of the following:
16182
- // - One or more input array values don't map to a hex octet (leading to
16183
- // "undefined" in the uuid)
16184
- // - Invalid input values for the RFC `version` or `variant` fields
16185
-
16186
- if (!validate(uuid)) {
16187
- throw TypeError('Stringified UUID is invalid');
16188
- }
16189
-
16190
- return uuid;
16191
- }
16192
-
16193
- function v4(options, buf, offset) {
16194
- options = options || {};
16195
- var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
16196
-
16197
- rnds[6] = rnds[6] & 0x0f | 0x40;
16198
- rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided
16199
-
16200
- if (buf) {
16201
- offset = offset || 0;
16202
-
16203
- for (var i = 0; i < 16; ++i) {
16204
- buf[offset + i] = rnds[i];
16205
- }
16206
-
16207
- return buf;
16208
- }
16209
-
16210
- return stringify(rnds);
16211
- }
16212
-
16213
- const XplCheckbox = class {
16214
- constructor(hostRef) {
16215
- registerInstance(this, hostRef);
16216
- this.id = v4();
16217
- }
16218
- render() {
16219
- return (h(Host, { class: "xpl-checkbox-container" }, h("input", { class: "xpl-checkbox", type: "checkbox", checked: this.checked, disabled: this.disabled, id: this.id, indeterminate: this.indeterminate, name: this.name, required: this.required, value: this.value }), h("label", { htmlFor: this.id }, h("slot", null), this.description && h("small", null, this.description))));
16220
- }
16221
- };
16222
-
16223
- const XplContentArea = class {
16224
- constructor(hostRef) {
16225
- registerInstance(this, hostRef);
16226
- /**
16227
- * @property {string} size - The content-area size.
16228
- */
16229
- this.size = "wide";
16230
- }
16231
- render() {
16232
- return (h(Host, null, h("main", { class: `xpl-content-area-wrapper xpl-content-area-wrapper__${this.size}` }, h("div", { class: "xpl-content-area" }, h("slot", null)))));
16233
- }
16234
- };
16235
-
16236
- const XplMainNav = class {
16237
- constructor(hostRef) {
16238
- registerInstance(this, hostRef);
16239
- /**
16240
- * @property {string} width - The width of the Main Nav.
16241
- */
16242
- this.width = "default";
16243
- }
16244
- render() {
16245
- return (h(Host, { class: `xpl-main-nav xpl-main-nav__${this.width}`, "aria-label": "Sidebar" }, h("nav", null, h("header", { "aria-label": "Sidebar Header" }, h("slot", { name: "logo" }), h("slot", { name: "brand-name" })), h("slot", { name: "navigation" })), h("footer", { class: "xpl-main-nav-footer", "aria-label": "Sidebar Footer" }, h("slot", { name: "footer" }))));
16246
- }
16247
- };
16248
-
16249
- const XplNavItem = class {
16250
- constructor(hostRef) {
16251
- registerInstance(this, hostRef);
16252
- }
16253
- render() {
16254
- return (h(Host, { class: "xpl-nav-item", role: "listitem" }, h("slot", { name: "link" }, h("slot", { name: "icon" }), h("slot", null))));
16255
- }
16256
- };
16257
-
16258
- const XplRadio = class {
16259
- constructor(hostRef) {
16260
- registerInstance(this, hostRef);
16261
- this.id = v4();
16262
- }
16263
- render() {
16264
- return (h(Host, { class: "xpl-radio-container" }, h("input", { class: "xpl-radio", type: "radio", checked: this.checked, disabled: this.disabled, id: this.id, name: this.name, required: this.required, value: this.value }), h("label", { htmlFor: this.id }, h("slot", null), this.description && h("small", null, this.description))));
16265
- }
16266
- };
16267
-
16268
- const XplSecondaryNav = class {
16269
- constructor(hostRef) {
16270
- registerInstance(this, hostRef);
16271
- }
16272
- render() {
16273
- return (h(Host, { class: "xpl-secondary-nav" }, h("nav", { "aria-label": "Secondary Nav" }, h("slot", null))));
16274
- }
16275
- };
16276
-
16277
- const XplTable = class {
16278
- constructor(hostRef) {
16279
- registerInstance(this, hostRef);
16280
- this.tableSelect = createEvent(this, "tableSelect", 7);
16281
- this.areAllSelected = false;
16282
- this.hasScrolled = false;
16283
- this.selectAll = (e) => {
16284
- const { target } = e;
16285
- if (!(target instanceof HTMLInputElement))
16286
- return;
16287
- const { checked } = target;
16288
- this.areAllSelected = checked;
16289
- this.selected = this.selected.map(() => checked);
16290
- this.onChange();
16291
- };
16292
- this.selectOne = (e, i) => {
16293
- const { target } = e;
16294
- if (!(target instanceof HTMLInputElement))
16295
- return;
16296
- const { checked } = target;
16297
- this.areAllSelected = false;
16298
- this.selected = this.selected.map((v, _i) => (_i === i ? checked : v));
16299
- this.onChange();
16300
- };
16301
- this.onChange = () => {
16302
- this.tableSelect.emit({
16303
- selected: this.selected,
16304
- areAllSelected: this.areAllSelected,
16305
- });
16306
- };
16307
- this.onScroll = () => {
16308
- this.hasScrolled = this.container.scrollLeft > 0;
16309
- };
16310
- /**
16311
- * TODO: Need to figure out how this interplays with data
16312
- * received from an API/server
16313
- */
16314
- this.sortBy = (col, ascending = true) => {
16315
- this.rowData.sort((a, b) => {
16316
- const A = a[col];
16317
- const B = b[col];
16318
- if (typeof A === "number" && typeof B === "number") {
16319
- const f = ascending ? 1 : -1;
16320
- return A > B ? f : -f;
16321
- }
16322
- return -1;
16323
- });
16324
- this.rowData = Array.from(this.rowData);
16325
- this.render();
16326
- };
16327
- }
16328
- componentWillLoad() {
16329
- this.areAllSelected = false;
16330
- this.rowData = this.data ? Array.from(this.data) : [];
16331
- this.selected = new Array(this.rowData.length).fill(false);
16332
- }
16333
- render() {
16334
- let className = "xpl-table";
16335
- if (this.striped)
16336
- className += " xpl-table--striped";
16337
- if (this.freeze)
16338
- className += " xpl-table--freeze";
16339
- if (this.hasScrolled)
16340
- className += " xpl-table--has-scrolled";
16341
- return (h(Host, null, h("div", { class: "xpl-table-container", onScroll: this.onScroll, ref: (el) => (this.container = el) }, h("table", { class: className }, this.columns && (h("thead", null, this.columns.map((column, i) => {
16342
- return (h("th", null, this.multiselect && i === 0 ? (h("label", { htmlFor: "__xpl-table-th" }, h("input", { checked: this.areAllSelected, id: "__xpl-table-th",
16343
- // appear indeterminate when at least one but not all
16344
- // are selected
16345
- indeterminate: !this.areAllSelected &&
16346
- this.selected.some((a) => a), onChange: (e) => {
16347
- this.selectAll(e);
16348
- }, type: "checkbox" }), column)) : (column)));
16349
- }))), h("tbody", null, this.rowData.map((row, rowNum) => {
16350
- return (h("tr", { class: this.selected && this.selected[rowNum]
16351
- ? "xpl-table-row-selected"
16352
- : "" }, row.map((cell, i) => {
16353
- return (h("td", null, this.multiselect && i === 0 ? (h("label", { htmlFor: "__xpl-table-row-" + rowNum }, h("input", { id: "__xpl-table-row-" + rowNum, checked: this.selected[rowNum], type: "checkbox", onChange: (e) => this.selectOne(e, rowNum) }), h("div", { innerHTML: cell }))) : (h("div", { innerHTML: cell }))));
16354
- })));
16355
- }))))));
16356
- }
16357
- };
16358
-
16359
- const XplUtilityBar = class {
16360
- constructor(hostRef) {
16361
- registerInstance(this, hostRef);
16362
- }
16363
- render() {
16364
- return (h(Host, null, h("nav", { "aria-label": "utility navigation bar", class: "xpl-utility-bar" }, h("slot", { name: "main" }), h("slot", { name: "aside" }))));
16365
- }
16366
- };
16367
-
16368
- export { XplAvatar as xpl_avatar, XplBackdrop as xpl_backdrop, XplBadge as xpl_badge, XplBreadcrumbItem as xpl_breadcrumb_item, XplBreadcrumbs as xpl_breadcrumbs, XplButton as xpl_button, XplCheckbox as xpl_checkbox, XplContentArea as xpl_content_area, XplMainNav as xpl_main_nav, XplNavItem as xpl_nav_item, XplRadio as xpl_radio, XplSecondaryNav as xpl_secondary_nav, XplTable as xpl_table, XplUtilityBar as xpl_utility_bar };