@pepperi-addons/ngx-lib 0.4.2-beta.8 → 0.4.2-beta.81

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 (193) hide show
  1. package/attachment/attachment.component.d.ts +11 -2
  2. package/button/button.component.d.ts +8 -8
  3. package/core/common/services/color.service.d.ts +1 -0
  4. package/core/common/services/file.service.d.ts +7 -2
  5. package/dialog/dialog.service.d.ts +1 -0
  6. package/draggable-items/draggable-items.component.d.ts +3 -3
  7. package/draggable-items/draggable-items.module.d.ts +1 -1
  8. package/esm2020/address/address.component.mjs +1 -1
  9. package/esm2020/attachment/attachment.component.mjs +38 -18
  10. package/esm2020/button/button.component.mjs +7 -7
  11. package/esm2020/chips/chips.component.mjs +2 -2
  12. package/esm2020/color/color-picker.component.mjs +1 -1
  13. package/esm2020/core/common/services/color.service.mjs +27 -1
  14. package/esm2020/core/common/services/file.service.mjs +57 -20
  15. package/esm2020/core/common/services/session.service.mjs +2 -1
  16. package/esm2020/core/customization/customization.model.mjs +7 -6
  17. package/esm2020/core/customization/customization.service.mjs +13 -4
  18. package/esm2020/core/http/services/http.service.mjs +1 -1
  19. package/esm2020/dialog/dialog.component.mjs +3 -3
  20. package/esm2020/dialog/dialog.service.mjs +22 -1
  21. package/esm2020/draggable-items/draggable-items.component.mjs +7 -7
  22. package/esm2020/draggable-items/draggable-items.module.mjs +6 -6
  23. package/esm2020/files-uploader/files-uploader.component.mjs +50 -45
  24. package/esm2020/form/field-generator.component.mjs +3 -3
  25. package/esm2020/form/form.component.mjs +4 -3
  26. package/esm2020/form/internal-field-generator.component.mjs +1 -1
  27. package/esm2020/form/internal-form.component.mjs +1 -1
  28. package/esm2020/form/internal-list.component.mjs +2 -2
  29. package/esm2020/image/image.component.mjs +32 -16
  30. package/esm2020/image/image.service.mjs +2 -4
  31. package/esm2020/images-filmstrip/images-filmstrip.component.mjs +2 -2
  32. package/esm2020/link/link.component.mjs +33 -58
  33. package/esm2020/list/list.component.mjs +85 -17
  34. package/esm2020/menu/menu.component.mjs +3 -3
  35. package/esm2020/profile-data-views-list/profile-data-views-list.component.mjs +1 -1
  36. package/esm2020/quantity-selector/quantity-selector.component.mjs +20 -25
  37. package/esm2020/query-builder/query-builder-item/query-builder-item.component.mjs +1 -1
  38. package/esm2020/select/select.component.mjs +39 -18
  39. package/esm2020/select-panel/select-panel.component.mjs +2 -2
  40. package/esm2020/signature/public-api.mjs +2 -1
  41. package/esm2020/signature/signature-dialog.component.mjs +78 -0
  42. package/esm2020/signature/signature.component.mjs +117 -89
  43. package/esm2020/signature/signature.module.mjs +6 -5
  44. package/esm2020/skeleton-loader/pepperi-addons-ngx-lib-skeleton-loader.mjs +5 -0
  45. package/esm2020/skeleton-loader/public-api.mjs +6 -0
  46. package/esm2020/skeleton-loader/skeleton-loader.component.mjs +44 -0
  47. package/esm2020/skeleton-loader/skeleton-loader.module.mjs +24 -0
  48. package/esm2020/smart-filters/boolean-filter/boolean-filter.component.mjs +3 -3
  49. package/esm2020/smart-filters/date-filter/date-filter.component.mjs +1 -1
  50. package/esm2020/smart-filters/multi-select-filter/multi-select-filter.component.mjs +1 -1
  51. package/esm2020/smart-filters/number-filter/number-filter.component.mjs +3 -3
  52. package/esm2020/smart-filters/text-filter/text-filter.component.mjs +1 -1
  53. package/esm2020/textbox/textbox.component.mjs +9 -3
  54. package/esm2020/top-bar/top-bar.component.mjs +2 -2
  55. package/fesm2015/pepperi-addons-ngx-lib-address.mjs +1 -1
  56. package/fesm2015/pepperi-addons-ngx-lib-address.mjs.map +1 -1
  57. package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs +37 -17
  58. package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
  59. package/fesm2015/pepperi-addons-ngx-lib-button.mjs +6 -6
  60. package/fesm2015/pepperi-addons-ngx-lib-button.mjs.map +1 -1
  61. package/fesm2015/pepperi-addons-ngx-lib-chips.mjs +2 -2
  62. package/fesm2015/pepperi-addons-ngx-lib-chips.mjs.map +1 -1
  63. package/fesm2015/pepperi-addons-ngx-lib-color.mjs.map +1 -1
  64. package/fesm2015/pepperi-addons-ngx-lib-dialog.mjs +23 -2
  65. package/fesm2015/pepperi-addons-ngx-lib-dialog.mjs.map +1 -1
  66. package/fesm2015/pepperi-addons-ngx-lib-draggable-items.mjs +11 -11
  67. package/fesm2015/pepperi-addons-ngx-lib-draggable-items.mjs.map +1 -1
  68. package/fesm2015/pepperi-addons-ngx-lib-files-uploader.mjs +49 -44
  69. package/fesm2015/pepperi-addons-ngx-lib-files-uploader.mjs.map +1 -1
  70. package/fesm2015/pepperi-addons-ngx-lib-form.mjs +8 -7
  71. package/fesm2015/pepperi-addons-ngx-lib-form.mjs.map +1 -1
  72. package/fesm2015/pepperi-addons-ngx-lib-image.mjs +32 -18
  73. package/fesm2015/pepperi-addons-ngx-lib-image.mjs.map +1 -1
  74. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs +1 -1
  75. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -1
  76. package/fesm2015/pepperi-addons-ngx-lib-link.mjs +32 -57
  77. package/fesm2015/pepperi-addons-ngx-lib-link.mjs.map +1 -1
  78. package/fesm2015/pepperi-addons-ngx-lib-list.mjs +84 -17
  79. package/fesm2015/pepperi-addons-ngx-lib-list.mjs.map +1 -1
  80. package/fesm2015/pepperi-addons-ngx-lib-menu.mjs +2 -2
  81. package/fesm2015/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
  82. package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs +1 -1
  83. package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
  84. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs +19 -24
  85. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
  86. package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs +1 -1
  87. package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
  88. package/fesm2015/pepperi-addons-ngx-lib-select-panel.mjs +2 -2
  89. package/fesm2015/pepperi-addons-ngx-lib-select-panel.mjs.map +1 -1
  90. package/fesm2015/pepperi-addons-ngx-lib-select.mjs +37 -16
  91. package/fesm2015/pepperi-addons-ngx-lib-select.mjs.map +1 -1
  92. package/fesm2015/pepperi-addons-ngx-lib-signature.mjs +205 -102
  93. package/fesm2015/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
  94. package/fesm2015/pepperi-addons-ngx-lib-skeleton-loader.mjs +78 -0
  95. package/fesm2015/pepperi-addons-ngx-lib-skeleton-loader.mjs.map +1 -0
  96. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs +7 -7
  97. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
  98. package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs +8 -2
  99. package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
  100. package/fesm2015/pepperi-addons-ngx-lib-top-bar.mjs +2 -2
  101. package/fesm2015/pepperi-addons-ngx-lib-top-bar.mjs.map +1 -1
  102. package/fesm2015/pepperi-addons-ngx-lib.mjs +101 -27
  103. package/fesm2015/pepperi-addons-ngx-lib.mjs.map +1 -1
  104. package/fesm2020/pepperi-addons-ngx-lib-address.mjs +1 -1
  105. package/fesm2020/pepperi-addons-ngx-lib-address.mjs.map +1 -1
  106. package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs +37 -17
  107. package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
  108. package/fesm2020/pepperi-addons-ngx-lib-button.mjs +6 -6
  109. package/fesm2020/pepperi-addons-ngx-lib-button.mjs.map +1 -1
  110. package/fesm2020/pepperi-addons-ngx-lib-chips.mjs +2 -2
  111. package/fesm2020/pepperi-addons-ngx-lib-chips.mjs.map +1 -1
  112. package/fesm2020/pepperi-addons-ngx-lib-color.mjs.map +1 -1
  113. package/fesm2020/pepperi-addons-ngx-lib-dialog.mjs +23 -2
  114. package/fesm2020/pepperi-addons-ngx-lib-dialog.mjs.map +1 -1
  115. package/fesm2020/pepperi-addons-ngx-lib-draggable-items.mjs +11 -11
  116. package/fesm2020/pepperi-addons-ngx-lib-draggable-items.mjs.map +1 -1
  117. package/fesm2020/pepperi-addons-ngx-lib-files-uploader.mjs +49 -44
  118. package/fesm2020/pepperi-addons-ngx-lib-files-uploader.mjs.map +1 -1
  119. package/fesm2020/pepperi-addons-ngx-lib-form.mjs +8 -7
  120. package/fesm2020/pepperi-addons-ngx-lib-form.mjs.map +1 -1
  121. package/fesm2020/pepperi-addons-ngx-lib-image.mjs +32 -18
  122. package/fesm2020/pepperi-addons-ngx-lib-image.mjs.map +1 -1
  123. package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs +1 -1
  124. package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -1
  125. package/fesm2020/pepperi-addons-ngx-lib-link.mjs +32 -57
  126. package/fesm2020/pepperi-addons-ngx-lib-link.mjs.map +1 -1
  127. package/fesm2020/pepperi-addons-ngx-lib-list.mjs +84 -16
  128. package/fesm2020/pepperi-addons-ngx-lib-list.mjs.map +1 -1
  129. package/fesm2020/pepperi-addons-ngx-lib-menu.mjs +2 -2
  130. package/fesm2020/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
  131. package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs +1 -1
  132. package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
  133. package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs +19 -24
  134. package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
  135. package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs +1 -1
  136. package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
  137. package/fesm2020/pepperi-addons-ngx-lib-select-panel.mjs +2 -2
  138. package/fesm2020/pepperi-addons-ngx-lib-select-panel.mjs.map +1 -1
  139. package/fesm2020/pepperi-addons-ngx-lib-select.mjs +37 -16
  140. package/fesm2020/pepperi-addons-ngx-lib-select.mjs.map +1 -1
  141. package/fesm2020/pepperi-addons-ngx-lib-signature.mjs +201 -102
  142. package/fesm2020/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
  143. package/fesm2020/pepperi-addons-ngx-lib-skeleton-loader.mjs +76 -0
  144. package/fesm2020/pepperi-addons-ngx-lib-skeleton-loader.mjs.map +1 -0
  145. package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs +7 -7
  146. package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
  147. package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs +8 -2
  148. package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
  149. package/fesm2020/pepperi-addons-ngx-lib-top-bar.mjs +2 -2
  150. package/fesm2020/pepperi-addons-ngx-lib-top-bar.mjs.map +1 -1
  151. package/fesm2020/pepperi-addons-ngx-lib.mjs +101 -27
  152. package/fesm2020/pepperi-addons-ngx-lib.mjs.map +1 -1
  153. package/files-uploader/files-uploader.component.d.ts +7 -4
  154. package/image/image.component.d.ts +11 -3
  155. package/link/link.component.d.ts +23 -27
  156. package/list/list.component.d.ts +7 -1
  157. package/menu/menu.component.d.ts +1 -1
  158. package/package.json +10 -2
  159. package/quantity-selector/quantity-selector.component.d.ts +0 -2
  160. package/select/select.component.d.ts +9 -2
  161. package/signature/public-api.d.ts +1 -0
  162. package/signature/signature-dialog.component.d.ts +29 -0
  163. package/signature/signature.component.d.ts +7 -16
  164. package/signature/signature.module.d.ts +16 -15
  165. package/skeleton-loader/index.d.ts +5 -0
  166. package/skeleton-loader/public-api.d.ts +2 -0
  167. package/skeleton-loader/skeleton-loader.component.d.ts +20 -0
  168. package/skeleton-loader/skeleton-loader.component.theme.scss +15 -0
  169. package/skeleton-loader/skeleton-loader.module.d.ts +9 -0
  170. package/src/core/style/abstracts/AbstractsIntro.stories.mdx +7 -0
  171. package/src/core/style/abstracts/functions.scss +11 -11
  172. package/src/core/style/abstracts/mixins.scss +9 -6
  173. package/src/core/style/abstracts/variables.scss +38 -18
  174. package/src/core/style/base/BorderRadius.stories.mdx +59 -0
  175. package/src/core/style/base/Breakpoints.stories.mdx +36 -0
  176. package/src/core/style/base/Colors.stories.mdx +128 -0
  177. package/src/core/style/base/Shadows.stories.mdx +69 -0
  178. package/src/core/style/base/Spacing.stories.mdx +75 -0
  179. package/src/core/style/base/States.stories.mdx +62 -0
  180. package/src/core/style/base/Typography.stories.mdx +89 -0
  181. package/src/core/style/base/ZIndex.stories.mdx +47 -0
  182. package/src/core/style/base/base.scss +8 -10
  183. package/src/core/style/base/borderRadius.component.ts +27 -0
  184. package/src/core/style/base/breakpoints.component.ts +14 -0
  185. package/src/core/style/base/colors.component.ts +174 -0
  186. package/src/core/style/base/shadows.component.ts +90 -0
  187. package/src/core/style/base/spacing.component.ts +71 -0
  188. package/src/core/style/base/states.component.ts +84 -0
  189. package/src/core/style/base/typography.component.ts +94 -0
  190. package/src/core/style/base/typography.scss +54 -48
  191. package/src/core/style/base/zIndex.component.ts +25 -0
  192. package/src/core/style/components/file.scss +4 -4
  193. package/src/core/style/components/general.scss +5 -1
