@contember/utilities 1.2.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/dist/development/assert-types/AssertionError.js +9 -0
  2. package/dist/development/assert-types/AssertionError.js.map +1 -0
  3. package/dist/development/assert-types/Predicates.js +84 -0
  4. package/dist/development/assert-types/Predicates.js.map +1 -0
  5. package/dist/development/assert-types/assert.js +10 -0
  6. package/dist/development/assert-types/assert.js.map +1 -0
  7. package/dist/development/class-name/Internal/deduplicateClassName.js +7 -0
  8. package/dist/development/class-name/Internal/deduplicateClassName.js.map +1 -0
  9. package/dist/development/class-name/Internal/flatClassNameList.js +15 -0
  10. package/dist/development/class-name/Internal/flatClassNameList.js.map +1 -0
  11. package/dist/development/class-name/classNameFor.js +18 -0
  12. package/dist/development/class-name/classNameFor.js.map +1 -0
  13. package/dist/development/class-name/listClassName.js +9 -0
  14. package/dist/development/class-name/listClassName.js.map +1 -0
  15. package/dist/development/class-name/stateClassName.js +14 -0
  16. package/dist/development/class-name/stateClassName.js.map +1 -0
  17. package/dist/development/css-utilities/px.js +7 -0
  18. package/dist/development/css-utilities/px.js.map +1 -0
  19. package/dist/development/dom/getMatchingParentElement.js +17 -0
  20. package/dist/development/dom/getMatchingParentElement.js.map +1 -0
  21. package/dist/development/dom/getSizeFromResizeObserverEntry.js +24 -0
  22. package/dist/development/dom/getSizeFromResizeObserverEntry.js.map +1 -0
  23. package/dist/development/dom/isScrollable.js +22 -0
  24. package/dist/development/dom/isScrollable.js.map +1 -0
  25. package/dist/development/dom/parseTransformMatrix.js +29 -0
  26. package/dist/development/dom/parseTransformMatrix.js.map +1 -0
  27. package/dist/development/dom/svgSizeProps.js +15 -0
  28. package/dist/development/dom/svgSizeProps.js.map +1 -0
  29. package/dist/development/functional/pick.js +15 -0
  30. package/dist/development/functional/pick.js.map +1 -0
  31. package/dist/development/functional/setHasOneOf.js +7 -0
  32. package/dist/development/functional/setHasOneOf.js.map +1 -0
  33. package/dist/development/index.js +54 -0
  34. package/dist/development/index.js.map +1 -0
  35. package/dist/development/string-utilities/capitalize.js +7 -0
  36. package/dist/development/string-utilities/capitalize.js.map +1 -0
  37. package/dist/development/string-utilities/trimString.js +8 -0
  38. package/dist/development/string-utilities/trimString.js.map +1 -0
  39. package/dist/production/assert-types/AssertionError.js +9 -0
  40. package/dist/production/assert-types/AssertionError.js.map +1 -0
  41. package/dist/production/assert-types/Predicates.js +84 -0
  42. package/dist/production/assert-types/Predicates.js.map +1 -0
  43. package/dist/production/assert-types/assert.js +10 -0
  44. package/dist/production/assert-types/assert.js.map +1 -0
  45. package/dist/production/class-name/Internal/deduplicateClassName.js +7 -0
  46. package/dist/production/class-name/Internal/deduplicateClassName.js.map +1 -0
  47. package/dist/production/class-name/Internal/flatClassNameList.js +15 -0
  48. package/dist/production/class-name/Internal/flatClassNameList.js.map +1 -0
  49. package/dist/production/class-name/classNameFor.js +18 -0
  50. package/dist/production/class-name/classNameFor.js.map +1 -0
  51. package/dist/production/class-name/listClassName.js +9 -0
  52. package/dist/production/class-name/listClassName.js.map +1 -0
  53. package/dist/production/class-name/stateClassName.js +14 -0
  54. package/dist/production/class-name/stateClassName.js.map +1 -0
  55. package/dist/production/css-utilities/px.js +7 -0
  56. package/dist/production/css-utilities/px.js.map +1 -0
  57. package/dist/production/dom/getMatchingParentElement.js +17 -0
  58. package/dist/production/dom/getMatchingParentElement.js.map +1 -0
  59. package/dist/production/dom/getSizeFromResizeObserverEntry.js +24 -0
  60. package/dist/production/dom/getSizeFromResizeObserverEntry.js.map +1 -0
  61. package/dist/production/dom/isScrollable.js +22 -0
  62. package/dist/production/dom/isScrollable.js.map +1 -0
  63. package/dist/production/dom/parseTransformMatrix.js +29 -0
  64. package/dist/production/dom/parseTransformMatrix.js.map +1 -0
  65. package/dist/production/dom/svgSizeProps.js +15 -0
  66. package/dist/production/dom/svgSizeProps.js.map +1 -0
  67. package/dist/production/functional/pick.js +15 -0
  68. package/dist/production/functional/pick.js.map +1 -0
  69. package/dist/production/functional/setHasOneOf.js +7 -0
  70. package/dist/production/functional/setHasOneOf.js.map +1 -0
  71. package/dist/production/index.js +54 -0
  72. package/dist/production/index.js.map +1 -0
  73. package/dist/production/string-utilities/capitalize.js +7 -0
  74. package/dist/production/string-utilities/capitalize.js.map +1 -0
  75. package/dist/production/string-utilities/trimString.js +8 -0
  76. package/dist/production/string-utilities/trimString.js.map +1 -0
  77. package/dist/types/assert-types/AssertionError.d.ts +4 -0
  78. package/dist/types/assert-types/AssertionError.d.ts.map +1 -0
  79. package/dist/types/assert-types/Predicates.d.ts +21 -0
  80. package/dist/types/assert-types/Predicates.d.ts.map +1 -0
  81. package/dist/types/assert-types/assert.d.ts +2 -0
  82. package/dist/types/assert-types/assert.d.ts.map +1 -0
  83. package/dist/types/assert-types/index.d.ts +4 -0
  84. package/dist/types/assert-types/index.d.ts.map +1 -0
  85. package/dist/types/class-name/Internal/deduplicateClassName.d.ts +2 -0
  86. package/dist/types/class-name/Internal/deduplicateClassName.d.ts.map +1 -0
  87. package/dist/types/class-name/Internal/flatClassNameList.d.ts +3 -0
  88. package/dist/types/class-name/Internal/flatClassNameList.d.ts.map +1 -0
  89. package/dist/types/class-name/Types.d.ts +5 -0
  90. package/dist/types/class-name/Types.d.ts.map +1 -0
  91. package/dist/types/class-name/classNameFor.d.ts +13 -0
  92. package/dist/types/class-name/classNameFor.d.ts.map +1 -0
  93. package/dist/types/class-name/index.d.ts +5 -0
  94. package/dist/types/class-name/index.d.ts.map +1 -0
  95. package/dist/types/class-name/listClassName.d.ts +8 -0
  96. package/dist/types/class-name/listClassName.d.ts.map +1 -0
  97. package/dist/types/class-name/stateClassName.d.ts +13 -0
  98. package/dist/types/class-name/stateClassName.d.ts.map +1 -0
  99. package/dist/types/css-utilities/index.d.ts +2 -0
  100. package/dist/types/css-utilities/index.d.ts.map +1 -0
  101. package/dist/types/css-utilities/px.d.ts +6 -0
  102. package/dist/types/css-utilities/px.d.ts.map +1 -0
  103. package/dist/types/dom/getMatchingParentElement.d.ts +2 -0
  104. package/dist/types/dom/getMatchingParentElement.d.ts.map +1 -0
  105. package/dist/types/dom/getSizeFromResizeObserverEntry.d.ts +5 -0
  106. package/dist/types/dom/getSizeFromResizeObserverEntry.d.ts.map +1 -0
  107. package/dist/types/dom/index.d.ts +6 -0
  108. package/dist/types/dom/index.d.ts.map +1 -0
  109. package/dist/types/dom/isScrollable.d.ts +7 -0
  110. package/dist/types/dom/isScrollable.d.ts.map +1 -0
  111. package/dist/types/dom/parseTransformMatrix.d.ts +15 -0
  112. package/dist/types/dom/parseTransformMatrix.d.ts.map +1 -0
  113. package/dist/types/dom/svgSizeProps.d.ts +7 -0
  114. package/dist/types/dom/svgSizeProps.d.ts.map +1 -0
  115. package/dist/types/functional/index.d.ts +3 -0
  116. package/dist/types/functional/index.d.ts.map +1 -0
  117. package/dist/types/functional/pick.d.ts +2 -0
  118. package/dist/types/functional/pick.d.ts.map +1 -0
  119. package/dist/types/functional/setHasOneOf.d.ts +2 -0
  120. package/dist/types/functional/setHasOneOf.d.ts.map +1 -0
  121. package/dist/types/index.d.ts +8 -0
  122. package/dist/types/index.d.ts.map +1 -0
  123. package/dist/types/string-utilities/capitalize.d.ts +2 -0
  124. package/dist/types/string-utilities/capitalize.d.ts.map +1 -0
  125. package/dist/types/string-utilities/index.d.ts +3 -0
  126. package/dist/types/string-utilities/index.d.ts.map +1 -0
  127. package/dist/types/string-utilities/trimString.d.ts +9 -0
  128. package/dist/types/string-utilities/trimString.d.ts.map +1 -0
  129. package/dist/types/tsconfig.tsbuildinfo +1 -0
  130. package/dist/types/typescript-utilities/DeepPartial.d.ts +4 -0
  131. package/dist/types/typescript-utilities/DeepPartial.d.ts.map +1 -0
  132. package/dist/types/typescript-utilities/NonNullableRequired.d.ts +4 -0
  133. package/dist/types/typescript-utilities/NonNullableRequired.d.ts.map +1 -0
  134. package/dist/types/typescript-utilities/ObjectKeyValue.d.ts +4 -0
  135. package/dist/types/typescript-utilities/ObjectKeyValue.d.ts.map +1 -0
  136. package/dist/types/typescript-utilities/PolymorphicRefs.d.ts +37 -0
  137. package/dist/types/typescript-utilities/PolymorphicRefs.d.ts.map +1 -0
  138. package/dist/types/typescript-utilities/Try.d.ts +2 -0
  139. package/dist/types/typescript-utilities/Try.d.ts.map +1 -0
  140. package/dist/types/typescript-utilities/index.d.ts +6 -0
  141. package/dist/types/typescript-utilities/index.d.ts.map +1 -0
  142. package/package.json +43 -0
  143. package/src/assert-types/AssertionError.ts +5 -0
  144. package/src/assert-types/Predicates.ts +61 -0
  145. package/src/assert-types/assert.ts +14 -0
  146. package/src/assert-types/index.ts +3 -0
  147. package/src/class-name/Internal/deduplicateClassName.ts +3 -0
  148. package/src/class-name/Internal/flatClassNameList.ts +13 -0
  149. package/src/class-name/Types.ts +2 -0
  150. package/src/class-name/classNameFor.ts +32 -0
  151. package/src/class-name/index.ts +4 -0
  152. package/src/class-name/listClassName.ts +12 -0
  153. package/src/class-name/stateClassName.ts +27 -0
  154. package/src/css-utilities/index.ts +1 -0
  155. package/src/css-utilities/px.ts +16 -0
  156. package/src/dom/getMatchingParentElement.ts +13 -0
  157. package/src/dom/getSizeFromResizeObserverEntry.ts +26 -0
  158. package/src/dom/index.ts +5 -0
  159. package/src/dom/isScrollable.ts +24 -0
  160. package/src/dom/parseTransformMatrix.ts +35 -0
  161. package/src/dom/svgSizeProps.ts +23 -0
  162. package/src/functional/index.ts +2 -0
  163. package/src/functional/pick.ts +13 -0
  164. package/src/functional/setHasOneOf.ts +3 -0
  165. package/src/index.ts +7 -0
  166. package/src/string-utilities/capitalize.ts +3 -0
  167. package/src/string-utilities/index.ts +2 -0
  168. package/src/string-utilities/trimString.ts +12 -0
  169. package/src/tsconfig.json +6 -0
  170. package/src/typescript-utilities/DeepPartial.ts +7 -0
  171. package/src/typescript-utilities/NonNullableRequired.ts +1 -0
  172. package/src/typescript-utilities/ObjectKeyValue.ts +1 -0
  173. package/src/typescript-utilities/PolymorphicRefs.ts +58 -0
  174. package/src/typescript-utilities/Try.ts +4 -0
  175. package/src/typescript-utilities/index.ts +5 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deduplicateClassName.js","sources":["../../../../src/class-name/Internal/deduplicateClassName.ts"],"sourcesContent":["export function deduplicateClassName(classNameArray: string[]): string[] {\n\treturn [...new Set(classNameArray)]\n}\n"],"names":[],"mappings":"AAAO,SAAS,qBAAqB,gBAAoC;AACxE,SAAO,CAAC,GAAG,IAAI,IAAI,cAAc,CAAC;AACnC;"}
