@usecapsule/core-components 1.0.13 → 2.0.0-dev.dropdown

Sign up to get free protection for your applications and to get access to all the features.
Files changed (173) hide show
  1. package/css/capsule-core.css +86 -41
  2. package/css/capsule-core.css.map +1 -1
  3. package/dist/capsule/capsule.esm.js +1 -1
  4. package/dist/capsule/capsule.esm.js.map +1 -1
  5. package/dist/capsule/index.esm.js +1 -1
  6. package/dist/capsule/index.esm.js.map +1 -1
  7. package/dist/capsule/p-0462f723.js +2 -0
  8. package/dist/capsule/p-0462f723.js.map +1 -0
  9. package/dist/capsule/p-0cab90fa.entry.js +2 -0
  10. package/dist/capsule/{p-1dc07cd7.entry.js.map → p-0cab90fa.entry.js.map} +1 -1
  11. package/dist/capsule/{p-11048392.entry.js → p-193ac141.entry.js} +2 -2
  12. package/dist/capsule/p-6fb7c4d1.js +3 -0
  13. package/dist/capsule/p-6fb7c4d1.js.map +1 -0
  14. package/dist/capsule/{p-62e7869a.entry.js → p-a95ec4df.entry.js} +2 -2
  15. package/dist/capsule/p-bea93fae.entry.js +29 -0
  16. package/dist/capsule/p-bea93fae.entry.js.map +1 -0
  17. package/dist/capsule/p-c2bf050b.js +2 -0
  18. package/dist/capsule/p-c2bf050b.js.map +1 -0
  19. package/dist/capsule/p-cb8dc0a4.entry.js +2 -0
  20. package/dist/capsule/p-d7be092d.entry.js +10 -0
  21. package/dist/capsule/p-d7be092d.entry.js.map +1 -0
  22. package/dist/cjs/_commonjsHelpers-b3309d7b.js +12 -0
  23. package/dist/cjs/_commonjsHelpers-b3309d7b.js.map +1 -0
  24. package/dist/cjs/capsule.cjs.js +2 -2
  25. package/dist/cjs/constants-4bb85cc5.js +12 -0
  26. package/dist/cjs/constants-4bb85cc5.js.map +1 -0
  27. package/dist/cjs/{cpsl-alert_17.cjs.entry.js → cpsl-alert_18.cjs.entry.js} +3838 -537
  28. package/dist/cjs/cpsl-alert_18.cjs.entry.js.map +1 -0
  29. package/dist/cjs/cpsl-animation.cjs.entry.js +20129 -0
  30. package/dist/cjs/cpsl-animation.cjs.entry.js.map +1 -0
  31. package/dist/cjs/cpsl-col.cjs.entry.js +2 -2
  32. package/dist/cjs/cpsl-grid.cjs.entry.js +3 -3
  33. package/dist/cjs/cpsl-info-box.cjs.entry.js +3 -3
  34. package/dist/cjs/cpsl-info-box.cjs.entry.js.map +1 -1
  35. package/dist/cjs/cpsl-row.cjs.entry.js +2 -2
  36. package/dist/cjs/{index-2a026742.js → index-3fccb5b4.js} +24 -3
  37. package/dist/cjs/index-3fccb5b4.js.map +1 -0
  38. package/dist/cjs/index.cjs.js +358 -0
  39. package/dist/cjs/index.cjs.js.map +1 -1
  40. package/dist/cjs/loader.cjs.js +2 -2
  41. package/dist/collection/assets/icons/capsule-rings-dark.svg +34 -0
  42. package/dist/collection/assets/icons/capsule.svg +4 -4
  43. package/dist/collection/assets/icons/chevron-up.svg +3 -0
  44. package/dist/collection/assets/icons/hero-email.svg +8 -30
  45. package/dist/collection/assets/icons/hero-lock.svg +4 -34
  46. package/dist/collection/assets/icons/hero-passkey.svg +9 -17
  47. package/dist/collection/assets/icons/hero-phone.svg +4 -15
  48. package/dist/collection/assets/icons/hero-wallet.svg +5 -44
  49. package/dist/collection/assets/icons/index.js +5 -2
  50. package/dist/collection/assets/icons/index.js.map +1 -1
  51. package/dist/collection/assets/icons/more-login-options.svg +10 -10
  52. package/dist/collection/assets/icons/plus-circle.svg +5 -0
  53. package/dist/collection/assets/icons/wallet.svg +5 -0
  54. package/dist/collection/collection-manifest.json +2 -0
  55. package/dist/collection/components/cpsl-alert/cpsl-alert.js +1 -1
  56. package/dist/collection/components/cpsl-animation/cpsl-animation.css +17 -0
  57. package/dist/collection/components/cpsl-animation/cpsl-animation.js +102 -0
  58. package/dist/collection/components/cpsl-animation/cpsl-animation.js.map +1 -0
  59. package/dist/collection/components/cpsl-animation/test/cpsl-animation.e2e.js +29 -0
  60. package/dist/collection/components/cpsl-animation/test/cpsl-animation.e2e.js.map +1 -0
  61. package/dist/collection/components/cpsl-animation/test/cpsl-animation.spec.js +37 -0
  62. package/dist/collection/components/cpsl-animation/test/cpsl-animation.spec.js.map +1 -0
  63. package/dist/collection/components/cpsl-button/cpsl-button.css +3 -0
  64. package/dist/collection/components/cpsl-button/cpsl-button.js +2 -2
  65. package/dist/collection/components/cpsl-button/cpsl-button.js.map +1 -1
  66. package/dist/collection/components/cpsl-code-input/cpsl-code-input.js +1 -1
  67. package/dist/collection/components/cpsl-col/cpsl-col.js +1 -1
  68. package/dist/collection/components/cpsl-divider/cpsl-divider.js +1 -1
  69. package/dist/collection/components/cpsl-dropdown/cpsl-dropdown.css +88 -0
  70. package/dist/collection/components/cpsl-dropdown/cpsl-dropdown.js +113 -0
  71. package/dist/collection/components/cpsl-dropdown/cpsl-dropdown.js.map +1 -0
  72. package/dist/collection/components/cpsl-dropdown/test/cpsl-dropdown.e2e.js +29 -0
  73. package/dist/collection/components/cpsl-dropdown/test/cpsl-dropdown.e2e.js.map +1 -0
  74. package/dist/collection/components/cpsl-dropdown/test/cpsl-dropdown.spec.js +37 -0
  75. package/dist/collection/components/cpsl-dropdown/test/cpsl-dropdown.spec.js.map +1 -0
  76. package/dist/collection/components/cpsl-grid/cpsl-grid.js +2 -2
  77. package/dist/collection/components/cpsl-icon/cpsl-icon.css +14 -0
  78. package/dist/collection/components/cpsl-icon/cpsl-icon.js +2 -3
  79. package/dist/collection/components/cpsl-icon/cpsl-icon.js.map +1 -1
  80. package/dist/collection/components/cpsl-info-box/cpsl-info-box.css +1 -1
  81. package/dist/collection/components/cpsl-info-box/cpsl-info-box.js +1 -1
  82. package/dist/collection/components/cpsl-input/cpsl-input.css +12 -7
  83. package/dist/collection/components/cpsl-input/cpsl-input.js +8 -6
  84. package/dist/collection/components/cpsl-input/cpsl-input.js.map +1 -1
  85. package/dist/collection/components/cpsl-modal/cpsl-modal.css +46 -4
  86. package/dist/collection/components/cpsl-modal/cpsl-modal.js +341 -24
  87. package/dist/collection/components/cpsl-modal/cpsl-modal.js.map +1 -1
  88. package/dist/collection/components/cpsl-overlay/cpsl-overlay.js +30 -13
  89. package/dist/collection/components/cpsl-overlay/cpsl-overlay.js.map +1 -1
  90. package/dist/collection/components/cpsl-pill/cpsl-pill.css +3 -3
  91. package/dist/collection/components/cpsl-pill/cpsl-pill.js +1 -1
  92. package/dist/collection/components/cpsl-progress-indicator/cpsl-progress-indicator.css +3 -3
  93. package/dist/collection/components/cpsl-qr-code/cpsl-qr-code.css +3 -3
  94. package/dist/collection/components/cpsl-qr-code/cpsl-qr-code.js +1 -1
  95. package/dist/collection/components/cpsl-row/cpsl-row.js +1 -1
  96. package/dist/collection/components/cpsl-slide-button/cpsl-slide-button.css +11 -9
  97. package/dist/collection/components/cpsl-slide-button/cpsl-slide-button.js +3 -3
  98. package/dist/collection/components/cpsl-spinner/cpsl-spinner.css +2 -2
  99. package/dist/collection/components/cpsl-spinner/cpsl-spinner.js +2 -2
  100. package/dist/collection/components/cpsl-tab/cpsl-tab.js +1 -1
  101. package/dist/collection/components/cpsl-tabs/cpsl-tabs.css +17 -16
  102. package/dist/collection/components/cpsl-tabs/cpsl-tabs.js +2 -2
  103. package/dist/collection/components/cpsl-tabs/cpsl-tabs.js.map +1 -1
  104. package/dist/collection/components/cpsl-text/cpsl-text.css +101 -0
  105. package/dist/collection/components/cpsl-text/cpsl-text.js +110 -1
  106. package/dist/collection/components/cpsl-text/cpsl-text.js.map +1 -1
  107. package/dist/collection/components/cpsl-tile-button/cpsl-tile-button.css +3 -0
  108. package/dist/collection/components/cpsl-tile-button/cpsl-tile-button.js +2 -2
  109. package/dist/collection/constants.js +6 -0
  110. package/dist/collection/constants.js.map +1 -0
  111. package/dist/collection/index.js +1 -0
  112. package/dist/collection/index.js.map +1 -1
  113. package/dist/collection/interface.js.map +1 -1
  114. package/dist/collection/utils/theme/generateBorderRadii.js +56 -0
  115. package/dist/collection/utils/theme/generateBorderRadii.js.map +1 -0
  116. package/dist/collection/utils/theme/generateFont.js +28 -0
  117. package/dist/collection/utils/theme/generateFont.js.map +1 -0
  118. package/dist/collection/utils/theme/generatePalette.js +46 -0
  119. package/dist/collection/utils/theme/generatePalette.js.map +1 -0
  120. package/dist/collection/utils/theme/generateTheme.js +11 -0
  121. package/dist/collection/utils/theme/generateTheme.js.map +1 -0
  122. package/dist/collection/utils/theme/utils.js +21 -0
  123. package/dist/collection/utils/theme/utils.js.map +1 -0
  124. package/dist/esm/_commonjsHelpers-1789f0cf.js +9 -0
  125. package/dist/esm/_commonjsHelpers-1789f0cf.js.map +1 -0
  126. package/dist/esm/capsule.js +3 -3
  127. package/dist/esm/constants-7b49abd5.js +9 -0
  128. package/dist/esm/constants-7b49abd5.js.map +1 -0
  129. package/dist/esm/{cpsl-alert_17.entry.js → cpsl-alert_18.entry.js} +3837 -537
  130. package/dist/esm/cpsl-alert_18.entry.js.map +1 -0
  131. package/dist/esm/cpsl-animation.entry.js +20125 -0
  132. package/dist/esm/cpsl-animation.entry.js.map +1 -0
  133. package/dist/esm/cpsl-col.entry.js +2 -2
  134. package/dist/esm/cpsl-grid.entry.js +3 -3
  135. package/dist/esm/cpsl-info-box.entry.js +3 -3
  136. package/dist/esm/cpsl-info-box.entry.js.map +1 -1
  137. package/dist/esm/cpsl-row.entry.js +2 -2
  138. package/dist/esm/{index-7c2f5cb9.js → index-f00e090c.js} +24 -3
  139. package/dist/esm/index-f00e090c.js.map +1 -0
  140. package/dist/esm/index.js +355 -0
  141. package/dist/esm/index.js.map +1 -1
  142. package/dist/esm/loader.js +3 -3
  143. package/dist/types/assets/icons/index.d.ts +4 -1
  144. package/dist/types/components/cpsl-animation/cpsl-animation.d.ts +9 -0
  145. package/dist/types/components/cpsl-dropdown/cpsl-dropdown.d.ts +25 -0
  146. package/dist/types/components/cpsl-modal/cpsl-modal.d.ts +26 -5
  147. package/dist/types/components/cpsl-overlay/cpsl-overlay.d.ts +2 -2
  148. package/dist/types/components/cpsl-text/cpsl-text.d.ts +4 -0
  149. package/dist/types/components.d.ts +170 -13
  150. package/dist/types/constants.d.ts +3 -0
  151. package/dist/types/index.d.ts +2 -0
  152. package/dist/types/interface.d.ts +137 -0
  153. package/dist/types/utils/theme/generateBorderRadii.d.ts +2 -0
  154. package/dist/types/utils/theme/generateFont.d.ts +2 -0
  155. package/dist/types/utils/theme/generatePalette.d.ts +7 -0
  156. package/dist/types/utils/theme/generateTheme.d.ts +2 -0
  157. package/dist/types/utils/theme/utils.d.ts +5 -0
  158. package/package.json +5 -3
  159. package/dist/capsule/p-0e2fbb7f.entry.js +0 -20
  160. package/dist/capsule/p-0e2fbb7f.entry.js.map +0 -1
  161. package/dist/capsule/p-1dc07cd7.entry.js +0 -2
  162. package/dist/capsule/p-5c020abe.entry.js +0 -2
  163. package/dist/capsule/p-9647dd63.js +0 -3
  164. package/dist/capsule/p-9647dd63.js.map +0 -1
  165. package/dist/cjs/cpsl-alert_17.cjs.entry.js.map +0 -1
  166. package/dist/cjs/index-2a026742.js.map +0 -1
  167. package/dist/collection/assets/icons/more-login-options-dark.svg +0 -13
  168. package/dist/esm/cpsl-alert_17.entry.js.map +0 -1
  169. package/dist/esm/index-7c2f5cb9.js.map +0 -1
  170. /package/dist/capsule/{p-11048392.entry.js.map → p-193ac141.entry.js.map} +0 -0
  171. /package/dist/capsule/{p-62e7869a.entry.js.map → p-a95ec4df.entry.js.map} +0 -0
  172. /package/dist/capsule/{p-5c020abe.entry.js.map → p-cb8dc0a4.entry.js.map} +0 -0
  173. /package/dist/types/Users/{taylorbosch → vinay}/Documents/GitHub/Capsule/component-library/core/.stencil/scripts/buildIconLibrary.d.ts +0 -0