@@ -1445,6 +1445,7 @@ class PepSessionService {
1445
1445
  this.jwtHelper = jwtHelper;
1446
1446
  this.IDP_TOKEN_KEY = 'idp_token';
1447
1447
  this.PAPI_BASE_URL_KEY = 'pepperi.baseurl';
1448
+ // private readonly API_BASE_URL_KEY = 'pepperi.publicapibaseurl';
1448
1449
  // private readonly WAPI_TOKEN_KEY = 'auth_token';
1449
1450
  this.WAPI_BASE_URL_KEY = 'serverHostURL'; // pepperi.webapibaseurl
1450
1451
  }
@@ -1656,13 +1657,9 @@ class PepFileService {
1656
1657
  : filePath.lastIndexOf('.');
1657
1658
  return filePath.substr(filePath.lastIndexOf('/') + 1, lastIndex);
1658
1659
  }
1659
- getFileExtension(filePath) {
1660
- const fileSplit = filePath.split('.');
1661
- let fileExt = '';
1662
- if (fileSplit.length > 1) {
1663
- fileExt = fileSplit[fileSplit.length - 2];
1664
- }
1665
- return fileExt;
1660
+ getFileExtension(filename) {
1661
+ const extension = filename.substring(filename.lastIndexOf('.') + 1, filename.length);
1662
+ return extension;
1666
1663
  }
1667
1664
  /* Returns true if url is valid */
1668
1665
  isValidUrl(url) {
@@ -1675,21 +1672,62 @@ class PepFileService {
1675
1672
  return false;
1676
1673
  }
1677
1674
  }
1678
- convertFromb64toBlob(b64Data, contentType = '', sliceSize = 512) {
1679
- const byteCharacters = atob(b64Data);
1680
- const byteArrays = [];
1681
- for (let offset = 0; offset < byteCharacters.length; offset += sliceSize) {
1682
- const slice = byteCharacters.slice(offset, offset + sliceSize);
1683
- const byteNumbers = new Array(slice.length);
1684
- for (let i = 0; i < slice.length; i++) {
1685
- byteNumbers[i] = slice.charCodeAt(i);
1686
- }
1687
- const byteArray = new Uint8Array(byteNumbers);
1688
- byteArrays.push(byteArray);
1675
+ convertFromb64toArrayBuffer(base64String) {
1676
+ const base64 = base64String.slice(base64String.indexOf(',') + 1);
1677
+ const binary_string = window.atob(base64);
1678
+ const len = binary_string.length;
1679
+ const bytes = new Uint8Array(len);
1680
+ for (let i = 0; i < len; i++) {
1681
+ bytes[i] = binary_string.charCodeAt(i);
1689
1682
  }
1690
- const blob = new Blob(byteArrays, { type: contentType });
1683
+ return bytes.buffer;
1684
+ }
1685
+ convertFromb64toBlob(base64String) {
1686
+ // const byteCharacters = window.atob(b64Data);
1687
+ const byteArrays = this.convertFromb64toArrayBuffer(base64String);
1688
+ const fileStrArr = base64String.split(';');
1689
+ const contentType = fileStrArr[0].split(':')[1];
1690
+ const blob = new Blob([byteArrays], { type: contentType });
1691
1691
  return blob;
1692
1692
  }
1693
+ getBase64FileSize(base64String) {
1694
+ let fileSize;
1695
+ try {
1696
+ base64String = base64String.slice(base64String.indexOf(',') + 1);
1697
+ fileSize = window.atob(base64String).length;
1698
+ }
1699
+ catch (e) {
1700
+ fileSize = -1;
1701
+ }
1702
+ return fileSize; // return size in bytes;
1703
+ }
1704
+ fileToBase64(file) {
1705
+ return new Promise((resolve, reject) => {
1706
+ const reader = new FileReader();
1707
+ reader.readAsDataURL(file);
1708
+ reader.onload = () => resolve(reader.result);
1709
+ reader.onerror = (error) => reject(error);
1710
+ });
1711
+ }
1712
+ isValidFileExtension(fileExtension, acceptedExtensions) {
1713
+ const extensionOK = acceptedExtensions === '' ||
1714
+ acceptedExtensions.indexOf(fileExtension.toLowerCase()) !== -1;
1715
+ return extensionOK;
1716
+ }
1717
+ isValidFileSize(fileStr, sizeLimitMB = 5) {
1718
+ const file = fileStr;
1719
+ let fileSize = 0;
1720
+ // check if got file as Base64
1721
+ if (typeof fileStr === 'string' && fileStr.indexOf('data:') > -1) {
1722
+ fileSize = this.getBase64FileSize(fileStr);
1723
+ }
1724
+ else {
1725
+ fileSize = file.size;
1726
+ }
1727
+ // check the size
1728
+ const sizeOK = fileSize !== -1 && file != null && fileSize < sizeLimitMB * 1048576;
1729
+ return sizeOK;
1730
+ }
1693
1731
  getAssetsPath(assetsDomain = '', libName = 'ngx-lib') {
1694
1732
  const concatChar = assetsDomain === '' || assetsDomain.endsWith('/') ? '' : '/';
1695
1733
  return `${assetsDomain}${concatChar}assets/${libName}/`;
@@ -2032,11 +2070,11 @@ class PepCustomizationService {
2032
2070
  }
2033
2071
  getUserSecondaryColorsVariables(themeVars) {
2034
2072
  themeVars[PepCustomizationService.COLOR_USER_SECONDARY_KEY + '-h'] =
2035
- '77';
2073
+ '36';
2036
2074
  themeVars[PepCustomizationService.COLOR_USER_SECONDARY_KEY + '-s'] =
2037
- '87%';
2075
+ '100%';
2038
2076
  themeVars[PepCustomizationService.COLOR_USER_SECONDARY_KEY + '-l'] =
2039
- '42%';
2077
+ '50%';
2040
2078
  }
2041
2079
  getWeakColorsVariables(themeVars) {
2042
2080
  themeVars[PepCustomizationService.COLOR_WEAK_KEY + '-h'] =
@@ -2149,6 +2187,10 @@ class PepCustomizationService {
2149
2187
  themeVars[PepCustomizationService.COLOR_TOP_HEADER_KEY + '-s'] = '';
2150
2188
  themeVars[PepCustomizationService.COLOR_TOP_HEADER_KEY + '-l'] = '';
2151
2189
  }
2190
+ // getDefaultThemeBrandingCustomizationVariables(themeVars: any): void {
2191
+ // themeVars[PepCustomizationService.BRANDING_LOGO_SRC] = '/assets/images/Pepperi-Logo-HiRes.png';
2192
+ // themeVars[PepCustomizationService.FAV_ICON_SRC] = '/assets/favicon.ico';
2193
+ // }
2152
2194
  getDefaultThemeVariables() {
2153
2195
  const themeVars = {};
2154
2196
  // Declare default layout.
@@ -2175,6 +2217,8 @@ class PepCustomizationService {
2175
2217
  this.getDefaultThemeQSCustomizationVariables(themeVars);
2176
2218
  // Declare default top header customization.
2177
2219
  this.getDefaultThemeTopHeaderCustomizationVariables(themeVars);
2220
+ // // Declare default branding logo's customization
2221
+ // this.getDefaultThemeBrandingCustomizationVariables(themeVars);
2178
2222
  return themeVars;
2179
2223
  }
2180
2224
  getThemeVariables() {
@@ -2471,6 +2515,9 @@ PepCustomizationService.CARD_BORDER_RADIUS_KEY = '--pep-card-border-radius';
2471
2515
  PepCustomizationService.TABLE_FIELD_HEIGHT_KEY = '--pep-table-field-height';
2472
2516
  PepCustomizationService.TABLE_SPACEING_KEY = '--pep-table-spacing';
2473
2517
  PepCustomizationService.TABLE_BORDER_RADIUS_KEY = '--pep-table-border-radius';
2518
+ // // Branding keys
2519
+ // static BRANDING_LOGO_SRC = '--pep-branding-logo-src';
2520
+ // static FAV_ICON_SRC = '--pep-favicon-src';
2474
2521
  PepCustomizationService.DEFAULT_HEADER_HEIGHT = 64; // Default
2475
2522
  PepCustomizationService.DEFAULT_SPINNER_COLOR = '#78aa00';
2476
2523
  PepCustomizationService.DEFAULT_BRANDING_COLOR = '#fff';
@@ -3757,6 +3804,32 @@ class PepColorService {
3757
3804
  hsl.l +
3758
3805
  '%)');
3759
3806
  }
3807
+ lightOrDark(color) {
3808
+ let r = undefined;
3809
+ let g = undefined;
3810
+ let b = undefined;
3811
+ // Check the format of the color, HEX or RGB?
3812
+ if (color.match(/^rgb/)) {
3813
+ // If HEX --> store the red, green, blue values in separate variables
3814
+ color = color.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d+(?:\.\d+)?))?\)$/);
3815
+ r = color[1];
3816
+ g = color[2];
3817
+ b = color[3];
3818
+ }
3819
+ else {
3820
+ // If RGB --> Convert it to HEX: http://gist.github.com/983661
3821
+ color = +("0x" + color.slice(1).replace(color.length < 5 && /./g, '$&$&'));
3822
+ r = color >> 16;
3823
+ g = color >> 8 & 255;
3824
+ b = color & 255;
3825
+ }
3826
+ // HSP (Highly Sensitive Poo) equation from http://alienryderflex.com/hsp.html
3827
+ const hsp = Math.sqrt(0.299 * (r * r) +
3828
+ 0.587 * (g * g) +
3829
+ 0.114 * (b * b));
3830
+ // Using the HSP value, determine whether the color is light or dark
3831
+ return (hsp > 127.5) ? 'light' : 'dark';
3832
+ }
3760
3833
  }
3761
3834
  PepColorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepColorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3762
3835
  PepColorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepColorService, providedIn: 'root' });
@@ -4342,11 +4415,12 @@ class PepLinkField extends PepFieldBase {
4342
4415
  }
4343
4416
  update(options) {
4344
4417
  super.update(options);
4345
- // DI-11292 - add changes for link field for the "Read Only display value" prop
4346
- this.formattedValue =
4347
- this.disabled && this.formattedValue && this.value
4348
- ? this.formattedValue
4349
- : this.value;
4418
+ // DI-23167 - Comment this.
4419
+ // // DI-11292 - add changes for link field for the "Read Only display value" prop
4420
+ // this.formattedValue =
4421
+ // this.disabled && this.formattedValue && this.value
4422
+ // ? this.formattedValue
4423
+ // : this.value;
4350
4424
  }
4351
4425
  }
4352
4426
  class PepTextareaField extends PepFieldBase {