@@ -0,0 +1,15 @@
1
+ function flatClassNameList(className) {
2
+ if (className == null) {
3
+ return [];
4
+ } else if (typeof className === "string") {
5
+ return className.split(" ").filter(Boolean);
6
+ } else if (Array.isArray(className)) {
7
+ return className.map(flatClassNameList).flat(1);
8
+ } else {
9
+ throw new Error(`Unexpected className: ${JSON.stringify(className)}`);
10
+ }
11
+ }
12
+ export {
13
+ flatClassNameList
14
+ };
15
+ //# sourceMappingURL=flatClassNameList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flatClassNameList.js","sources":["../../../../src/class-name/Internal/flatClassNameList.ts"],"sourcesContent":["import { NestedClassName } from '../Types'\n\nexport function flatClassNameList(className: NestedClassName): string[] {\n\tif (className == null) {\n\t\treturn []\n\t} else if (typeof className === 'string') {\n\t\treturn className.split(' ').filter(Boolean)\n\t} else if (Array.isArray(className)) {\n\t\treturn className.map(flatClassNameList).flat(1)\n\t} else {\n\t\tthrow new Error(`Unexpected className: ${JSON.stringify(className)}`)\n\t}\n}\n"],"names":[],"mappings":"AAEO,SAAS,kBAAkB,WAAsC;AACvE,MAAI,aAAa,MAAM;AACtB,WAAO;EAAC,WACE,OAAO,cAAc,UAAU;AACzC,WAAO,UAAU,MAAM,GAAG,EAAE,OAAO,OAAO;AAAA,EAChC,WAAA,MAAM,QAAQ,SAAS,GAAG;AACpC,WAAO,UAAU,IAAI,iBAAiB,EAAE,KAAK,CAAC;AAAA,EAAA,OACxC;AACN,UAAM,IAAI,MAAM,yBAAyB,KAAK,UAAU,SAAS,GAAG;AAAA,EACrE;AACD;"}
@@ -0,0 +1,18 @@
1
+ import { deduplicateClassName } from "./Internal/deduplicateClassName.js";
2
+ import { flatClassNameList } from "./Internal/flatClassNameList.js";
3
+ import { stateClassName } from "./stateClassName.js";
4
+ function classNameForFactory(componentClassName, className, state, glue = "-", stateGlue = "-") {
5
+ const classNameList = flatClassNameList(className);
6
+ const componentClassNameList = flatClassNameList(componentClassName);
7
+ return function classNameFor(suffix = null, additionalClassName = null) {
8
+ return deduplicateClassName((!suffix ? componentClassNameList.concat(classNameList) : suffix.match(/^\w/) ? componentClassNameList.map((componentClassName2) => `${componentClassName2}${glue}${suffix}`) : componentClassNameList.map((componentClassName2) => `${componentClassName2}${suffix}`)).concat(
9
+ stateClassName(state, stateGlue)
10
+ ).concat(
11
+ flatClassNameList(additionalClassName)
12
+ )).join(" ");
13
+ };
14
+ }
15
+ export {
16
+ classNameForFactory
17
+ };
18
+ //# sourceMappingURL=classNameFor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classNameFor.js","sources":["../../../src/class-name/classNameFor.ts"],"sourcesContent":["import { deduplicateClassName } from './Internal/deduplicateClassName'\nimport { flatClassNameList } from './Internal/flatClassNameList'\nimport { ClassNameStateMap, NestedClassName } from './Types'\nimport { stateClassName } from './stateClassName'\n\n/**\n * Creates a function that can be used to generate class names for a component\n *\n * @param componentClassName - Base class name for the component.\n * @param className - External class name passed to a component.\n * @param state - State map object similar to the one used by `stateClassName`.\n * @param glue - Glue to use between the component class name and the suffix, default is '-'. Set to '' to disable.\n * @param stateGlue - Glue to use between the state class name and the value, default is '-'. Set to '' to disable.\n * @returns Function that can be used to generate class names for a component and its sub-components.\n */\nexport function classNameForFactory(componentClassName: NestedClassName, className?: NestedClassName, state?: ClassNameStateMap, glue: string = '-', stateGlue: string = '-') {\n\tconst classNameList: string[] = flatClassNameList(className)\n\tconst componentClassNameList: string[] = flatClassNameList(componentClassName)\n\n\treturn function classNameFor(suffix: string | null | undefined = null, additionalClassName: NestedClassName = null) {\n\t\treturn deduplicateClassName((!suffix\n\t\t\t? componentClassNameList.concat(classNameList)\n\t\t\t: suffix.match(/^\\w/)\n\t\t\t\t? componentClassNameList.map(componentClassName => `${componentClassName}${glue}${suffix}`)\n\t\t\t\t: componentClassNameList.map(componentClassName => `${componentClassName}${suffix}`)\n\t\t).concat(\n\t\t\tstateClassName(state, stateGlue),\n\t\t).concat(\n\t\t\tflatClassNameList(additionalClassName),\n\t\t)).join(' ')\n\t}\n}\n"],"names":["componentClassName"],"mappings":";;;AAeO,SAAS,oBAAoB,oBAAqC,WAA6B,OAA2B,OAAe,KAAK,YAAoB,KAAK;AACvK,QAAA,gBAA0B,kBAAkB,SAAS;AACrD,QAAA,yBAAmC,kBAAkB,kBAAkB;AAE7E,SAAO,SAAS,aAAa,SAAoC,MAAM,sBAAuC,MAAM;AAC5G,WAAA,sBAAsB,CAAC,SAC3B,uBAAuB,OAAO,aAAa,IAC3C,OAAO,MAAM,KAAK,IACjB,uBAAuB,IAAI,CAAAA,wBAAsB,GAAGA,sBAAqB,OAAO,QAAQ,IACxF,uBAAuB,IAAI,CAAAA,wBAAsB,GAAGA,sBAAqB,QAAQ,GACnF;AAAA,MACD,eAAe,OAAO,SAAS;AAAA,IAAA,EAC9B;AAAA,MACD,kBAAkB,mBAAmB;AAAA,IAAA,CACrC,EAAE,KAAK,GAAG;AAAA,EAAA;AAEb;"}
@@ -0,0 +1,9 @@
1
+ import { deduplicateClassName } from "./Internal/deduplicateClassName.js";
2
+ import { flatClassNameList } from "./Internal/flatClassNameList.js";
3
+ function listClassName(list) {
4
+ return deduplicateClassName(flatClassNameList(list)).join(" ");
5
+ }
6
+ export {
7
+ listClassName
8
+ };
9
+ //# sourceMappingURL=listClassName.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listClassName.js","sources":["../../../src/class-name/listClassName.ts"],"sourcesContent":["import { deduplicateClassName } from './Internal/deduplicateClassName'\nimport { flatClassNameList } from './Internal/flatClassNameList'\n\n/**\n * Combines a list of class names into a single string, even nested\n *\n * @param list - List of class names\n * @returns Combined class names as string\n */\nexport function listClassName(list: (string | false | null | undefined)[]) {\n\treturn deduplicateClassName(flatClassNameList(list)).join(' ')\n}\n"],"names":[],"mappings":";;AASO,SAAS,cAAc,MAA6C;AAC1E,SAAO,qBAAqB,kBAAkB,IAAI,CAAC,EAAE,KAAK,GAAG;AAC9D;"}
@@ -0,0 +1,14 @@
1
+ const UPPER_CASE_REG_EXP = /([A-Z])/g;
2
+ function toKebabCase(value) {
3
+ return value.replace(UPPER_CASE_REG_EXP, "-$1").toLowerCase();
4
+ }
5
+ function stateClassName(state = null, glue = "-") {
6
+ const entries = Object.entries(state ?? []).map(
7
+ ([className, value]) => value || value === 0 ? value === true ? toKebabCase(className) : `${toKebabCase(className)}${glue}${value}` : ""
8
+ ).filter(Boolean);
9
+ return entries;
10
+ }
11
+ export {
12
+ stateClassName
13
+ };
14
+ //# sourceMappingURL=stateClassName.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stateClassName.js","sources":["../../../src/class-name/stateClassName.ts"],"sourcesContent":["import { ClassNameStateMap } from './Types'\n\nconst UPPER_CASE_REG_EXP = /([A-Z])/g\n\nfunction toKebabCase(value: string) {\n\treturn value.replace(UPPER_CASE_REG_EXP, '-$1').toLowerCase()\n}\n\n/**\n * Combines a state map of class names into a single string\n *\n * @example\n * stateClassName({ foo: true, bar: false, baz: 1 }) // => 'foo baz-1'\n *\n * @param state - State map object with class names as keys and literals as values.\n * @param glue - Glue to use between the class name and the value, default is '-'. Set to '' to disable.\n * @returns Combined class names as string\n */\nexport function stateClassName(state: ClassNameStateMap | null = null, glue = '-'): string[] {\n\tconst entries = Object.entries(state ?? []).map(\n\t\t([className, value]) => value || value === 0\n\t\t\t? (value === true ? toKebabCase(className) : `${toKebabCase(className)}${glue}${value}`)\n\t\t\t: '',\n\t).filter(Boolean)\n\n\treturn entries\n}\n"],"names":[],"mappings":"AAEA,MAAM,qBAAqB;AAE3B,SAAS,YAAY,OAAe;AACnC,SAAO,MAAM,QAAQ,oBAAoB,KAAK,EAAE,YAAY;AAC7D;AAYO,SAAS,eAAe,QAAkC,MAAM,OAAO,KAAe;AAC5F,QAAM,UAAU,OAAO,QAAQ,SAAS,CAAA,CAAE,EAAE;AAAA,IAC3C,CAAC,CAAC,WAAW,KAAK,MAAM,SAAS,UAAU,IACvC,UAAU,OAAO,YAAY,SAAS,IAAI,GAAG,YAAY,SAAS,IAAI,OAAO,UAC9E;AAAA,EAAA,EACF,OAAO,OAAO;AAET,SAAA;AACR;"}
@@ -0,0 +1,7 @@
1
+ function px(value) {
2
+ return typeof value === "number" && !isNaN(value) ? value + "px" : "";
3
+ }
4
+ export {
5
+ px
6
+ };
7
+ //# sourceMappingURL=px.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"px.js","sources":["../../../src/css-utilities/px.ts"],"sourcesContent":["export function px<V extends number>(value: V): `${V}px`;\nexport function px<V extends false>(value: V): '';\nexport function px<V extends null>(value: V): '';\nexport function px<V extends undefined>(value: V): '';\n// NOTE: Next overload fixes:\n// The call would have succeeded against this implementation, but implementation signatures of overloads are not externally visible.\nexport function px<V extends number | false | null | undefined>(value?: V): string;\n/**\n * Converts a value to a string in the format '10px'\n *\n * @param value - The value to convert to a string.\n * @returns Returns a string in the format '10px' or '' when value is falsy.\n */\nexport function px<V extends number | false | null | undefined>(value?: V): string {\n\treturn typeof value === 'number' && !isNaN(value) ? value + 'px' : ''\n}\n"],"names":[],"mappings":"AAaO,SAAS,GAAgD,OAAmB;AAC3E,SAAA,OAAO,UAAU,YAAY,CAAC,MAAM,KAAK,IAAI,QAAQ,OAAO;AACpE;"}
@@ -0,0 +1,17 @@
1
+ function getMatchingParentElement(element, predicate) {
2
+ if (!element || !element.parentElement) {
3
+ if (document.scrollingElement instanceof HTMLElement) {
4
+ return document.scrollingElement;
5
+ } else {
6
+ return document.body;
7
+ }
8
+ } else if (predicate(element.parentElement)) {
9
+ return element.parentElement;
10
+ } else {
11
+ return getMatchingParentElement(element.parentElement, predicate);
12
+ }
13
+ }
14
+ export {
15
+ getMatchingParentElement
16
+ };
17
+ //# sourceMappingURL=getMatchingParentElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getMatchingParentElement.js","sources":["../../../src/dom/getMatchingParentElement.ts"],"sourcesContent":["export function getMatchingParentElement(element: HTMLElement | null, predicate: (element: HTMLElement | null) => boolean | Promise<boolean>): HTMLElement {\n if (!element || !element.parentElement) {\n if (document.scrollingElement instanceof HTMLElement) {\n return document.scrollingElement\n } else {\n return document.body\n }\n } else if (predicate(element.parentElement)) {\n return element.parentElement\n } else {\n return getMatchingParentElement(element.parentElement, predicate)\n }\n}\n"],"names":[],"mappings":"AAAgB,SAAA,yBAAyB,SAA6B,WAAqF;AACzJ,MAAI,CAAC,WAAW,CAAC,QAAQ,eAAe;AAClC,QAAA,SAAS,4BAA4B,aAAa;AACpD,aAAO,SAAS;AAAA,IAAA,OACX;AACL,aAAO,SAAS;AAAA,IAClB;AAAA,EACS,WAAA,UAAU,QAAQ,aAAa,GAAG;AAC3C,WAAO,QAAQ;AAAA,EAAA,OACV;AACE,WAAA,yBAAyB,QAAQ,eAAe,SAAS;AAAA,EAClE;AACF;"}
@@ -0,0 +1,24 @@
1
+ function getSizeFromResizeObserverEntryFactory(box) {
2
+ return function getSizeFromResizeObserverEntry(entry) {
3
+ const boxSize = box === "border-box" ? entry.borderBoxSize : box === "content-box" ? entry.contentBoxSize : entry.devicePixelContentBoxSize;
4
+ if (boxSize) {
5
+ const formatBoxSize = Array.isArray(boxSize) ? boxSize : [boxSize];
6
+ return formatBoxSize.reduce(
7
+ (previous, { inlineSize, blockSize }) => ({
8
+ width: previous.width + inlineSize,
9
+ height: previous.height + blockSize
10
+ }),
11
+ { height: 0, width: 0 }
12
+ );
13
+ } else {
14
+ return {
15
+ width: entry.contentRect.width,
16
+ height: entry.contentRect.height
17
+ };
18
+ }
19
+ };
20
+ }
21
+ export {
22
+ getSizeFromResizeObserverEntryFactory
23
+ };
24
+ //# sourceMappingURL=getSizeFromResizeObserverEntry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getSizeFromResizeObserverEntry.js","sources":["../../../src/dom/getSizeFromResizeObserverEntry.ts"],"sourcesContent":["export function getSizeFromResizeObserverEntryFactory(box: ResizeObserverOptions['box']) {\n\treturn function getSizeFromResizeObserverEntry(entry: ResizeObserverEntry): { height: number, width: number } {\n\t\tconst boxSize = box === 'border-box'\n\t\t\t? entry.borderBoxSize\n\t\t\t: box === 'content-box'\n\t\t\t\t? entry.contentBoxSize\n\t\t\t\t: entry.devicePixelContentBoxSize\n\n\t\tif (boxSize) {\n\t\t\tconst formatBoxSize: ResizeObserverSize[] = Array.isArray(boxSize) ? boxSize : [boxSize]\n\n\t\t\treturn formatBoxSize.reduce(\n\t\t\t\t(previous, { inlineSize, blockSize }) => ({\n\t\t\t\t\twidth: previous.width + inlineSize,\n\t\t\t\t\theight: previous.height + blockSize,\n\t\t\t\t}),\n\t\t\t\t{ height: 0, width: 0 },\n\t\t\t)\n\t\t} else {\n\t\t\treturn {\n\t\t\t\twidth: entry.contentRect.width,\n\t\t\t\theight: entry.contentRect.height,\n\t\t\t}\n\t\t}\n\t}\n}\n"],"names":[],"mappings":"AAAO,SAAS,sCAAsC,KAAmC;AACjF,SAAA,SAAS,+BAA+B,OAA+D;AACvG,UAAA,UAAU,QAAQ,eACrB,MAAM,gBACN,QAAQ,gBACP,MAAM,iBACN,MAAM;AAEV,QAAI,SAAS;AACZ,YAAM,gBAAsC,MAAM,QAAQ,OAAO,IAAI,UAAU,CAAC,OAAO;AAEvF,aAAO,cAAc;AAAA,QACpB,CAAC,UAAU,EAAE,YAAY,iBAAiB;AAAA,UACzC,OAAO,SAAS,QAAQ;AAAA,UACxB,QAAQ,SAAS,SAAS;AAAA,QAAA;AAAA,QAE3B,EAAE,QAAQ,GAAG,OAAO,EAAE;AAAA,MAAA;AAAA,IACvB,OACM;AACC,aAAA;AAAA,QACN,OAAO,MAAM,YAAY;AAAA,QACzB,QAAQ,MAAM,YAAY;AAAA,MAAA;AAAA,IAE5B;AAAA,EAAA;AAEF;"}
@@ -0,0 +1,22 @@
1
+ function isScrollable(element) {
2
+ if (element === document.scrollingElement) {
3
+ return true;
4
+ } else if (element instanceof HTMLElement) {
5
+ const contentOverflows = element.scrollHeight > element.clientHeight || element.scrollWidth > element.clientWidth;
6
+ if (contentOverflows) {
7
+ if (getComputedStyle(element).overflow === "hidden") {
8
+ return false;
9
+ } else {
10
+ return contentOverflows;
11
+ }
12
+ } else {
13
+ return false;
14
+ }
15
+ } else {
16
+ return false;
17
+ }
18
+ }
19
+ export {
20
+ isScrollable
21
+ };
22
+ //# sourceMappingURL=isScrollable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isScrollable.js","sources":["../../../src/dom/isScrollable.ts"],"sourcesContent":["/**\n * Checks if an element is scrollable\n * @param element - Element to check\n * @returns Boolean indicating if the element is scrollable\n */\nexport function isScrollable(element: HTMLElement | null) {\n\tif (element === document.scrollingElement) {\n\t\treturn true\n\t} else if (element instanceof HTMLElement) {\n\t\tconst contentOverflows = element.scrollHeight > element.clientHeight || element.scrollWidth > element.clientWidth\n\n\t\tif (contentOverflows) {\n\t\t\tif ((getComputedStyle(element)).overflow === 'hidden') {\n\t\t\t\treturn false\n\t\t\t} else {\n\t\t\t\treturn contentOverflows\n\t\t\t}\n\t\t} else {\n\t\t\treturn false\n\t\t}\n\t} else {\n\t\treturn false\n\t}\n}\n"],"names":[],"mappings":"AAKO,SAAS,aAAa,SAA6B;AACrD,MAAA,YAAY,SAAS,kBAAkB;AACnC,WAAA;AAAA,EAAA,WACG,mBAAmB,aAAa;AAC1C,UAAM,mBAAmB,QAAQ,eAAe,QAAQ,gBAAgB,QAAQ,cAAc,QAAQ;AAEtG,QAAI,kBAAkB;AACrB,UAAK,iBAAiB,OAAO,EAAG,aAAa,UAAU;AAC/C,eAAA;AAAA,MAAA,OACD;AACC,eAAA;AAAA,MACR;AAAA,IAAA,OACM;AACC,aAAA;AAAA,IACR;AAAA,EAAA,OACM;AACC,WAAA;AAAA,EACR;AACD;"}
@@ -0,0 +1,29 @@
1
+ import { assert } from "../assert-types/assert.js";
2
+ import { isNumber } from "../assert-types/Predicates.js";
3
+ const MATRIX_REG_EXP = /^matrix\((.+)\)/;
4
+ function isTransformMatrixTuple(value) {
5
+ if (Array.isArray(value) && value.length === 6 && value.filter(isNumber).length === 6) {
6
+ return true;
7
+ } else {
8
+ return false;
9
+ }
10
+ }
11
+ function parseTransformMatrix(transform = "") {
12
+ let matches = null;
13
+ if (matches = transform.match(MATRIX_REG_EXP)) {
14
+ const vector = matches[1].split(",").map((value) => parseFloat(value));
15
+ assert("transform matrix is tuple of six numbers", vector, isTransformMatrixTuple);
16
+ return {
17
+ scaleX: vector[0],
18
+ skewY: vector[1],
19
+ skewX: vector[2],
20
+ scaleY: vector[3],
21
+ translateX: vector[4],
22
+ translateY: vector[5]
23
+ };
24
+ }
25
+ }
26
+ export {
27
+ parseTransformMatrix
28
+ };
29
+ //# sourceMappingURL=parseTransformMatrix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseTransformMatrix.js","sources":["../../../src/dom/parseTransformMatrix.ts"],"sourcesContent":["import { assert, isNumber } from '../assert-types'\n\nconst MATRIX_REG_EXP = /^matrix\\((.+)\\)/\n\nfunction isTransformMatrixTuple(value: unknown): value is [number, number, number, number, number, number] {\n\tif (Array.isArray(value) && value.length === 6 && value.filter(isNumber).length === 6) {\n\t\treturn true\n\t} else {\n\t\treturn false\n\t}\n}\n\n/**\n * Parses a CSS transform matrix string into an object.\n *\n * @param transform - CSS transform matrix string.\n * @returns Object with the transform matrix values or undefined.\n */\nexport function parseTransformMatrix(transform = '') {\n\tlet matches: RegExpMatchArray | null = null\n\n\tif (matches = transform.match(MATRIX_REG_EXP)) {\n\t\tconst vector = matches[1].split(',').map(value => parseFloat(value))\n\t\tassert('transform matrix is tuple of six numbers', vector, isTransformMatrixTuple)\n\n\t\treturn {\n\t\t\tscaleX: vector[0],\n\t\t\tskewY: vector[1],\n\t\t\tskewX: vector[2],\n\t\t\tscaleY: vector[3],\n\t\t\ttranslateX: vector[4],\n\t\t\ttranslateY: vector[5],\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;AAEA,MAAM,iBAAiB;AAEvB,SAAS,uBAAuB,OAA2E;AAC1G,MAAI,MAAM,QAAQ,KAAK,KAAK,MAAM,WAAW,KAAK,MAAM,OAAO,QAAQ,EAAE,WAAW,GAAG;AAC/E,WAAA;AAAA,EAAA,OACD;AACC,WAAA;AAAA,EACR;AACD;AAQgB,SAAA,qBAAqB,YAAY,IAAI;AACpD,MAAI,UAAmC;AAEvC,MAAI,UAAU,UAAU,MAAM,cAAc,GAAG;AACxC,UAAA,SAAS,QAAQ,CAAC,EAAE,MAAM,GAAG,EAAE,IAAI,CAAA,UAAS,WAAW,KAAK,CAAC;AAC5D,WAAA,4CAA4C,QAAQ,sBAAsB;AAE1E,WAAA;AAAA,MACN,QAAQ,OAAO,CAAC;AAAA,MAChB,OAAO,OAAO,CAAC;AAAA,MACf,OAAO,OAAO,CAAC;AAAA,MACf,QAAQ,OAAO,CAAC;AAAA,MAChB,YAAY,OAAO,CAAC;AAAA,MACpB,YAAY,OAAO,CAAC;AAAA,IAAA;AAAA,EAEtB;AACD;"}
@@ -0,0 +1,15 @@
1
+ function svgSizeProps(width, height, crop = 0) {
2
+ const viewBoxWidth = width - crop * 2;
3
+ const viewBoxHeight = (height ?? width) - crop * 2;
4
+ const viewBoxX = crop;
5
+ const viewBoxY = crop;
6
+ return {
7
+ width: viewBoxWidth,
8
+ height: viewBoxHeight,
9
+ viewBox: `${viewBoxX} ${viewBoxY} ${viewBoxWidth} ${viewBoxHeight}`
10
+ };
11
+ }
12
+ export {
13
+ svgSizeProps
14
+ };
15
+ //# sourceMappingURL=svgSizeProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svgSizeProps.js","sources":["../../../src/dom/svgSizeProps.ts"],"sourcesContent":["import { SVGProps } from 'react'\n\nexport interface SvgSizeProps {\n\twidth: number;\n\theight: number;\n\tviewBox: string;\n}\n\nexport function svgSizeProps(\n\twidth: number,\n\theight?: number,\n\tcrop: number = 0,\n): SvgSizeProps {\n\tconst viewBoxWidth = width - crop * 2\n\tconst viewBoxHeight = (height ?? width) - crop * 2\n\tconst viewBoxX = crop\n\tconst viewBoxY = crop\n\treturn {\n\t\twidth: viewBoxWidth,\n\t\theight: viewBoxHeight,\n\t\tviewBox: `${viewBoxX} ${viewBoxY} ${viewBoxWidth} ${viewBoxHeight}`,\n\t}\n}\n"],"names":[],"mappings":"AAQO,SAAS,aACf,OACA,QACA,OAAe,GACA;AACT,QAAA,eAAe,QAAQ,OAAO;AAC9B,QAAA,iBAAiB,UAAU,SAAS,OAAO;AACjD,QAAM,WAAW;AACjB,QAAM,WAAW;AACV,SAAA;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,SAAS,GAAG,YAAY,YAAY,gBAAgB;AAAA,EAAA;AAEtD;"}
@@ -0,0 +1,15 @@
1
+ function pick(object, properties) {
2
+ const next = {};
3
+ for (let key of properties) {
4
+ if (key in object) {
5
+ next[key] = object[key];
6
+ } else {
7
+ throw new Error(`Key "${String(key)}" does not exist in object ${JSON.stringify(object)}`);
8
+ }
9
+ }
10
+ return next;
11
+ }
12
+ export {
13
+ pick
14
+ };
15
+ //# sourceMappingURL=pick.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pick.js","sources":["../../../src/functional/pick.ts"],"sourcesContent":["export function pick<T extends Object, K extends keyof T>(object: T, properties: K[]): Pick<T, K> {\n\tconst next: Partial<Pick<T, K>> = {}\n\n\tfor (let key of properties) {\n\t\tif (key in object) {\n\t\t\tnext[key] = object[key]\n\t\t} else {\n\t\t\tthrow new Error(`Key \"${String(key)}\" does not exist in object ${JSON.stringify(object)}`)\n\t\t}\n\t}\n\n\treturn next as Pick<T, K>\n}\n"],"names":[],"mappings":"AAAgB,SAAA,KAA0C,QAAW,YAA6B;AACjG,QAAM,OAA4B,CAAA;AAElC,WAAS,OAAO,YAAY;AAC3B,QAAI,OAAO,QAAQ;AACb,WAAA,GAAG,IAAI,OAAO,GAAG;AAAA,IAAA,OAChB;AACA,YAAA,IAAI,MAAM,QAAQ,OAAO,GAAG,+BAA+B,KAAK,UAAU,MAAM,GAAG;AAAA,IAC1F;AAAA,EACD;AAEO,SAAA;AACR;"}
@@ -0,0 +1,7 @@
1
+ function setHasOneOf(set, values) {
2
+ return values.some((value) => set.has(value));
3
+ }
4
+ export {
5
+ setHasOneOf
6
+ };
7
+ //# sourceMappingURL=setHasOneOf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setHasOneOf.js","sources":["../../../src/functional/setHasOneOf.ts"],"sourcesContent":["export function setHasOneOf<T>(set: Set<T>, values: T[]): boolean {\n return values.some(value => set.has(value))\n}\n"],"names":[],"mappings":"AAAgB,SAAA,YAAe,KAAa,QAAsB;AAChE,SAAO,OAAO,KAAK,CAAA,UAAS,IAAI,IAAI,KAAK,CAAC;AAC5C;"}
@@ -0,0 +1,54 @@
1
+ import { AssertionError } from "./assert-types/AssertionError.js";
2
+ import { isBoolean, isDefined, isFalse, isHTMLElement, isNonEmptyString, isNonEmptyTrimmedEndString, isNonEmptyTrimmedStartString, isNonEmptyTrimmedString, isNonNegativeNumber, isNotNull, isNotNullish, isNull, isNumber, isNumericString, isObject, isOneOfFactory, isPlainObject, isString, isTrue, isUndefined } from "./assert-types/Predicates.js";
3
+ import { assert } from "./assert-types/assert.js";
4
+ import { classNameForFactory } from "./class-name/classNameFor.js";
5
+ import { listClassName } from "./class-name/listClassName.js";
6
+ import { stateClassName } from "./class-name/stateClassName.js";
7
+ import { px } from "./css-utilities/px.js";
8
+ import { getMatchingParentElement } from "./dom/getMatchingParentElement.js";
9
+ import { getSizeFromResizeObserverEntryFactory } from "./dom/getSizeFromResizeObserverEntry.js";
10
+ import { isScrollable } from "./dom/isScrollable.js";
11
+ import { parseTransformMatrix } from "./dom/parseTransformMatrix.js";
12
+ import { svgSizeProps } from "./dom/svgSizeProps.js";
13
+ import { pick } from "./functional/pick.js";
14
+ import { setHasOneOf } from "./functional/setHasOneOf.js";
15
+ import { capitalize } from "./string-utilities/capitalize.js";
16
+ import { trimString } from "./string-utilities/trimString.js";
17
+ export {
18
+ AssertionError,
19
+ assert,
20
+ capitalize,
21
+ classNameForFactory,
22
+ getMatchingParentElement,
23
+ getSizeFromResizeObserverEntryFactory,
24
+ isBoolean,
25
+ isDefined,
26
+ isFalse,
27
+ isHTMLElement,
28
+ isNonEmptyString,
29
+ isNonEmptyTrimmedEndString,
30
+ isNonEmptyTrimmedStartString,
31
+ isNonEmptyTrimmedString,
32
+ isNonNegativeNumber,
33
+ isNotNull,
34
+ isNotNullish,
35
+ isNull,
36
+ isNumber,
37
+ isNumericString,
38
+ isObject,
39
+ isOneOfFactory,
40
+ isPlainObject,
41
+ isScrollable,
42
+ isString,
43
+ isTrue,
44
+ isUndefined,
45
+ listClassName,
46
+ parseTransformMatrix,
47
+ pick,
48
+ px,
49
+ setHasOneOf,
50
+ stateClassName,
51
+ svgSizeProps,
52
+ trimString
53
+ };
54
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
@@ -0,0 +1,7 @@
1
+ function capitalize(str) {
2
+ return str.charAt(0).toUpperCase() + str.slice(1);
3
+ }
4
+ export {
5
+ capitalize
6
+ };
7
+ //# sourceMappingURL=capitalize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capitalize.js","sources":["../../../src/string-utilities/capitalize.ts"],"sourcesContent":["export function capitalize(str: string) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n"],"names":[],"mappings":"AAAO,SAAS,WAAW,KAAa;AAC/B,SAAA,IAAI,OAAO,CAAC,EAAE,gBAAgB,IAAI,MAAM,CAAC;AAClD;"}
@@ -0,0 +1,8 @@
1
+ function trimString(value, characters) {
2
+ const regExp = new RegExp(`^[${characters}]*|[${characters}]*$`, "g");
3
+ return value.replace(regExp, "");
4
+ }
5
+ export {
6
+ trimString
7
+ };
8
+ //# sourceMappingURL=trimString.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trimString.js","sources":["../../../src/string-utilities/trimString.ts"],"sourcesContent":["/**\n * Trims the provided string of any characters in the provided set.\n *\n * @param value - The string to trim.\n * @param characters - The characters to remove.\n * @returns\tThe trimmed string.\n */\nexport function trimString(value: string, characters: string) {\n\tconst regExp = new RegExp(`^[${characters}]*|[${characters}]*$`, 'g')\n\n\treturn value.replace(regExp, '')\n}\n"],"names":[],"mappings":"AAOgB,SAAA,WAAW,OAAe,YAAoB;AAC7D,QAAM,SAAS,IAAI,OAAO,KAAK,iBAAiB,iBAAiB,GAAG;AAE7D,SAAA,MAAM,QAAQ,QAAQ,EAAE;AAChC;"}
@@ -0,0 +1,4 @@
1
+ export declare class AssertionError extends Error {
2
+ constructor(value: unknown, that?: string);
3
+ }
4
+ //# sourceMappingURL=AssertionError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssertionError.d.ts","sourceRoot":"","sources":["../../../src/assert-types/AssertionError.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAe,SAAQ,KAAK;gBAC5B,KAAK,EAAE,OAAO,EAAE,IAAI,GAAE,MAAkC;CAGpE"}
@@ -0,0 +1,21 @@
1
+ export declare function isNull(value: unknown): value is null;
2
+ export declare function isNotNull<T>(value: unknown): value is T;
3
+ export declare function isUndefined(value: unknown): value is undefined;
4
+ export declare function isDefined<T>(value: unknown): value is T;
5
+ export declare function isNotNullish<T>(value: T): value is Exclude<T, null | undefined>;
6
+ export declare function isBoolean(value: unknown): value is boolean;
7
+ export declare function isTrue(value: unknown): value is true;
8
+ export declare function isFalse(value: unknown): value is false;
9
+ export declare function isString(value: unknown): value is string;
10
+ export declare function isNonEmptyString(value: unknown): value is string;
11
+ export declare const isNonEmptyTrimmedString: (value: unknown) => value is string;
12
+ export declare const isNonEmptyTrimmedStartString: (value: unknown) => value is string;
13
+ export declare const isNonEmptyTrimmedEndString: (value: unknown) => value is string;
14
+ export declare function isNumber(value: unknown): value is number;
15
+ export declare function isNonNegativeNumber(value: unknown): value is number;
16
+ export declare function isNumericString(value: string): value is string;
17
+ export declare function isOneOfFactory<U, T = any>(options: T extends Array<U> | ReadonlyArray<U> ? T : never): (value: unknown) => value is U;
18
+ export declare function isHTMLElement(value: unknown): value is HTMLElement;
19
+ export declare function isObject(value: unknown): value is Object;
20
+ export declare function isPlainObject<T extends Record<string, unknown>>(value: unknown): value is T;
21
+ //# sourceMappingURL=Predicates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Predicates.d.ts","sourceRoot":"","sources":["../../../src/assert-types/Predicates.ts"],"names":[],"mappings":"AAAA,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,IAAI,CAEpD;AACD,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,CAAC,CAEvD;AACD,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAE9D;AACD,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,CAAC,CAEvD;AACD,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,IAAI,OAAO,CAAC,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC,CAE/E;AACD,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,CAE1D;AACD,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,IAAI,CAEpD;AACD,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,KAAK,CAEtD;AACD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AACD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAEhE;AAMD,eAAO,MAAM,uBAAuB,UAJM,OAAO,oBAIsB,CAAA;AACvE,eAAO,MAAM,4BAA4B,UALC,OAAO,oBAKsC,CAAA;AACvF,eAAO,MAAM,0BAA0B,UANG,OAAO,oBAMkC,CAAA;AACnF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AACD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAEnE;AACD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,MAAM,CAE9D;AACD,wBAAgB,cAAc,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,CAAC,CAIrI;AACD,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAElE;AACD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AACD,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,CAAC,CAE3F"}
@@ -0,0 +1,2 @@
1
+ export declare function assert<In, Out extends In>(that: string | undefined, value: In, predicate: (value: In) => value is Out): asserts value is Out;
2
+ //# sourceMappingURL=assert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assert.d.ts","sourceRoot":"","sources":["../../../src/assert-types/assert.ts"],"names":[],"mappings":"AAEA,wBAAgB,MAAM,CACrB,EAAE,EACF,GAAG,SAAS,EAAE,EAEd,IAAI,oBAAgC,EACpC,KAAK,EAAE,EAAE,EACT,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,KAAK,IAAI,GAAG,GACpC,OAAO,CAAC,KAAK,IAAI,GAAG,CAItB"}
@@ -0,0 +1,4 @@
1
+ export * from './AssertionError';
2
+ export * from './Predicates';
3
+ export * from './assert';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/assert-types/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare function deduplicateClassName(classNameArray: string[]): string[];
2
+ //# sourceMappingURL=deduplicateClassName.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deduplicateClassName.d.ts","sourceRoot":"","sources":["../../../../src/class-name/Internal/deduplicateClassName.ts"],"names":[],"mappings":"AAAA,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAEvE"}
@@ -0,0 +1,3 @@
1
+ import { NestedClassName } from '../Types';
2
+ export declare function flatClassNameList(className: NestedClassName): string[];
3
+ //# sourceMappingURL=flatClassNameList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flatClassNameList.d.ts","sourceRoot":"","sources":["../../../../src/class-name/Internal/flatClassNameList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE1C,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM,EAAE,CAUtE"}
@@ -0,0 +1,5 @@
1
+ export type NestedClassName = string | false | null | undefined | (string | false | null | undefined)[] | NestedClassName[];
2
+ export type ClassNameStateMap = {
3
+ [key: string]: string | number | boolean | null | undefined;
4
+ };
5
+ //# sourceMappingURL=Types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Types.d.ts","sourceRoot":"","sources":["../../../src/class-name/Types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,SAAS,GAAG,CAAC,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,GAAG,eAAe,EAAE,CAAA;AAC3H,MAAM,MAAM,iBAAiB,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAA;CAAE,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { ClassNameStateMap, NestedClassName } from './Types';
2
+ /**
3
+ * Creates a function that can be used to generate class names for a component
4
+ *
5
+ * @param componentClassName - Base class name for the component.
6
+ * @param className - External class name passed to a component.
7
+ * @param state - State map object similar to the one used by `stateClassName`.
8
+ * @param glue - Glue to use between the component class name and the suffix, default is '-'. Set to '' to disable.
9
+ * @param stateGlue - Glue to use between the state class name and the value, default is '-'. Set to '' to disable.
10
+ * @returns Function that can be used to generate class names for a component and its sub-components.
11
+ */
12
+ export declare function classNameForFactory(componentClassName: NestedClassName, className?: NestedClassName, state?: ClassNameStateMap, glue?: string, stateGlue?: string): (suffix?: string | null | undefined, additionalClassName?: NestedClassName) => string;
13
+ //# sourceMappingURL=classNameFor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classNameFor.d.ts","sourceRoot":"","sources":["../../../src/class-name/classNameFor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAG5D;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,kBAAkB,EAAE,eAAe,EAAE,SAAS,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,EAAE,iBAAiB,EAAE,IAAI,GAAE,MAAY,EAAE,SAAS,GAAE,MAAY,aAItI,MAAM,GAAG,IAAI,GAAG,SAAS,wBAA8B,eAAe,YAY3G"}
@@ -0,0 +1,5 @@
1
+ export * from './Types';
2
+ export * from './classNameFor';
3
+ export * from './listClassName';
4
+ export * from './stateClassName';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/class-name/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Combines a list of class names into a single string, even nested
3
+ *
4
+ * @param list - List of class names
5
+ * @returns Combined class names as string
6
+ */
7
+ export declare function listClassName(list: (string | false | null | undefined)[]): string;
8
+ //# sourceMappingURL=listClassName.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listClassName.d.ts","sourceRoot":"","sources":["../../../src/class-name/listClassName.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,UAExE"}
@@ -0,0 +1,13 @@
1
+ import { ClassNameStateMap } from './Types';
2
+ /**
3
+ * Combines a state map of class names into a single string
4
+ *
5
+ * @example
6
+ * stateClassName({ foo: true, bar: false, baz: 1 }) // => 'foo baz-1'
7
+ *
8
+ * @param state - State map object with class names as keys and literals as values.
9
+ * @param glue - Glue to use between the class name and the value, default is '-'. Set to '' to disable.
10
+ * @returns Combined class names as string
11
+ */
12
+ export declare function stateClassName(state?: ClassNameStateMap | null, glue?: string): string[];
13
+ //# sourceMappingURL=stateClassName.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stateClassName.d.ts","sourceRoot":"","sources":["../../../src/class-name/stateClassName.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAQ3C;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,KAAK,GAAE,iBAAiB,GAAG,IAAW,EAAE,IAAI,SAAM,GAAG,MAAM,EAAE,CAQ3F"}
@@ -0,0 +1,2 @@
1
+ export * from './px';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/css-utilities/index.ts"],"names":[],"mappings":"AAAA,cAAc,MAAM,CAAA"}
@@ -0,0 +1,6 @@
1
+ export declare function px<V extends number>(value: V): `${V}px`;
2
+ export declare function px<V extends false>(value: V): '';
3
+ export declare function px<V extends null>(value: V): '';
4
+ export declare function px<V extends undefined>(value: V): '';
5
+ export declare function px<V extends number | false | null | undefined>(value?: V): string;
6
+ //# sourceMappingURL=px.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"px.d.ts","sourceRoot":"","sources":["../../../src/css-utilities/px.ts"],"names":[],"mappings":"AAAA,wBAAgB,EAAE,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;AACzD,wBAAgB,EAAE,CAAC,CAAC,SAAS,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC;AAClD,wBAAgB,EAAE,CAAC,CAAC,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC;AACjD,wBAAgB,EAAE,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC;AAGtD,wBAAgB,EAAE,CAAC,CAAC,SAAS,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function getMatchingParentElement(element: HTMLElement | null, predicate: (element: HTMLElement | null) => boolean | Promise<boolean>): HTMLElement;
2
+ //# sourceMappingURL=getMatchingParentElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getMatchingParentElement.d.ts","sourceRoot":"","sources":["../../../src/dom/getMatchingParentElement.ts"],"names":[],"mappings":"AAAA,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,WAAW,CAYzJ"}
@@ -0,0 +1,5 @@
1
+ export declare function getSizeFromResizeObserverEntryFactory(box: ResizeObserverOptions['box']): (entry: ResizeObserverEntry) => {
2
+ height: number;
3
+ width: number;
4
+ };
5
+ //# sourceMappingURL=getSizeFromResizeObserverEntry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getSizeFromResizeObserverEntry.d.ts","sourceRoot":"","sources":["../../../src/dom/getSizeFromResizeObserverEntry.ts"],"names":[],"mappings":"AAAA,wBAAgB,qCAAqC,CAAC,GAAG,EAAE,qBAAqB,CAAC,KAAK,CAAC,WAChC,mBAAmB,KAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAwB7G"}
@@ -0,0 +1,6 @@
1
+ export * from './getMatchingParentElement';
2
+ export * from './getSizeFromResizeObserverEntry';
3
+ export * from './isScrollable';
4
+ export * from './parseTransformMatrix';
5
+ export * from './svgSizeProps';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dom/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAA;AAC1C,cAAc,kCAAkC,CAAA;AAChD,cAAc,gBAAgB,CAAA;AAC9B,cAAc,wBAAwB,CAAA;AACtC,cAAc,gBAAgB,CAAA"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Checks if an element is scrollable
3
+ * @param element - Element to check
4
+ * @returns Boolean indicating if the element is scrollable
5
+ */
6
+ export declare function isScrollable(element: HTMLElement | null): boolean;
7
+ //# sourceMappingURL=isScrollable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isScrollable.d.ts","sourceRoot":"","sources":["../../../src/dom/isScrollable.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,WAkBvD"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Parses a CSS transform matrix string into an object.
3
+ *
4
+ * @param transform - CSS transform matrix string.
5
+ * @returns Object with the transform matrix values or undefined.
6
+ */
7
+ export declare function parseTransformMatrix(transform?: string): {
8
+ scaleX: number;
9
+ skewY: number;
10
+ skewX: number;
11
+ scaleY: number;
12
+ translateX: number;
13
+ translateY: number;
14
+ } | undefined;
15
+ //# sourceMappingURL=parseTransformMatrix.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseTransformMatrix.d.ts","sourceRoot":"","sources":["../../../src/dom/parseTransformMatrix.ts"],"names":[],"mappings":"AAYA;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,SAAK;;;;;;;cAgBlD"}
@@ -0,0 +1,7 @@
1
+ export interface SvgSizeProps {
2
+ width: number;
3
+ height: number;
4
+ viewBox: string;
5
+ }
6
+ export declare function svgSizeProps(width: number, height?: number, crop?: number): SvgSizeProps;
7
+ //# sourceMappingURL=svgSizeProps.d.ts.map