package/dist/esm/index.js CHANGED
@@ -1,3 +1,358 @@
1
+ import { D as DEFAULT_THEME } from './constants-7b49abd5.js';
1
2
 
3
+ const generateBorderRadii = ({ borderRadius }) => {
4
+ if (!Boolean(borderRadius)) {
5
+ return;
6
+ }
7
+ let smallRadius = 8;
8
+ let mediumRadius = 16;
9
+ let largeRadius = 24;
10
+ const fullRadius = 1000;
11
+ let isFull = false;
12
+ let isNone = false;
13
+ switch (borderRadius) {
14
+ case 'none': {
15
+ isNone = true;
16
+ smallRadius = 0;
17
+ mediumRadius = 0;
18
+ largeRadius = 0;
19
+ break;
20
+ }
21
+ case 'xs': {
22
+ smallRadius = 4;
23
+ mediumRadius = 12;
24
+ largeRadius = 20;
25
+ break;
26
+ }
27
+ case 'md': {
28
+ smallRadius = 12;
29
+ mediumRadius = 20;
30
+ largeRadius = 28;
31
+ break;
32
+ }
33
+ case 'lg': {
34
+ smallRadius = 16;
35
+ mediumRadius = 24;
36
+ largeRadius = 32;
37
+ break;
38
+ }
39
+ case 'full': {
40
+ smallRadius = 16;
41
+ mediumRadius = 24;
42
+ largeRadius = 32;
43
+ isFull = true;
44
+ break;
45
+ }
46
+ }
47
+ document.documentElement.style.setProperty('--cpsl-border-radius-input', `${isFull ? fullRadius : smallRadius}px`);
48
+ document.documentElement.style.setProperty('--cpsl-border-radius-alert', `${smallRadius}px`);
49
+ document.documentElement.style.setProperty('--cpsl-border-radius-tabs', `${isFull ? fullRadius : smallRadius}px`);
50
+ document.documentElement.style.setProperty('--cpsl-border-radius-primary-button', `${isFull ? fullRadius : smallRadius}px`);
51
+ document.documentElement.style.setProperty('--cpsl-border-radius-secondary-button', `${isFull ? fullRadius : smallRadius}px`);
52
+ document.documentElement.style.setProperty('--cpsl-border-radius-tile-button', `${smallRadius}px`);
53
+ document.documentElement.style.setProperty('--cpsl-border-radius-modal', `${mediumRadius}px`);
54
+ document.documentElement.style.setProperty('--cpsl-border-radius-pill', `${isNone ? 0 : fullRadius}px`);
55
+ document.documentElement.style.setProperty('--cpsl-border-radius-qr-code', `${largeRadius}px`);
56
+ document.documentElement.style.setProperty('--cpsl-border-radius-info-box', `${smallRadius}px`);
57
+ };
58
+
59
+ const FONT_NAME_MAP = {
60
+ body2XS: 'body-2xs',
61
+ bodyXS: 'body-xs',
62
+ bodyS: 'body-s',
63
+ bodyM: 'body-m',
64
+ bodyL: 'body-l',
65
+ bodyXL: 'body-xl',
66
+ headingXS: 'heading-xs',
67
+ headingS: 'heading-s',
68
+ headingM: 'heading-m',
69
+ headingL: 'heading-l',
70
+ headingXL: 'heading-xl',
71
+ heading2XL: 'heading-2xl',
72
+ };
73
+ const generateFont = ({ font, customFontSizes }) => {
74
+ if (Boolean(font)) {
75
+ document.documentElement.style.setProperty('--cpsl-default-font', font);
76
+ }
77
+ Object.entries(FONT_NAME_MAP).forEach(([key, value]) => {
78
+ if (customFontSizes === null || customFontSizes === void 0 ? void 0 : customFontSizes[key]) {
79
+ document.documentElement.style.setProperty(`--cpsl-font-size-${value}`, customFontSizes[key]);
80
+ }
81
+ else {
82
+ document.documentElement.style.removeProperty(`--cpsl-font-size-${value}`);
83
+ }
84
+ });
85
+ };
86
+
87
+ /**
88
+ * A simple guard function:
89
+ *
90
+ * ```js
91
+ * Math.min(Math.max(low, value), high)
92
+ * ```
93
+ */
94
+ function guard(low, high, value) {
95
+ return Math.min(Math.max(low, value), high);
96
+ }
97
+
98
+ class ColorError extends Error {
99
+ constructor(color) {
100
+ super(`Failed to parse color: "${color}"`);
101
+ }
102
+ }
103
+ var ColorError$1 = ColorError;
104
+
105
+ /**
106
+ * Parses a color into red, gree, blue, alpha parts
107
+ *
108
+ * @param color the input color. Can be a RGB, RBGA, HSL, HSLA, or named color
109
+ */
110
+ function parseToRgba(color) {
111
+ if (typeof color !== 'string') throw new ColorError$1(color);
112
+ if (color.trim().toLowerCase() === 'transparent') return [0, 0, 0, 0];
113
+ let normalizedColor = color.trim();
114
+ normalizedColor = namedColorRegex.test(color) ? nameToHex(color) : color;
115
+ const reducedHexMatch = reducedHexRegex.exec(normalizedColor);
116
+ if (reducedHexMatch) {
117
+ const arr = Array.from(reducedHexMatch).slice(1);
118
+ return [...arr.slice(0, 3).map(x => parseInt(r(x, 2), 16)), parseInt(r(arr[3] || 'f', 2), 16) / 255];
119
+ }
120
+ const hexMatch = hexRegex.exec(normalizedColor);
121
+ if (hexMatch) {
122
+ const arr = Array.from(hexMatch).slice(1);
123
+ return [...arr.slice(0, 3).map(x => parseInt(x, 16)), parseInt(arr[3] || 'ff', 16) / 255];
124
+ }
125
+ const rgbaMatch = rgbaRegex.exec(normalizedColor);
126
+ if (rgbaMatch) {
127
+ const arr = Array.from(rgbaMatch).slice(1);
128
+ return [...arr.slice(0, 3).map(x => parseInt(x, 10)), parseFloat(arr[3] || '1')];
129
+ }
130
+ const hslaMatch = hslaRegex.exec(normalizedColor);
131
+ if (hslaMatch) {
132
+ const [h, s, l, a] = Array.from(hslaMatch).slice(1).map(parseFloat);
133
+ if (guard(0, 100, s) !== s) throw new ColorError$1(color);
134
+ if (guard(0, 100, l) !== l) throw new ColorError$1(color);
135
+ return [...hslToRgb(h, s, l), Number.isNaN(a) ? 1 : a];
136
+ }
137
+ throw new ColorError$1(color);
138
+ }
139
+ function hash(str) {
140
+ let hash = 5381;
141
+ let i = str.length;
142
+ while (i) {
143
+ hash = hash * 33 ^ str.charCodeAt(--i);
144
+ }
145
+
146
+ /* JavaScript does bitwise operations (like XOR, above) on 32-bit signed
147
+ * integers. Since we want the results to be always positive, convert the
148
+ * signed int to an unsigned by doing an unsigned bitshift. */
149
+ return (hash >>> 0) % 2341;
150
+ }
151
+ const colorToInt = x => parseInt(x.replace(/_/g, ''), 36);
152
+ const compressedColorMap = '1q29ehhb 1n09sgk7 1kl1ekf_ _yl4zsno 16z9eiv3 1p29lhp8 _bd9zg04 17u0____ _iw9zhe5 _to73___ _r45e31e _7l6g016 _jh8ouiv _zn3qba8 1jy4zshs 11u87k0u 1ro9yvyo 1aj3xael 1gz9zjz0 _3w8l4xo 1bf1ekf_ _ke3v___ _4rrkb__ 13j776yz _646mbhl _nrjr4__ _le6mbhl 1n37ehkb _m75f91n _qj3bzfz 1939yygw 11i5z6x8 _1k5f8xs 1509441m 15t5lwgf _ae2th1n _tg1ugcv 1lp1ugcv 16e14up_ _h55rw7n _ny9yavn _7a11xb_ 1ih442g9 _pv442g9 1mv16xof 14e6y7tu 1oo9zkds 17d1cisi _4v9y70f _y98m8kc 1019pq0v 12o9zda8 _348j4f4 1et50i2o _8epa8__ _ts6senj 1o350i2o 1mi9eiuo 1259yrp0 1ln80gnw _632xcoy 1cn9zldc _f29edu4 1n490c8q _9f9ziet 1b94vk74 _m49zkct 1kz6s73a 1eu9dtog _q58s1rz 1dy9sjiq __u89jo3 _aj5nkwg _ld89jo3 13h9z6wx _qa9z2ii _l119xgq _bs5arju 1hj4nwk9 1qt4nwk9 1ge6wau6 14j9zlcw 11p1edc_ _ms1zcxe _439shk6 _jt9y70f _754zsow 1la40eju _oq5p___ _x279qkz 1fa5r3rv _yd2d9ip _424tcku _8y1di2_ _zi2uabw _yy7rn9h 12yz980_ __39ljp6 1b59zg0x _n39zfzp 1fy9zest _b33k___ _hp9wq92 1il50hz4 _io472ub _lj9z3eo 19z9ykg0 _8t8iu3a 12b9bl4a 1ak5yw0o _896v4ku _tb8k8lv _s59zi6t _c09ze0p 1lg80oqn 1id9z8wb _238nba5 1kq6wgdi _154zssg _tn3zk49 _da9y6tc 1sg7cv4f _r12jvtt 1gq5fmkz 1cs9rvci _lp9jn1c _xw1tdnb 13f9zje6 16f6973h _vo7ir40 _bt5arjf _rc45e4t _hr4e100 10v4e100 _hc9zke2 _w91egv_ _sj2r1kk 13c87yx8 _vqpds__ _ni8ggk8 _tj9yqfb 1ia2j4r4 _7x9b10u 1fc9ld4j 1eq9zldr _5j9lhpx _ez9zl6o _md61fzm'.split(' ').reduce((acc, next) => {
153
+ const key = colorToInt(next.substring(0, 3));
154
+ const hex = colorToInt(next.substring(3)).toString(16);
155
+
156
+ // NOTE: padStart could be used here but it breaks Node 6 compat
157
+ // https://github.com/ricokahler/color2k/issues/351
158
+ let prefix = '';
159
+ for (let i = 0; i < 6 - hex.length; i++) {
160
+ prefix += '0';
161
+ }
162
+ acc[key] = `${prefix}${hex}`;
163
+ return acc;
164
+ }, {});
165
+
166
+ /**
167
+ * Checks if a string is a CSS named color and returns its equivalent hex value, otherwise returns the original color.
168
+ */
169
+ function nameToHex(color) {
170
+ const normalizedColorName = color.toLowerCase().trim();
171
+ const result = compressedColorMap[hash(normalizedColorName)];
172
+ if (!result) throw new ColorError$1(color);
173
+ return `#${result}`;
174
+ }
175
+ const r = (str, amount) => Array.from(Array(amount)).map(() => str).join('');
176
+ const reducedHexRegex = new RegExp(`^#${r('([a-f0-9])', 3)}([a-f0-9])?$`, 'i');
177
+ const hexRegex = new RegExp(`^#${r('([a-f0-9]{2})', 3)}([a-f0-9]{2})?$`, 'i');
178
+ const rgbaRegex = new RegExp(`^rgba?\\(\\s*(\\d+)\\s*${r(',\\s*(\\d+)\\s*', 2)}(?:,\\s*([\\d.]+))?\\s*\\)$`, 'i');
179
+ const hslaRegex = /^hsla?\(\s*([\d.]+)\s*,\s*([\d.]+)%\s*,\s*([\d.]+)%(?:\s*,\s*([\d.]+))?\s*\)$/i;
180
+ const namedColorRegex = /^[a-z]+$/i;
181
+ const roundColor = color => {
182
+ return Math.round(color * 255);
183
+ };
184
+ const hslToRgb = (hue, saturation, lightness) => {
185
+ let l = lightness / 100;
186
+ if (saturation === 0) {
187
+ // achromatic
188
+ return [l, l, l].map(roundColor);
189
+ }
190
+
191
+ // formulae from https://en.wikipedia.org/wiki/HSL_and_HSV
192
+ const huePrime = (hue % 360 + 360) % 360 / 60;
193
+ const chroma = (1 - Math.abs(2 * l - 1)) * (saturation / 100);
194
+ const secondComponent = chroma * (1 - Math.abs(huePrime % 2 - 1));
195
+ let red = 0;
196
+ let green = 0;
197
+ let blue = 0;
198
+ if (huePrime >= 0 && huePrime < 1) {
199
+ red = chroma;
200
+ green = secondComponent;
201
+ } else if (huePrime >= 1 && huePrime < 2) {
202
+ red = secondComponent;
203
+ green = chroma;
204
+ } else if (huePrime >= 2 && huePrime < 3) {
205
+ green = chroma;
206
+ blue = secondComponent;
207
+ } else if (huePrime >= 3 && huePrime < 4) {
208
+ green = secondComponent;
209
+ blue = chroma;
210
+ } else if (huePrime >= 4 && huePrime < 5) {
211
+ red = secondComponent;
212
+ blue = chroma;
213
+ } else if (huePrime >= 5 && huePrime < 6) {
214
+ red = chroma;
215
+ blue = secondComponent;
216
+ }
217
+ const lightnessModification = l - chroma / 2;
218
+ const finalRed = red + lightnessModification;
219
+ const finalGreen = green + lightnessModification;
220
+ const finalBlue = blue + lightnessModification;
221
+ return [finalRed, finalGreen, finalBlue].map(roundColor);
222
+ };
223
+
224
+ // taken from:
225
+ // https://github.com/styled-components/polished/blob/0764c982551b487469043acb56281b0358b3107b/src/color/getLuminance.js
226
+
227
+ /**
228
+ * Returns a number (float) representing the luminance of a color.
229
+ */
230
+ function getLuminance(color) {
231
+ if (color === 'transparent') return 0;
232
+ function f(x) {
233
+ const channel = x / 255;
234
+ return channel <= 0.04045 ? channel / 12.92 : Math.pow((channel + 0.055) / 1.055, 2.4);
235
+ }
236
+ const [r, g, b] = parseToRgba(color);
237
+ return 0.2126 * f(r) + 0.7152 * f(g) + 0.0722 * f(b);
238
+ }
239
+
240
+ /**
241
+ * Takes in rgba parts and returns an rgba string
242
+ *
243
+ * @param red The amount of red in the red channel, given in a number between 0 and 255 inclusive
244
+ * @param green The amount of green in the red channel, given in a number between 0 and 255 inclusive
245
+ * @param blue The amount of blue in the red channel, given in a number between 0 and 255 inclusive
246
+ * @param alpha Percentage of opacity, given as a decimal between 0 and 1
247
+ */
248
+ function rgba(red, green, blue, alpha) {
249
+ return `rgba(${guard(0, 255, red).toFixed()}, ${guard(0, 255, green).toFixed()}, ${guard(0, 255, blue).toFixed()}, ${parseFloat(guard(0, 1, alpha).toFixed(3))})`;
250
+ }
251
+
252
+ /**
253
+ * Mixes two colors together. Taken from sass's implementation.
254
+ */
255
+ function mix(color1, color2, weight) {
256
+ const normalize = (n, index) =>
257
+ // 3rd index is alpha channel which is already normalized
258
+ index === 3 ? n : n / 255;
259
+ const [r1, g1, b1, a1] = parseToRgba(color1).map(normalize);
260
+ const [r2, g2, b2, a2] = parseToRgba(color2).map(normalize);
261
+
262
+ // The formula is copied from the original Sass implementation:
263
+ // http://sass-lang.com/documentation/Sass/Script/Functions.html#mix-instance_method
264
+ const alphaDelta = a2 - a1;
265
+ const normalizedWeight = weight * 2 - 1;
266
+ const combinedWeight = normalizedWeight * alphaDelta === -1 ? normalizedWeight : normalizedWeight + alphaDelta / (1 + normalizedWeight * alphaDelta);
267
+ const weight2 = (combinedWeight + 1) / 2;
268
+ const weight1 = 1 - weight2;
269
+ const r = (r1 * weight1 + r2 * weight2) * 255;
270
+ const g = (g1 * weight1 + g2 * weight2) * 255;
271
+ const b = (b1 * weight1 + b2 * weight2) * 255;
272
+ const a = a2 * weight + a1 * (1 - weight);
273
+ return rgba(r, g, b, a);
274
+ }
275
+
276
+ /**
277
+ * An alternative function to `readableColor`. Returns whether or not the
278
+ * readable color (i.e. the color to be place on top the input color) should be
279
+ * black.
280
+ */
281
+ function readableColorIsBlack(color) {
282
+ return getLuminance(color) > 0.179;
283
+ }
284
+
285
+ const isColor = strColor => {
286
+ const s = new Option().style;
287
+ s.color = strColor;
288
+ return s.color !== '';
289
+ };
290
+ const toKebabCase = (pascal) => pascal.replace(/([a-z0–9])([A-Z])/g, '$1-$2').toLowerCase();
291
+ const buildVars = (prev, obj) => {
292
+ let resp = {};
293
+ for (const k in obj) {
294
+ const name = `${prev}-${toKebabCase(k)}`;
295
+ if (typeof obj[k] === 'object' && obj[k] !== null) {
296
+ resp = Object.assign(Object.assign({}, resp), buildVars(name, obj[k]));
297
+ }
298
+ else {
299
+ resp[name] = obj[k];
300
+ }
301
+ }
302
+ return resp;
303
+ };
304
+ const getCssColors = (customPalette) => buildVars('--cpsl-color', customPalette);
305
+
306
+ const MIXES = [0, 0.08, 0.16, 0.32, 0.48, 0.64, 0.8, 0.96];
307
+ const generatePalette = ({ foregroundColor, backgroundColor, customPalette }) => {
308
+ if (!Boolean(foregroundColor) || !isColor(foregroundColor)) {
309
+ foregroundColor = DEFAULT_THEME.foregroundColor;
310
+ }
311
+ if (!Boolean(backgroundColor) || !isColor(backgroundColor)) {
312
+ backgroundColor = DEFAULT_THEME.backgroundColor;
313
+ }
314
+ const isDarkBackground = !readableColorIsBlack(backgroundColor);
315
+ const palette = {
316
+ foregroundColors: [],
317
+ backgroundColors: [],
318
+ isDarkBackground,
319
+ };
320
+ const backgroundMixColor = isDarkBackground ? '#FFFFFF' : '#000000';
321
+ const foregroundMixColor = isDarkBackground ? '#000000' : '#FFFFFF';
322
+ MIXES.forEach(value => {
323
+ palette.foregroundColors.push(mix(foregroundColor, foregroundMixColor, value));
324
+ palette.backgroundColors.push(mix(backgroundColor, backgroundMixColor, value));
325
+ });
326
+ document.documentElement.style.setProperty('--cpsl-color-background-0', palette.backgroundColors[0]);
327
+ document.documentElement.style.setProperty('--cpsl-color-background-8', palette.backgroundColors[1]);
328
+ document.documentElement.style.setProperty('--cpsl-color-background-16', palette.backgroundColors[2]);
329
+ document.documentElement.style.setProperty('--cpsl-color-background-32', palette.backgroundColors[3]);
330
+ document.documentElement.style.setProperty('--cpsl-color-background-48', palette.backgroundColors[4]);
331
+ document.documentElement.style.setProperty('--cpsl-color-background-64', palette.backgroundColors[5]);
332
+ document.documentElement.style.setProperty('--cpsl-color-background-80', palette.backgroundColors[6]);
333
+ document.documentElement.style.setProperty('--cpsl-color-background-96', palette.backgroundColors[7]);
334
+ document.documentElement.style.setProperty('--cpsl-color-foreground-0', palette.foregroundColors[0]);
335
+ document.documentElement.style.setProperty('--cpsl-color-foreground-8', palette.foregroundColors[1]);
336
+ document.documentElement.style.setProperty('--cpsl-color-foreground-16', palette.foregroundColors[2]);
337
+ document.documentElement.style.setProperty('--cpsl-color-foreground-32', palette.foregroundColors[3]);
338
+ document.documentElement.style.setProperty('--cpsl-color-foreground-48', palette.foregroundColors[4]);
339
+ document.documentElement.style.setProperty('--cpsl-color-foreground-64', palette.foregroundColors[5]);
340
+ document.documentElement.style.setProperty('--cpsl-color-foreground-80', palette.foregroundColors[6]);
341
+ document.documentElement.style.setProperty('--cpsl-color-foreground-96', palette.foregroundColors[7]);
342
+ if (Boolean(customPalette)) {
343
+ const cssColorVars = getCssColors(customPalette);
344
+ Object.entries(cssColorVars).forEach(([k, v]) => document.documentElement.style.setProperty(k, v));
345
+ }
346
+ return palette;
347
+ };
348
+
349
+ const generateTheme = ({ foregroundColor = DEFAULT_THEME.foregroundColor, backgroundColor = DEFAULT_THEME.backgroundColor, font, customPalette, borderRadius, customFontSizes, }) => {
350
+ const palette = generatePalette({ foregroundColor, backgroundColor, customPalette });
351
+ generateFont({ font, customFontSizes });
352
+ generateBorderRadii({ borderRadius });
353
+ return palette.isDarkBackground;
354
+ };
355
+
356
+ export { generateTheme };
2
357
 
3
358
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"file":"index.js","mappings":"","names":[],"sources":[],"sourcesContent":[],"version":3}
1
+ {"file":"index.js","mappings":"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","names":[],"sources":["src/utils/theme/generateBorderRadii.ts","src/utils/theme/generateFont.ts","../node_modules/color2k/dist/index.module.es.js","src/utils/theme/utils.ts","src/utils/theme/generatePalette.ts","src/utils/theme/generateTheme.ts"],"sourcesContent":["import { Theme } from '../../interface';\n\nexport const generateBorderRadii = ({ borderRadius }: Pick<Theme, 'borderRadius'>) => {\n if (!Boolean(borderRadius)) {\n return;\n }\n\n let smallRadius = 8;\n let mediumRadius = 16;\n let largeRadius = 24;\n const fullRadius = 1000;\n let isFull = false;\n let isNone = false;\n\n switch (borderRadius) {\n case 'none': {\n isNone = true;\n smallRadius = 0;\n mediumRadius = 0;\n largeRadius = 0;\n break;\n }\n case 'xs': {\n smallRadius = 4;\n mediumRadius = 12;\n largeRadius = 20;\n break;\n }\n case 'md': {\n smallRadius = 12;\n mediumRadius = 20;\n largeRadius = 28;\n break;\n }\n case 'lg': {\n smallRadius = 16;\n mediumRadius = 24;\n largeRadius = 32;\n break;\n }\n case 'full': {\n smallRadius = 16;\n mediumRadius = 24;\n largeRadius = 32;\n isFull = true;\n break;\n }\n }\n\n document.documentElement.style.setProperty('--cpsl-border-radius-input', `${isFull ? fullRadius : smallRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-alert', `${smallRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-tabs', `${isFull ? fullRadius : smallRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-primary-button', `${isFull ? fullRadius : smallRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-secondary-button', `${isFull ? fullRadius : smallRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-tile-button', `${smallRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-modal', `${mediumRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-pill', `${isNone ? 0 : fullRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-qr-code', `${largeRadius}px`);\n document.documentElement.style.setProperty('--cpsl-border-radius-info-box', `${smallRadius}px`);\n};\n","import { Theme } from '../../interface';\n\nconst FONT_NAME_MAP = {\n body2XS: 'body-2xs',\n bodyXS: 'body-xs',\n bodyS: 'body-s',\n bodyM: 'body-m',\n bodyL: 'body-l',\n bodyXL: 'body-xl',\n headingXS: 'heading-xs',\n headingS: 'heading-s',\n headingM: 'heading-m',\n headingL: 'heading-l',\n headingXL: 'heading-xl',\n heading2XL: 'heading-2xl',\n};\n\nexport const generateFont = ({ font, customFontSizes }: Pick<Theme, 'font' | 'customFontSizes'>) => {\n if (Boolean(font)) {\n document.documentElement.style.setProperty('--cpsl-default-font', font);\n }\n\n Object.entries(FONT_NAME_MAP).forEach(([key, value]) => {\n if (customFontSizes?.[key]) {\n document.documentElement.style.setProperty(`--cpsl-font-size-${value}`, customFontSizes[key]);\n } else {\n document.documentElement.style.removeProperty(`--cpsl-font-size-${value}`);\n }\n });\n};\n","/**\n * A simple guard function:\n *\n * ```js\n * Math.min(Math.max(low, value), high)\n * ```\n */\nfunction guard(low, high, value) {\n return Math.min(Math.max(low, value), high);\n}\n\nclass ColorError extends Error {\n constructor(color) {\n super(`Failed to parse color: \"${color}\"`);\n }\n}\nvar ColorError$1 = ColorError;\n\n/**\n * Parses a color into red, gree, blue, alpha parts\n *\n * @param color the input color. Can be a RGB, RBGA, HSL, HSLA, or named color\n */\nfunction parseToRgba(color) {\n if (typeof color !== 'string') throw new ColorError$1(color);\n if (color.trim().toLowerCase() === 'transparent') return [0, 0, 0, 0];\n let normalizedColor = color.trim();\n normalizedColor = namedColorRegex.test(color) ? nameToHex(color) : color;\n const reducedHexMatch = reducedHexRegex.exec(normalizedColor);\n if (reducedHexMatch) {\n const arr = Array.from(reducedHexMatch).slice(1);\n return [...arr.slice(0, 3).map(x => parseInt(r(x, 2), 16)), parseInt(r(arr[3] || 'f', 2), 16) / 255];\n }\n const hexMatch = hexRegex.exec(normalizedColor);\n if (hexMatch) {\n const arr = Array.from(hexMatch).slice(1);\n return [...arr.slice(0, 3).map(x => parseInt(x, 16)), parseInt(arr[3] || 'ff', 16) / 255];\n }\n const rgbaMatch = rgbaRegex.exec(normalizedColor);\n if (rgbaMatch) {\n const arr = Array.from(rgbaMatch).slice(1);\n return [...arr.slice(0, 3).map(x => parseInt(x, 10)), parseFloat(arr[3] || '1')];\n }\n const hslaMatch = hslaRegex.exec(normalizedColor);\n if (hslaMatch) {\n const [h, s, l, a] = Array.from(hslaMatch).slice(1).map(parseFloat);\n if (guard(0, 100, s) !== s) throw new ColorError$1(color);\n if (guard(0, 100, l) !== l) throw new ColorError$1(color);\n return [...hslToRgb(h, s, l), Number.isNaN(a) ? 1 : a];\n }\n throw new ColorError$1(color);\n}\nfunction hash(str) {\n let hash = 5381;\n let i = str.length;\n while (i) {\n hash = hash * 33 ^ str.charCodeAt(--i);\n }\n\n /* JavaScript does bitwise operations (like XOR, above) on 32-bit signed\n * integers. Since we want the results to be always positive, convert the\n * signed int to an unsigned by doing an unsigned bitshift. */\n return (hash >>> 0) % 2341;\n}\nconst colorToInt = x => parseInt(x.replace(/_/g, ''), 36);\nconst compressedColorMap = '1q29ehhb 1n09sgk7 1kl1ekf_ _yl4zsno 16z9eiv3 1p29lhp8 _bd9zg04 17u0____ _iw9zhe5 _to73___ _r45e31e _7l6g016 _jh8ouiv _zn3qba8 1jy4zshs 11u87k0u 1ro9yvyo 1aj3xael 1gz9zjz0 _3w8l4xo 1bf1ekf_ _ke3v___ _4rrkb__ 13j776yz _646mbhl _nrjr4__ _le6mbhl 1n37ehkb _m75f91n _qj3bzfz 1939yygw 11i5z6x8 _1k5f8xs 1509441m 15t5lwgf _ae2th1n _tg1ugcv 1lp1ugcv 16e14up_ _h55rw7n _ny9yavn _7a11xb_ 1ih442g9 _pv442g9 1mv16xof 14e6y7tu 1oo9zkds 17d1cisi _4v9y70f _y98m8kc 1019pq0v 12o9zda8 _348j4f4 1et50i2o _8epa8__ _ts6senj 1o350i2o 1mi9eiuo 1259yrp0 1ln80gnw _632xcoy 1cn9zldc _f29edu4 1n490c8q _9f9ziet 1b94vk74 _m49zkct 1kz6s73a 1eu9dtog _q58s1rz 1dy9sjiq __u89jo3 _aj5nkwg _ld89jo3 13h9z6wx _qa9z2ii _l119xgq _bs5arju 1hj4nwk9 1qt4nwk9 1ge6wau6 14j9zlcw 11p1edc_ _ms1zcxe _439shk6 _jt9y70f _754zsow 1la40eju _oq5p___ _x279qkz 1fa5r3rv _yd2d9ip _424tcku _8y1di2_ _zi2uabw _yy7rn9h 12yz980_ __39ljp6 1b59zg0x _n39zfzp 1fy9zest _b33k___ _hp9wq92 1il50hz4 _io472ub _lj9z3eo 19z9ykg0 _8t8iu3a 12b9bl4a 1ak5yw0o _896v4ku _tb8k8lv _s59zi6t _c09ze0p 1lg80oqn 1id9z8wb _238nba5 1kq6wgdi _154zssg _tn3zk49 _da9y6tc 1sg7cv4f _r12jvtt 1gq5fmkz 1cs9rvci _lp9jn1c _xw1tdnb 13f9zje6 16f6973h _vo7ir40 _bt5arjf _rc45e4t _hr4e100 10v4e100 _hc9zke2 _w91egv_ _sj2r1kk 13c87yx8 _vqpds__ _ni8ggk8 _tj9yqfb 1ia2j4r4 _7x9b10u 1fc9ld4j 1eq9zldr _5j9lhpx _ez9zl6o _md61fzm'.split(' ').reduce((acc, next) => {\n const key = colorToInt(next.substring(0, 3));\n const hex = colorToInt(next.substring(3)).toString(16);\n\n // NOTE: padStart could be used here but it breaks Node 6 compat\n // https://github.com/ricokahler/color2k/issues/351\n let prefix = '';\n for (let i = 0; i < 6 - hex.length; i++) {\n prefix += '0';\n }\n acc[key] = `${prefix}${hex}`;\n return acc;\n}, {});\n\n/**\n * Checks if a string is a CSS named color and returns its equivalent hex value, otherwise returns the original color.\n */\nfunction nameToHex(color) {\n const normalizedColorName = color.toLowerCase().trim();\n const result = compressedColorMap[hash(normalizedColorName)];\n if (!result) throw new ColorError$1(color);\n return `#${result}`;\n}\nconst r = (str, amount) => Array.from(Array(amount)).map(() => str).join('');\nconst reducedHexRegex = new RegExp(`^#${r('([a-f0-9])', 3)}([a-f0-9])?$`, 'i');\nconst hexRegex = new RegExp(`^#${r('([a-f0-9]{2})', 3)}([a-f0-9]{2})?$`, 'i');\nconst rgbaRegex = new RegExp(`^rgba?\\\\(\\\\s*(\\\\d+)\\\\s*${r(',\\\\s*(\\\\d+)\\\\s*', 2)}(?:,\\\\s*([\\\\d.]+))?\\\\s*\\\\)$`, 'i');\nconst hslaRegex = /^hsla?\\(\\s*([\\d.]+)\\s*,\\s*([\\d.]+)%\\s*,\\s*([\\d.]+)%(?:\\s*,\\s*([\\d.]+))?\\s*\\)$/i;\nconst namedColorRegex = /^[a-z]+$/i;\nconst roundColor = color => {\n return Math.round(color * 255);\n};\nconst hslToRgb = (hue, saturation, lightness) => {\n let l = lightness / 100;\n if (saturation === 0) {\n // achromatic\n return [l, l, l].map(roundColor);\n }\n\n // formulae from https://en.wikipedia.org/wiki/HSL_and_HSV\n const huePrime = (hue % 360 + 360) % 360 / 60;\n const chroma = (1 - Math.abs(2 * l - 1)) * (saturation / 100);\n const secondComponent = chroma * (1 - Math.abs(huePrime % 2 - 1));\n let red = 0;\n let green = 0;\n let blue = 0;\n if (huePrime >= 0 && huePrime < 1) {\n red = chroma;\n green = secondComponent;\n } else if (huePrime >= 1 && huePrime < 2) {\n red = secondComponent;\n green = chroma;\n } else if (huePrime >= 2 && huePrime < 3) {\n green = chroma;\n blue = secondComponent;\n } else if (huePrime >= 3 && huePrime < 4) {\n green = secondComponent;\n blue = chroma;\n } else if (huePrime >= 4 && huePrime < 5) {\n red = secondComponent;\n blue = chroma;\n } else if (huePrime >= 5 && huePrime < 6) {\n red = chroma;\n blue = secondComponent;\n }\n const lightnessModification = l - chroma / 2;\n const finalRed = red + lightnessModification;\n const finalGreen = green + lightnessModification;\n const finalBlue = blue + lightnessModification;\n return [finalRed, finalGreen, finalBlue].map(roundColor);\n};\n\n// taken from:\n// https://github.com/styled-components/polished/blob/a23a6a2bb26802b3d922d9c3b67bac3f3a54a310/src/internalHelpers/_rgbToHsl.js\n\n/**\n * Parses a color in hue, saturation, lightness, and the alpha channel.\n *\n * Hue is a number between 0 and 360, saturation, lightness, and alpha are\n * decimal percentages between 0 and 1\n */\nfunction parseToHsla(color) {\n const [red, green, blue, alpha] = parseToRgba(color).map((value, index) =>\n // 3rd index is alpha channel which is already normalized\n index === 3 ? value : value / 255);\n const max = Math.max(red, green, blue);\n const min = Math.min(red, green, blue);\n const lightness = (max + min) / 2;\n\n // achromatic\n if (max === min) return [0, 0, lightness, alpha];\n const delta = max - min;\n const saturation = lightness > 0.5 ? delta / (2 - max - min) : delta / (max + min);\n const hue = 60 * (red === max ? (green - blue) / delta + (green < blue ? 6 : 0) : green === max ? (blue - red) / delta + 2 : (red - green) / delta + 4);\n return [hue, saturation, lightness, alpha];\n}\n\n/**\n * Takes in hsla parts and constructs an hsla string\n *\n * @param hue The color circle (from 0 to 360) - 0 (or 360) is red, 120 is green, 240 is blue\n * @param saturation Percentage of saturation, given as a decimal between 0 and 1\n * @param lightness Percentage of lightness, given as a decimal between 0 and 1\n * @param alpha Percentage of opacity, given as a decimal between 0 and 1\n */\nfunction hsla(hue, saturation, lightness, alpha) {\n return `hsla(${(hue % 360).toFixed()}, ${guard(0, 100, saturation * 100).toFixed()}%, ${guard(0, 100, lightness * 100).toFixed()}%, ${parseFloat(guard(0, 1, alpha).toFixed(3))})`;\n}\n\n/**\n * Adjusts the current hue of the color by the given degrees. Wraps around when\n * over 360.\n *\n * @param color input color\n * @param degrees degrees to adjust the input color, accepts degree integers\n * (0 - 360) and wraps around on overflow\n */\nfunction adjustHue(color, degrees) {\n const [h, s, l, a] = parseToHsla(color);\n return hsla(h + degrees, s, l, a);\n}\n\n/**\n * Darkens using lightness. This is equivalent to subtracting the lightness\n * from the L in HSL.\n *\n * @param amount The amount to darken, given as a decimal between 0 and 1\n */\nfunction darken(color, amount) {\n const [hue, saturation, lightness, alpha] = parseToHsla(color);\n return hsla(hue, saturation, lightness - amount, alpha);\n}\n\n/**\n * Desaturates the input color by the given amount via subtracting from the `s`\n * in `hsla`.\n *\n * @param amount The amount to desaturate, given as a decimal between 0 and 1\n */\nfunction desaturate(color, amount) {\n const [h, s, l, a] = parseToHsla(color);\n return hsla(h, s - amount, l, a);\n}\n\n// taken from:\n// https://github.com/styled-components/polished/blob/0764c982551b487469043acb56281b0358b3107b/src/color/getLuminance.js\n\n/**\n * Returns a number (float) representing the luminance of a color.\n */\nfunction getLuminance(color) {\n if (color === 'transparent') return 0;\n function f(x) {\n const channel = x / 255;\n return channel <= 0.04045 ? channel / 12.92 : Math.pow((channel + 0.055) / 1.055, 2.4);\n }\n const [r, g, b] = parseToRgba(color);\n return 0.2126 * f(r) + 0.7152 * f(g) + 0.0722 * f(b);\n}\n\n// taken from:\n// https://github.com/styled-components/polished/blob/0764c982551b487469043acb56281b0358b3107b/src/color/getContrast.js\n\n/**\n * Returns the contrast ratio between two colors based on\n * [W3's recommended equation for calculating contrast](http://www.w3.org/TR/WCAG20/#contrast-ratiodef).\n */\nfunction getContrast(color1, color2) {\n const luminance1 = getLuminance(color1);\n const luminance2 = getLuminance(color2);\n return luminance1 > luminance2 ? (luminance1 + 0.05) / (luminance2 + 0.05) : (luminance2 + 0.05) / (luminance1 + 0.05);\n}\n\n/**\n * Takes in rgba parts and returns an rgba string\n *\n * @param red The amount of red in the red channel, given in a number between 0 and 255 inclusive\n * @param green The amount of green in the red channel, given in a number between 0 and 255 inclusive\n * @param blue The amount of blue in the red channel, given in a number between 0 and 255 inclusive\n * @param alpha Percentage of opacity, given as a decimal between 0 and 1\n */\nfunction rgba(red, green, blue, alpha) {\n return `rgba(${guard(0, 255, red).toFixed()}, ${guard(0, 255, green).toFixed()}, ${guard(0, 255, blue).toFixed()}, ${parseFloat(guard(0, 1, alpha).toFixed(3))})`;\n}\n\n/**\n * Mixes two colors together. Taken from sass's implementation.\n */\nfunction mix(color1, color2, weight) {\n const normalize = (n, index) =>\n // 3rd index is alpha channel which is already normalized\n index === 3 ? n : n / 255;\n const [r1, g1, b1, a1] = parseToRgba(color1).map(normalize);\n const [r2, g2, b2, a2] = parseToRgba(color2).map(normalize);\n\n // The formula is copied from the original Sass implementation:\n // http://sass-lang.com/documentation/Sass/Script/Functions.html#mix-instance_method\n const alphaDelta = a2 - a1;\n const normalizedWeight = weight * 2 - 1;\n const combinedWeight = normalizedWeight * alphaDelta === -1 ? normalizedWeight : normalizedWeight + alphaDelta / (1 + normalizedWeight * alphaDelta);\n const weight2 = (combinedWeight + 1) / 2;\n const weight1 = 1 - weight2;\n const r = (r1 * weight1 + r2 * weight2) * 255;\n const g = (g1 * weight1 + g2 * weight2) * 255;\n const b = (b1 * weight1 + b2 * weight2) * 255;\n const a = a2 * weight + a1 * (1 - weight);\n return rgba(r, g, b, a);\n}\n\n/**\n * Given a series colors, this function will return a `scale(x)` function that\n * accepts a percentage as a decimal between 0 and 1 and returns the color at\n * that percentage in the scale.\n *\n * ```js\n * const scale = getScale('red', 'yellow', 'green');\n * console.log(scale(0)); // rgba(255, 0, 0, 1)\n * console.log(scale(0.5)); // rgba(255, 255, 0, 1)\n * console.log(scale(1)); // rgba(0, 128, 0, 1)\n * ```\n *\n * If you'd like to limit the domain and range like chroma-js, we recommend\n * wrapping scale again.\n *\n * ```js\n * const _scale = getScale('red', 'yellow', 'green');\n * const scale = x => _scale(x / 100);\n *\n * console.log(scale(0)); // rgba(255, 0, 0, 1)\n * console.log(scale(50)); // rgba(255, 255, 0, 1)\n * console.log(scale(100)); // rgba(0, 128, 0, 1)\n * ```\n */\nfunction getScale(...colors) {\n return n => {\n const lastIndex = colors.length - 1;\n const lowIndex = guard(0, lastIndex, Math.floor(n * lastIndex));\n const highIndex = guard(0, lastIndex, Math.ceil(n * lastIndex));\n const color1 = colors[lowIndex];\n const color2 = colors[highIndex];\n const unit = 1 / lastIndex;\n const weight = (n - unit * lowIndex) / unit;\n return mix(color1, color2, weight);\n };\n}\n\nconst guidelines = {\n decorative: 1.5,\n readable: 3,\n aa: 4.5,\n aaa: 7\n};\n\n/**\n * Returns whether or not a color has bad contrast against a background\n * according to a given standard.\n */\nfunction hasBadContrast(color, standard = 'aa', background = '#fff') {\n return getContrast(color, background) < guidelines[standard];\n}\n\n/**\n * Lightens a color by a given amount. This is equivalent to\n * `darken(color, -amount)`\n *\n * @param amount The amount to darken, given as a decimal between 0 and 1\n */\nfunction lighten(color, amount) {\n return darken(color, -amount);\n}\n\n/**\n * Takes in a color and makes it more transparent by convert to `rgba` and\n * decreasing the amount in the alpha channel.\n *\n * @param amount The amount to increase the transparency by, given as a decimal between 0 and 1\n */\nfunction transparentize(color, amount) {\n const [r, g, b, a] = parseToRgba(color);\n return rgba(r, g, b, a - amount);\n}\n\n/**\n * Takes a color and un-transparentizes it. Equivalent to\n * `transparentize(color, -amount)`\n *\n * @param amount The amount to increase the opacity by, given as a decimal between 0 and 1\n */\nfunction opacify(color, amount) {\n return transparentize(color, -amount);\n}\n\n/**\n * An alternative function to `readableColor`. Returns whether or not the \n * readable color (i.e. the color to be place on top the input color) should be\n * black.\n */\nfunction readableColorIsBlack(color) {\n return getLuminance(color) > 0.179;\n}\n\n/**\n * Returns black or white for best contrast depending on the luminosity of the\n * given color.\n */\nfunction readableColor(color) {\n return readableColorIsBlack(color) ? '#000' : '#fff';\n}\n\n/**\n * Saturates a color by converting it to `hsl` and increasing the saturation\n * amount. Equivalent to `desaturate(color, -amount)`\n * \n * @param color Input color\n * @param amount The amount to darken, given as a decimal between 0 and 1\n */\nfunction saturate(color, amount) {\n return desaturate(color, -amount);\n}\n\n/**\n * Takes in any color and returns it as a hex code.\n */\nfunction toHex(color) {\n const [r, g, b, a] = parseToRgba(color);\n let hex = x => {\n const h = guard(0, 255, x).toString(16);\n // NOTE: padStart could be used here but it breaks Node 6 compat\n // https://github.com/ricokahler/color2k/issues/351\n return h.length === 1 ? `0${h}` : h;\n };\n return `#${hex(r)}${hex(g)}${hex(b)}${a < 1 ? hex(Math.round(a * 255)) : ''}`;\n}\n\n/**\n * Takes in any color and returns it as an rgba string.\n */\nfunction toRgba(color) {\n return rgba(...parseToRgba(color));\n}\n\n/**\n * Takes in any color and returns it as an hsla string.\n */\nfunction toHsla(color) {\n return hsla(...parseToHsla(color));\n}\n\nexport { ColorError$1 as ColorError, adjustHue, darken, desaturate, getContrast, getLuminance, getScale, guard, hasBadContrast, hsla, lighten, mix, opacify, parseToHsla, parseToRgba, readableColor, readableColorIsBlack, rgba, saturate, toHex, toHsla, toRgba, transparentize };\n//# sourceMappingURL=index.module.es.js.map\n","import { CustomPalette } from '../../interface';\n\nexport const isColor = strColor => {\n const s = new Option().style;\n s.color = strColor;\n return s.color !== '';\n};\n\nconst toKebabCase = (pascal: string) => pascal.replace(/([a-z0–9])([A-Z])/g, '$1-$2').toLowerCase();\n\n// This function handles arrays and objects\nconst buildVars = (prev: string, obj: any): { [k: string]: string } => {\n let resp = {};\n\n for (const k in obj) {\n const name = `${prev}-${toKebabCase(k)}`;\n if (typeof obj[k] === 'object' && obj[k] !== null) {\n resp = { ...resp, ...buildVars(name, obj[k]) };\n } else {\n resp[name] = obj[k];\n }\n }\n\n return resp;\n};\n\nexport const getCssColors = (customPalette: CustomPalette): { [k: string]: string } => buildVars('--cpsl-color', customPalette);\n","import { mix, readableColorIsBlack } from 'color2k';\nimport { Theme } from '../../interface';\nimport { getCssColors, isColor } from './utils';\nimport { DEFAULT_THEME } from '../../constants';\n\nexport type Palette = {\n foregroundColors: string[];\n backgroundColors: string[];\n isDarkBackground: boolean;\n};\n\nconst MIXES = [0, 0.08, 0.16, 0.32, 0.48, 0.64, 0.8, 0.96];\n\nexport const generatePalette = ({ foregroundColor, backgroundColor, customPalette }: Pick<Theme, 'foregroundColor' | 'backgroundColor' | 'customPalette'>): Palette => {\n if (!Boolean(foregroundColor) || !isColor(foregroundColor)) {\n foregroundColor = DEFAULT_THEME.foregroundColor;\n }\n if (!Boolean(backgroundColor) || !isColor(backgroundColor)) {\n backgroundColor = DEFAULT_THEME.backgroundColor;\n }\n\n const isDarkBackground = !readableColorIsBlack(backgroundColor);\n\n const palette: Palette = {\n foregroundColors: [],\n backgroundColors: [],\n isDarkBackground,\n };\n\n const backgroundMixColor = isDarkBackground ? '#FFFFFF' : '#000000';\n const foregroundMixColor = isDarkBackground ? '#000000' : '#FFFFFF';\n\n MIXES.forEach(value => {\n palette.foregroundColors.push(mix(foregroundColor, foregroundMixColor, value));\n palette.backgroundColors.push(mix(backgroundColor, backgroundMixColor, value));\n });\n\n // BACKGROUND\n document.documentElement.style.setProperty('--cpsl-color-background-0', palette.backgroundColors[0]);\n document.documentElement.style.setProperty('--cpsl-color-background-8', palette.backgroundColors[1]);\n document.documentElement.style.setProperty('--cpsl-color-background-16', palette.backgroundColors[2]);\n document.documentElement.style.setProperty('--cpsl-color-background-32', palette.backgroundColors[3]);\n document.documentElement.style.setProperty('--cpsl-color-background-48', palette.backgroundColors[4]);\n document.documentElement.style.setProperty('--cpsl-color-background-64', palette.backgroundColors[5]);\n document.documentElement.style.setProperty('--cpsl-color-background-80', palette.backgroundColors[6]);\n document.documentElement.style.setProperty('--cpsl-color-background-96', palette.backgroundColors[7]);\n\n // FOREGROUND\n document.documentElement.style.setProperty('--cpsl-color-foreground-0', palette.foregroundColors[0]);\n document.documentElement.style.setProperty('--cpsl-color-foreground-8', palette.foregroundColors[1]);\n document.documentElement.style.setProperty('--cpsl-color-foreground-16', palette.foregroundColors[2]);\n document.documentElement.style.setProperty('--cpsl-color-foreground-32', palette.foregroundColors[3]);\n document.documentElement.style.setProperty('--cpsl-color-foreground-48', palette.foregroundColors[4]);\n document.documentElement.style.setProperty('--cpsl-color-foreground-64', palette.foregroundColors[5]);\n document.documentElement.style.setProperty('--cpsl-color-foreground-80', palette.foregroundColors[6]);\n document.documentElement.style.setProperty('--cpsl-color-foreground-96', palette.foregroundColors[7]);\n\n if (Boolean(customPalette)) {\n const cssColorVars = getCssColors(customPalette);\n Object.entries(cssColorVars).forEach(([k, v]) => document.documentElement.style.setProperty(k, v));\n }\n\n return palette;\n};\n","import { DEFAULT_THEME } from '../../constants';\nimport { Theme } from '../../interface';\nimport { generateBorderRadii } from './generateBorderRadii';\nimport { generateFont } from './generateFont';\nimport { generatePalette } from './generatePalette';\n\n/**\n * Generates css theme variables.\n * @returns @boolean Whether background is dark or not.\n */\nexport const generateTheme = ({\n foregroundColor = DEFAULT_THEME.foregroundColor,\n backgroundColor = DEFAULT_THEME.backgroundColor,\n font,\n customPalette,\n borderRadius,\n customFontSizes,\n}: Theme): boolean => {\n const palette = generatePalette({ foregroundColor, backgroundColor, customPalette });\n\n generateFont({ font, customFontSizes });\n\n generateBorderRadii({ borderRadius });\n\n return palette.isDarkBackground;\n};\n"],"version":3}
@@ -1,11 +1,11 @@
1
- import { b as bootstrapLazy } from './index-7c2f5cb9.js';
2
- export { s as setNonce } from './index-7c2f5cb9.js';
1
+ import { b as bootstrapLazy } from './index-f00e090c.js';
2
+ export { s as setNonce } from './index-f00e090c.js';
3
3
  import { g as globalScripts } from './app-globals-0f993ce5.js';
4
4
 
5
5
  const defineCustomElements = async (win, options) => {
6
6
  if (typeof window === 'undefined') return undefined;
7
7
  await globalScripts();
8
- return bootstrapLazy([["cpsl-col",[[1,"cpsl-col",{"offset":[1],"offsetXs":[1,"offset-xs"],"offsetSm":[1,"offset-sm"],"offsetMd":[1,"offset-md"],"offsetLg":[1,"offset-lg"],"offsetXl":[1,"offset-xl"],"pull":[1],"pullXs":[1,"pull-xs"],"pullSm":[1,"pull-sm"],"pullMd":[1,"pull-md"],"pullLg":[1,"pull-lg"],"pullXl":[1,"pull-xl"],"push":[1],"pushXs":[1,"push-xs"],"pushSm":[1,"push-sm"],"pushMd":[1,"push-md"],"pushLg":[1,"push-lg"],"pushXl":[1,"push-xl"],"size":[1],"sizeXs":[1,"size-xs"],"sizeSm":[1,"size-sm"],"sizeMd":[1,"size-md"],"sizeLg":[1,"size-lg"],"sizeXl":[1,"size-xl"]},[[9,"resize","onResize"]]]]],["cpsl-grid",[[1,"cpsl-grid",{"fixed":[4]}]]],["cpsl-info-box",[[1,"cpsl-info-box"]]],["cpsl-row",[[1,"cpsl-row"]]],["cpsl-alert_17",[[1,"cpsl-code-input",{"code":[1025],"errorText":[1,"error-text"],"helperText":[1,"helper-text"],"length":[2],"type":[1]}],[1,"cpsl-input",{"autocapitalize":[1],"autocomplete":[1],"autocorrect":[1],"noAutoDisable":[4,"no-auto-disable"],"autofocus":[4],"disabled":[4],"enterkeyhint":[1],"errorText":[1,"error-text"],"helperText":[1,"helper-text"],"inputmode":[1],"label":[1],"max":[8],"maxlength":[2],"min":[8],"minlength":[2],"multiple":[4],"name":[1],"pattern":[1],"placeholder":[1],"readonly":[4],"required":[4],"spellcheck":[4],"startIconSrc":[1,"start-icon-src"],"startIcon":[1,"start-icon"],"step":[1],"type":[1],"value":[1025],"hasFocus":[32]},null,{"disabled":["handleDisable"]}],[1,"cpsl-slide-button",{"disabled":[4],"endIcon":[1,"end-icon"],"endText":[1,"end-text"],"startIcon":[1,"start-icon"],"startText":[1,"start-text"]}],[1,"cpsl-tile-button",{"src":[1],"icon":[1]}],[1,"cpsl-alert",{"type":[1],"icon":[1]}],[1,"cpsl-button",{"disabled":[516],"variant":[513]}],[1,"cpsl-divider"],[1,"cpsl-modal",{"footerExpanded":[4,"footer-expanded"],"transitionDuration":[2,"transition-duration"],"noFooter":[32]},null,{"footerExpanded":["toggleHeight"]}],[1,"cpsl-overlay",{"open":[4],"transitionDuration":[2,"transition-duration"]},null,{"open":["toggleHeight"]}],[1,"cpsl-pill",{"text":[1]}],[1,"cpsl-progress-indicator",{"totalSteps":[2,"total-steps"],"step":[2]}],[1,"cpsl-qr-code",{"url":[1],"imageSrc":[1,"image-src"],"size":[2]}],[1,"cpsl-spinner",{"size":[2],"speed":[2]}],[1,"cpsl-tab",{"selected":[4],"tab":[1]},[[8,"cpslTabsChanged","onTabsChanged"],[8,"cpslTabsInit","onTabsInit"]]],[1,"cpsl-tabs",{"fullWidth":[4,"full-width"],"selectedTab":[1,"selected-tab"],"selectedTabRect":[32],"loaded":[32]},null,{"fullWidth":["updateSlider"],"selectedTab":["updateTab"]}],[1,"cpsl-text"],[1,"cpsl-icon",{"src":[1],"icon":[1]}]]]], options);
8
+ return bootstrapLazy([["cpsl-animation",[[1,"cpsl-animation",{"src":[1],"replayAnimation":[64]}]]],["cpsl-col",[[1,"cpsl-col",{"offset":[1],"offsetXs":[1,"offset-xs"],"offsetSm":[1,"offset-sm"],"offsetMd":[1,"offset-md"],"offsetLg":[1,"offset-lg"],"offsetXl":[1,"offset-xl"],"pull":[1],"pullXs":[1,"pull-xs"],"pullSm":[1,"pull-sm"],"pullMd":[1,"pull-md"],"pullLg":[1,"pull-lg"],"pullXl":[1,"pull-xl"],"push":[1],"pushXs":[1,"push-xs"],"pushSm":[1,"push-sm"],"pushMd":[1,"push-md"],"pushLg":[1,"push-lg"],"pushXl":[1,"push-xl"],"size":[1],"sizeXs":[1,"size-xs"],"sizeSm":[1,"size-sm"],"sizeMd":[1,"size-md"],"sizeLg":[1,"size-lg"],"sizeXl":[1,"size-xl"]},[[9,"resize","onResize"]]]]],["cpsl-grid",[[1,"cpsl-grid",{"fixed":[4]}]]],["cpsl-info-box",[[1,"cpsl-info-box"]]],["cpsl-row",[[1,"cpsl-row"]]],["cpsl-alert_18",[[1,"cpsl-code-input",{"code":[1025],"errorText":[1,"error-text"],"helperText":[1,"helper-text"],"length":[2],"type":[1]}],[1,"cpsl-input",{"autocapitalize":[1],"autocomplete":[1],"autocorrect":[1],"noAutoDisable":[4,"no-auto-disable"],"autofocus":[4],"disabled":[4],"enterkeyhint":[1],"errorText":[1,"error-text"],"helperText":[1,"helper-text"],"inputmode":[1],"label":[1],"max":[8],"maxlength":[2],"min":[8],"minlength":[2],"multiple":[4],"name":[1],"pattern":[1],"placeholder":[1],"readonly":[4],"required":[4],"spellcheck":[4],"startIconSrc":[1,"start-icon-src"],"startIcon":[1,"start-icon"],"step":[1],"type":[1],"value":[1025],"hasFocus":[32]},null,{"disabled":["handleDisable"]}],[1,"cpsl-modal",{"enterTransitionDuration":[2,"enter-transition-duration"],"exitTransitionDuration":[2,"exit-transition-duration"],"footerExpanded":[4,"footer-expanded"],"footerTransitionDuration":[2,"footer-transition-duration"],"noOverlay":[4,"no-overlay"],"open":[4],"hasFooter":[32]},null,{"footerExpanded":["toggleHeight"],"open":["toggleModal"]}],[1,"cpsl-slide-button",{"disabled":[4],"endIcon":[1,"end-icon"],"endText":[1,"end-text"],"startIcon":[1,"start-icon"],"startText":[1,"start-text"]}],[1,"cpsl-tile-button",{"src":[1],"icon":[1]}],[1,"cpsl-alert",{"type":[1],"icon":[1]}],[1,"cpsl-button",{"disabled":[516],"variant":[513]}],[1,"cpsl-divider"],[1,"cpsl-dropdown",{"width":[1],"items":[16],"isOpen":[32],"selectedItem":[32]},null,{"isOpen":["handleOpenChange"]}],[1,"cpsl-pill",{"text":[1]}],[1,"cpsl-progress-indicator",{"totalSteps":[2,"total-steps"],"step":[2]}],[1,"cpsl-qr-code",{"url":[1],"imageSrc":[1,"image-src"],"size":[2]}],[1,"cpsl-spinner",{"size":[2],"speed":[2]}],[1,"cpsl-tab",{"selected":[4],"tab":[1]},[[8,"cpslTabsChanged","onTabsChanged"],[8,"cpslTabsInit","onTabsInit"]]],[1,"cpsl-tabs",{"fullWidth":[4,"full-width"],"selectedTab":[1,"selected-tab"],"selectedTabRect":[32],"loaded":[32]},null,{"fullWidth":["updateSlider"],"selectedTab":["updateTab"]}],[1,"cpsl-text",{"color":[1],"variant":[1],"weight":[1]}],[1,"cpsl-overlay",{"open":[4],"enterTransitionDuration":[2,"enter-transition-duration"],"exitTransitionDuration":[2,"exit-transition-duration"]},null,{"open":["toggleHeight"]}],[1,"cpsl-icon",{"src":[1],"icon":[1]}]]]], options);
9
9
  };
10
10
 
11
11
  export { defineCustomElements };
@@ -8,9 +8,11 @@ export declare const Icons: {
8
8
  arrow: string;
9
9
  backupKit: string;
10
10
  capsuleLogo: string;
11
+ capsuleRingsDark: string;
11
12
  capsuleRings: string;
12
13
  capsule: string;
13
14
  check: string;
15
+ chevronUp: string;
14
16
  clock: string;
15
17
  close: string;
16
18
  clubhouseBrand: string;
@@ -44,11 +46,11 @@ export declare const Icons: {
44
46
  linkedinBrand: string;
45
47
  linkedin: string;
46
48
  mail: string;
47
- moreLoginOptionsDark: string;
48
49
  moreLoginOptions: string;
49
50
  phone: string;
50
51
  pintrestBrand: string;
51
52
  pintrest: string;
53
+ plusCircle: string;
52
54
  redditBrand: string;
53
55
  reddit: string;
54
56
  signalBrand: string;
@@ -63,6 +65,7 @@ export declare const Icons: {
63
65
  tumblr: string;
64
66
  twitterBrand: string;
65
67
  twitter: string;
68
+ wallet: string;
66
69
  youtubeBrand: string;
67
70
  youtube: string;
68
71
  };
@@ -0,0 +1,9 @@
1
+ export declare class CpslAnimation {
2
+ private animation;
3
+ el: HTMLCpslAnimationElement;
4
+ src: string;
5
+ replayAnimation(): Promise<void>;
6
+ componentDidLoad(): void;
7
+ private get animationContainerEl();
8
+ render(): any;
9
+ }
@@ -0,0 +1,25 @@
1
+ import { ComponentInterface } from '../../stencil-public-runtime';
2
+ export declare class CpslDropdown implements ComponentInterface {
3
+ el: HTMLCpslDropdownElement;
4
+ width: string;
5
+ isOpen: boolean;
6
+ selectedItem: {
7
+ icon: string;
8
+ label: string;
9
+ value: string;
10
+ selectedLabel?: string;
11
+ };
12
+ items: Array<{
13
+ icon: string;
14
+ label: string;
15
+ value: string;
16
+ selectedLabel?: string;
17
+ }>;
18
+ private toggleDropdown;
19
+ private selectItem;
20
+ private handleItemSelect;
21
+ handleOpenChange(): void;
22
+ private adjustPosition;
23
+ componentWillLoad(): void;
24
+ render(): any;
25
+ }
@@ -1,15 +1,36 @@
1
+ import { EventEmitter } from '../../stencil-public-runtime';
1
2
  export declare class CpslModal {
3
+ private draggable;
2
4
  private expandFooterTl;
3
5
  el: HTMLCpslModalElement;
4
- noFooter: boolean;
5
- footerExpanded: boolean;
6
- transitionDuration: number;
6
+ hasFooter: boolean;
7
+ enterTransitionDuration?: number;
8
+ exitTransitionDuration?: number;
9
+ footerExpanded?: boolean;
10
+ footerTransitionDuration?: number;
11
+ noOverlay?: boolean;
12
+ open: boolean;
13
+ cpslModalEntering: EventEmitter<null>;
14
+ cpslModalEntered: EventEmitter<null>;
15
+ cpslModalExiting: EventEmitter<null>;
16
+ cpslModalExited: EventEmitter<null>;
17
+ cpslModalRequestClose: EventEmitter<null>;
7
18
  toggleHeight(): void;
19
+ toggleModal(): void;
8
20
  componentDidLoad(): void;
9
- private get bodyEl();
21
+ private addExpandAnim;
22
+ private getDraggableHeight;
23
+ private initDraggable;
10
24
  private get footerEl();
11
25
  private get footerExpandedEl();
12
- private get headerEl();
13
26
  private get headerExpandedEl();
27
+ private get innerContainerEl();
28
+ private get contentEl();
29
+ private get modalWrapperEl();
30
+ private get modalContainerEl();
31
+ private get overlayEl();
32
+ private get footerSlotEl();
33
+ private get headerEl();
34
+ private get Modal();
14
35
  render(): any;
15
36
  }
@@ -1,8 +1,8 @@
1
1
  export declare class CpslOverlay {
2
- private showTl;
3
2
  el: HTMLCpslOverlayElement;
4
3
  open: boolean;
5
- transitionDuration: number;
4
+ enterTransitionDuration?: number;
5
+ exitTransitionDuration?: number;
6
6
  toggleHeight(): void;
7
7
  componentDidLoad(): void;
8
8
  render(): any;
@@ -1,3 +1,7 @@
1
1
  export declare class CpslText {
2
+ color?: 'primary' | 'secondary' | 'subtle' | 'inverted' | 'error';
3
+ variant?: 'body2XS' | 'bodyXS' | 'bodyS' | 'bodyM' | 'bodyL' | 'bodyXL' | 'headingXS' | 'headingS' | 'headingM' | 'headingL' | 'headingXL' | 'heading2XL';
4
+ weight?: 'regular' | 'medium' | 'semiBold' | 'bold';
5
+ private get Content();
2
6
  render(): any;
3
7
  }