css-calipers 0.14.0 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (291) hide show
  1. package/README.md +21 -25
  2. package/dist/cjs/factory.js +0 -3
  3. package/dist/esm/factory.d.ts +0 -2
  4. package/dist/esm/factory.d.ts.map +1 -1
  5. package/dist/esm/factory.js +0 -3
  6. package/package.json +5 -18
  7. package/RELEASING.md +0 -62
  8. package/dist/cjs/comparisons/index.js +0 -25
  9. package/dist/cjs/containerQueries/containerQueries.js +0 -115
  10. package/dist/cjs/containerQueries/factory.js +0 -123
  11. package/dist/cjs/containerQueries/helpers.js +0 -95
  12. package/dist/cjs/containerQueries/index.js +0 -16
  13. package/dist/cjs/containerQueries/linting/aspectRatio.js +0 -24
  14. package/dist/cjs/containerQueries/linting/block.js +0 -23
  15. package/dist/cjs/containerQueries/linting/core.js +0 -25
  16. package/dist/cjs/containerQueries/linting/custom.js +0 -11
  17. package/dist/cjs/containerQueries/linting/inline.js +0 -23
  18. package/dist/cjs/containerQueries/linting/resolution.js +0 -12
  19. package/dist/cjs/containerQueries/linting/style.js +0 -28
  20. package/dist/cjs/containerQueries/linting.js +0 -24
  21. package/dist/cjs/containerQueries/moduleRegistry.js +0 -5
  22. package/dist/cjs/containerQueries/modules/aspectRatio.js +0 -51
  23. package/dist/cjs/containerQueries/modules/block.js +0 -53
  24. package/dist/cjs/containerQueries/modules/custom.js +0 -43
  25. package/dist/cjs/containerQueries/modules/index.js +0 -21
  26. package/dist/cjs/containerQueries/modules/inline.js +0 -53
  27. package/dist/cjs/containerQueries/modules/size.js +0 -2
  28. package/dist/cjs/containerQueries/modules/style.js +0 -36
  29. package/dist/cjs/containerQueries/types.js +0 -2
  30. package/dist/cjs/containerQueries/validation.js +0 -191
  31. package/dist/cjs/fraction.js +0 -139
  32. package/dist/cjs/internal/createComponentQueriesApi.js +0 -56
  33. package/dist/cjs/internal/createMediaQueriesApi.js +0 -73
  34. package/dist/cjs/internal/normalizeToArray.js +0 -9
  35. package/dist/cjs/libraryHelpers/vanilla-extract.js +0 -11
  36. package/dist/cjs/logicalOperators/index.js +0 -18
  37. package/dist/cjs/mediaQueries/factory.js +0 -187
  38. package/dist/cjs/mediaQueries/helpers.js +0 -97
  39. package/dist/cjs/mediaQueries/index.js +0 -23
  40. package/dist/cjs/mediaQueries/libraryHelpers/vanilla-extract.js +0 -77
  41. package/dist/cjs/mediaQueries/linting/core.js +0 -19
  42. package/dist/cjs/mediaQueries/linting/resolution.js +0 -11
  43. package/dist/cjs/mediaQueries/linting.js +0 -24
  44. package/dist/cjs/mediaQueries/mediaQueries.js +0 -53
  45. package/dist/cjs/mediaQueries/mediaQueryFactory.js +0 -120
  46. package/dist/cjs/mediaQueries/moduleRegistry.js +0 -5
  47. package/dist/cjs/mediaQueries/modules/custom.js +0 -26
  48. package/dist/cjs/mediaQueries/modules/dimensions.js +0 -61
  49. package/dist/cjs/mediaQueries/modules/display.js +0 -20
  50. package/dist/cjs/mediaQueries/modules/environment.js +0 -20
  51. package/dist/cjs/mediaQueries/modules/index.js +0 -23
  52. package/dist/cjs/mediaQueries/modules/interaction.js +0 -26
  53. package/dist/cjs/mediaQueries/modules/preferences.js +0 -26
  54. package/dist/cjs/mediaQueries/modules/resolution.js +0 -31
  55. package/dist/cjs/mediaQueries/types.js +0 -2
  56. package/dist/cjs/mediaQueries/validation.js +0 -134
  57. package/dist/cjs/sciNotation.js +0 -74
  58. package/dist/cjs/types.js +0 -2
  59. package/dist/cjs/validation.js +0 -20
  60. package/dist/esm/comparisons/index.d.ts +0 -23
  61. package/dist/esm/comparisons/index.d.ts.map +0 -1
  62. package/dist/esm/comparisons/index.js +0 -22
  63. package/dist/esm/containerQueries/containerQueries.d.ts +0 -36
  64. package/dist/esm/containerQueries/containerQueries.d.ts.map +0 -1
  65. package/dist/esm/containerQueries/containerQueries.js +0 -109
  66. package/dist/esm/containerQueries/factory.d.ts +0 -20
  67. package/dist/esm/containerQueries/factory.d.ts.map +0 -1
  68. package/dist/esm/containerQueries/factory.js +0 -119
  69. package/dist/esm/containerQueries/helpers.d.ts +0 -53
  70. package/dist/esm/containerQueries/helpers.d.ts.map +0 -1
  71. package/dist/esm/containerQueries/helpers.js +0 -82
  72. package/dist/esm/containerQueries/index.d.ts +0 -10
  73. package/dist/esm/containerQueries/index.d.ts.map +0 -1
  74. package/dist/esm/containerQueries/index.js +0 -4
  75. package/dist/esm/containerQueries/linting/aspectRatio.d.ts +0 -4
  76. package/dist/esm/containerQueries/linting/aspectRatio.d.ts.map +0 -1
  77. package/dist/esm/containerQueries/linting/aspectRatio.js +0 -19
  78. package/dist/esm/containerQueries/linting/block.d.ts +0 -4
  79. package/dist/esm/containerQueries/linting/block.d.ts.map +0 -1
  80. package/dist/esm/containerQueries/linting/block.js +0 -18
  81. package/dist/esm/containerQueries/linting/core.d.ts +0 -4
  82. package/dist/esm/containerQueries/linting/core.d.ts.map +0 -1
  83. package/dist/esm/containerQueries/linting/core.js +0 -20
  84. package/dist/esm/containerQueries/linting/custom.d.ts +0 -3
  85. package/dist/esm/containerQueries/linting/custom.d.ts.map +0 -1
  86. package/dist/esm/containerQueries/linting/custom.js +0 -7
  87. package/dist/esm/containerQueries/linting/inline.d.ts +0 -4
  88. package/dist/esm/containerQueries/linting/inline.d.ts.map +0 -1
  89. package/dist/esm/containerQueries/linting/inline.js +0 -18
  90. package/dist/esm/containerQueries/linting/resolution.d.ts +0 -1
  91. package/dist/esm/containerQueries/linting/resolution.d.ts.map +0 -1
  92. package/dist/esm/containerQueries/linting/resolution.js +0 -12
  93. package/dist/esm/containerQueries/linting/style.d.ts +0 -3
  94. package/dist/esm/containerQueries/linting/style.d.ts.map +0 -1
  95. package/dist/esm/containerQueries/linting/style.js +0 -24
  96. package/dist/esm/containerQueries/linting.d.ts +0 -4
  97. package/dist/esm/containerQueries/linting.d.ts.map +0 -1
  98. package/dist/esm/containerQueries/linting.js +0 -20
  99. package/dist/esm/containerQueries/moduleRegistry.d.ts +0 -25
  100. package/dist/esm/containerQueries/moduleRegistry.d.ts.map +0 -1
  101. package/dist/esm/containerQueries/moduleRegistry.js +0 -1
  102. package/dist/esm/containerQueries/modules/aspectRatio.d.ts +0 -17
  103. package/dist/esm/containerQueries/modules/aspectRatio.d.ts.map +0 -1
  104. package/dist/esm/containerQueries/modules/aspectRatio.js +0 -47
  105. package/dist/esm/containerQueries/modules/block.d.ts +0 -20
  106. package/dist/esm/containerQueries/modules/block.d.ts.map +0 -1
  107. package/dist/esm/containerQueries/modules/block.js +0 -49
  108. package/dist/esm/containerQueries/modules/custom.d.ts +0 -13
  109. package/dist/esm/containerQueries/modules/custom.d.ts.map +0 -1
  110. package/dist/esm/containerQueries/modules/custom.js +0 -39
  111. package/dist/esm/containerQueries/modules/index.d.ts +0 -6
  112. package/dist/esm/containerQueries/modules/index.d.ts.map +0 -1
  113. package/dist/esm/containerQueries/modules/index.js +0 -5
  114. package/dist/esm/containerQueries/modules/inline.d.ts +0 -20
  115. package/dist/esm/containerQueries/modules/inline.d.ts.map +0 -1
  116. package/dist/esm/containerQueries/modules/inline.js +0 -49
  117. package/dist/esm/containerQueries/modules/size.d.ts +0 -41
  118. package/dist/esm/containerQueries/modules/size.d.ts.map +0 -1
  119. package/dist/esm/containerQueries/modules/size.js +0 -1
  120. package/dist/esm/containerQueries/modules/style.d.ts +0 -11
  121. package/dist/esm/containerQueries/modules/style.d.ts.map +0 -1
  122. package/dist/esm/containerQueries/modules/style.js +0 -32
  123. package/dist/esm/containerQueries/types.d.ts +0 -81
  124. package/dist/esm/containerQueries/types.d.ts.map +0 -1
  125. package/dist/esm/containerQueries/types.js +0 -1
  126. package/dist/esm/containerQueries/validation.d.ts +0 -41
  127. package/dist/esm/containerQueries/validation.d.ts.map +0 -1
  128. package/dist/esm/containerQueries/validation.js +0 -187
  129. package/dist/esm/fraction.d.ts +0 -23
  130. package/dist/esm/fraction.d.ts.map +0 -1
  131. package/dist/esm/fraction.js +0 -129
  132. package/dist/esm/internal/createComponentQueriesApi.d.ts +0 -34
  133. package/dist/esm/internal/createComponentQueriesApi.d.ts.map +0 -1
  134. package/dist/esm/internal/createComponentQueriesApi.js +0 -52
  135. package/dist/esm/internal/createMediaQueriesApi.d.ts +0 -35
  136. package/dist/esm/internal/createMediaQueriesApi.d.ts.map +0 -1
  137. package/dist/esm/internal/createMediaQueriesApi.js +0 -69
  138. package/dist/esm/internal/normalizeToArray.d.ts +0 -2
  139. package/dist/esm/internal/normalizeToArray.d.ts.map +0 -1
  140. package/dist/esm/internal/normalizeToArray.js +0 -5
  141. package/dist/esm/libraryHelpers/vanilla-extract.d.ts +0 -4
  142. package/dist/esm/libraryHelpers/vanilla-extract.d.ts.map +0 -1
  143. package/dist/esm/libraryHelpers/vanilla-extract.js +0 -6
  144. package/dist/esm/logicalOperators/index.d.ts +0 -2
  145. package/dist/esm/logicalOperators/index.d.ts.map +0 -1
  146. package/dist/esm/logicalOperators/index.js +0 -17
  147. package/dist/esm/mediaQueries/factory.d.ts +0 -45
  148. package/dist/esm/mediaQueries/factory.d.ts.map +0 -1
  149. package/dist/esm/mediaQueries/factory.js +0 -183
  150. package/dist/esm/mediaQueries/helpers.d.ts +0 -40
  151. package/dist/esm/mediaQueries/helpers.d.ts.map +0 -1
  152. package/dist/esm/mediaQueries/helpers.js +0 -87
  153. package/dist/esm/mediaQueries/index.d.ts +0 -8
  154. package/dist/esm/mediaQueries/index.d.ts.map +0 -1
  155. package/dist/esm/mediaQueries/index.js +0 -7
  156. package/dist/esm/mediaQueries/libraryHelpers/vanilla-extract.d.ts +0 -5
  157. package/dist/esm/mediaQueries/libraryHelpers/vanilla-extract.d.ts.map +0 -1
  158. package/dist/esm/mediaQueries/libraryHelpers/vanilla-extract.js +0 -71
  159. package/dist/esm/mediaQueries/linting/core.d.ts +0 -5
  160. package/dist/esm/mediaQueries/linting/core.d.ts.map +0 -1
  161. package/dist/esm/mediaQueries/linting/core.js +0 -14
  162. package/dist/esm/mediaQueries/linting/resolution.d.ts +0 -3
  163. package/dist/esm/mediaQueries/linting/resolution.d.ts.map +0 -1
  164. package/dist/esm/mediaQueries/linting/resolution.js +0 -7
  165. package/dist/esm/mediaQueries/linting.d.ts +0 -4
  166. package/dist/esm/mediaQueries/linting.d.ts.map +0 -1
  167. package/dist/esm/mediaQueries/linting.js +0 -20
  168. package/dist/esm/mediaQueries/mediaQueries.d.ts +0 -23
  169. package/dist/esm/mediaQueries/mediaQueries.d.ts.map +0 -1
  170. package/dist/esm/mediaQueries/mediaQueries.js +0 -48
  171. package/dist/esm/mediaQueries/moduleRegistry.d.ts +0 -27
  172. package/dist/esm/mediaQueries/moduleRegistry.d.ts.map +0 -1
  173. package/dist/esm/mediaQueries/moduleRegistry.js +0 -1
  174. package/dist/esm/mediaQueries/modules/custom.d.ts +0 -10
  175. package/dist/esm/mediaQueries/modules/custom.d.ts.map +0 -1
  176. package/dist/esm/mediaQueries/modules/custom.js +0 -22
  177. package/dist/esm/mediaQueries/modules/dimensions.d.ts +0 -19
  178. package/dist/esm/mediaQueries/modules/dimensions.d.ts.map +0 -1
  179. package/dist/esm/mediaQueries/modules/dimensions.js +0 -57
  180. package/dist/esm/mediaQueries/modules/display.d.ts +0 -9
  181. package/dist/esm/mediaQueries/modules/display.d.ts.map +0 -1
  182. package/dist/esm/mediaQueries/modules/display.js +0 -16
  183. package/dist/esm/mediaQueries/modules/environment.d.ts +0 -9
  184. package/dist/esm/mediaQueries/modules/environment.d.ts.map +0 -1
  185. package/dist/esm/mediaQueries/modules/environment.js +0 -16
  186. package/dist/esm/mediaQueries/modules/index.d.ts +0 -8
  187. package/dist/esm/mediaQueries/modules/index.d.ts.map +0 -1
  188. package/dist/esm/mediaQueries/modules/index.js +0 -7
  189. package/dist/esm/mediaQueries/modules/interaction.d.ts +0 -11
  190. package/dist/esm/mediaQueries/modules/interaction.d.ts.map +0 -1
  191. package/dist/esm/mediaQueries/modules/interaction.js +0 -22
  192. package/dist/esm/mediaQueries/modules/preferences.d.ts +0 -11
  193. package/dist/esm/mediaQueries/modules/preferences.d.ts.map +0 -1
  194. package/dist/esm/mediaQueries/modules/preferences.js +0 -22
  195. package/dist/esm/mediaQueries/modules/resolution.d.ts +0 -12
  196. package/dist/esm/mediaQueries/modules/resolution.d.ts.map +0 -1
  197. package/dist/esm/mediaQueries/modules/resolution.js +0 -27
  198. package/dist/esm/mediaQueries/types.d.ts +0 -117
  199. package/dist/esm/mediaQueries/types.d.ts.map +0 -1
  200. package/dist/esm/mediaQueries/types.js +0 -1
  201. package/dist/esm/mediaQueries/validation.d.ts +0 -33
  202. package/dist/esm/mediaQueries/validation.d.ts.map +0 -1
  203. package/dist/esm/mediaQueries/validation.js +0 -130
  204. package/dist/esm/sciNotation.d.ts +0 -14
  205. package/dist/esm/sciNotation.d.ts.map +0 -1
  206. package/dist/esm/sciNotation.js +0 -69
  207. package/dist/esm/types.d.ts +0 -35
  208. package/dist/esm/types.d.ts.map +0 -1
  209. package/dist/esm/types.js +0 -1
  210. package/dist/esm/validation.d.ts +0 -10
  211. package/dist/esm/validation.d.ts.map +0 -1
  212. package/dist/esm/validation.js +0 -15
  213. package/dist/examples/containerQueries.example.js +0 -54
  214. package/dist/examples/examples/containerQueries.example.js +0 -54
  215. package/dist/examples/examples/factory-wrapper.example.js +0 -33
  216. package/dist/examples/examples/lineHeight-normalizer.example.js +0 -81
  217. package/dist/examples/examples/mediaQueries-multipleInstances.example.js +0 -127
  218. package/dist/examples/examples/mixedQueries.example.js +0 -55
  219. package/dist/examples/examples/validation-and-runtime-checks.example.js +0 -85
  220. package/dist/examples/examples/validation-unit-tests.example.js +0 -35
  221. package/dist/examples/factory-wrapper.example.js +0 -33
  222. package/dist/examples/lineHeight-normalizer.example.js +0 -81
  223. package/dist/examples/mediaQueries-multipleInstances.example.js +0 -127
  224. package/dist/examples/mixedQueries.example.js +0 -60
  225. package/dist/examples/src/comparisons/index.js +0 -25
  226. package/dist/examples/src/containerQueries/containerQueries.js +0 -96
  227. package/dist/examples/src/containerQueries/factory.js +0 -123
  228. package/dist/examples/src/containerQueries/helpers.js +0 -94
  229. package/dist/examples/src/containerQueries/index.js +0 -16
  230. package/dist/examples/src/containerQueries/linting/aspectRatio.js +0 -20
  231. package/dist/examples/src/containerQueries/linting/block.js +0 -20
  232. package/dist/examples/src/containerQueries/linting/core.js +0 -19
  233. package/dist/examples/src/containerQueries/linting/custom.js +0 -11
  234. package/dist/examples/src/containerQueries/linting/inline.js +0 -20
  235. package/dist/examples/src/containerQueries/linting/style.js +0 -28
  236. package/dist/examples/src/containerQueries/linting.js +0 -24
  237. package/dist/examples/src/containerQueries/moduleRegistry.js +0 -5
  238. package/dist/examples/src/containerQueries/modules/aspectRatio.js +0 -33
  239. package/dist/examples/src/containerQueries/modules/block.js +0 -44
  240. package/dist/examples/src/containerQueries/modules/custom.js +0 -31
  241. package/dist/examples/src/containerQueries/modules/index.js +0 -21
  242. package/dist/examples/src/containerQueries/modules/inline.js +0 -44
  243. package/dist/examples/src/containerQueries/modules/style.js +0 -36
  244. package/dist/examples/src/containerQueries/types.js +0 -2
  245. package/dist/examples/src/containerQueries/validation.js +0 -177
  246. package/dist/examples/src/core.js +0 -16
  247. package/dist/examples/src/factory.js +0 -21
  248. package/dist/examples/src/index.js +0 -30
  249. package/dist/examples/src/internal/buildMeasurementCreationError.js +0 -16
  250. package/dist/examples/src/internal/createCoreApi.js +0 -336
  251. package/dist/examples/src/internal/createMediaQueriesApi.js +0 -74
  252. package/dist/examples/src/internal/createUnitsApi.js +0 -18
  253. package/dist/examples/src/internal/errors.js +0 -130
  254. package/dist/examples/src/libraryHelpers/vanilla-extract.js +0 -11
  255. package/dist/examples/src/mediaQueries/factory.js +0 -163
  256. package/dist/examples/src/mediaQueries/helpers.js +0 -88
  257. package/dist/examples/src/mediaQueries/index.js +0 -23
  258. package/dist/examples/src/mediaQueries/linting/core.js +0 -19
  259. package/dist/examples/src/mediaQueries/linting/resolution.js +0 -11
  260. package/dist/examples/src/mediaQueries/linting.js +0 -24
  261. package/dist/examples/src/mediaQueries/mediaQueries.js +0 -53
  262. package/dist/examples/src/mediaQueries/moduleRegistry.js +0 -5
  263. package/dist/examples/src/mediaQueries/modules/custom.js +0 -26
  264. package/dist/examples/src/mediaQueries/modules/dimensions.js +0 -61
  265. package/dist/examples/src/mediaQueries/modules/display.js +0 -20
  266. package/dist/examples/src/mediaQueries/modules/environment.js +0 -20
  267. package/dist/examples/src/mediaQueries/modules/index.js +0 -23
  268. package/dist/examples/src/mediaQueries/modules/interaction.js +0 -26
  269. package/dist/examples/src/mediaQueries/modules/preferences.js +0 -26
  270. package/dist/examples/src/mediaQueries/modules/resolution.js +0 -31
  271. package/dist/examples/src/mediaQueries/types.js +0 -2
  272. package/dist/examples/src/mediaQueries/validation.js +0 -128
  273. package/dist/examples/src/ratio.js +0 -141
  274. package/dist/examples/src/types.js +0 -2
  275. package/dist/examples/src/unitDefinitions.js +0 -67
  276. package/dist/examples/src/units/absolute.js +0 -11
  277. package/dist/examples/src/units/angle.js +0 -8
  278. package/dist/examples/src/units/container.js +0 -10
  279. package/dist/examples/src/units/font-relative.js +0 -16
  280. package/dist/examples/src/units/frequency.js +0 -6
  281. package/dist/examples/src/units/grid.js +0 -5
  282. package/dist/examples/src/units/percent.js +0 -7
  283. package/dist/examples/src/units/resolution.js +0 -7
  284. package/dist/examples/src/units/time.js +0 -6
  285. package/dist/examples/src/units/viewport-dynamic.js +0 -10
  286. package/dist/examples/src/units/viewport-large.js +0 -10
  287. package/dist/examples/src/units/viewport-small.js +0 -10
  288. package/dist/examples/src/units/viewport.js +0 -10
  289. package/dist/examples/src/validation.js +0 -20
  290. package/dist/examples/validation-and-runtime-checks.example.js +0 -85
  291. package/dist/examples/validation-unit-tests.example.js +0 -35
@@ -1,128 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.defaultMediaQueryValidation = exports.validateResolutionValues = exports.validateAspectRatioValuesPositive = exports.validateMinMaxAspectRatio = exports.validateHeightValuesPositive = exports.validateMinMaxHeight = exports.validateWidthValuesPositive = exports.validateMinMaxWidth = exports.runMediaQueryValidation = exports.createMediaQueryValidation = void 0;
4
- const helpers_1 = require("./helpers");
5
- const core_1 = require("../core");
6
- const toValidationResult = (error, fallback) => {
7
- if (error instanceof Error && error.message)
8
- return error.message;
9
- return fallback;
10
- };
11
- const createMediaQueryValidation = (core) => {
12
- const { assertCondition, assertMatchingUnits } = core;
13
- const runMediaQueryValidation = (config, helpers, check, context, fallbackMessage = "Invalid media query configuration") => {
14
- if (!check)
15
- return true;
16
- try {
17
- check(config);
18
- return true;
19
- }
20
- catch (error) {
21
- const result = toValidationResult(error, fallbackMessage);
22
- return (0, helpers_1.applyMediaQueryValidation)(config, helpers, () => result, context);
23
- }
24
- };
25
- const validateMinMaxWidth = (props) => {
26
- if (!props.minWidth || !props.maxWidth)
27
- return;
28
- assertMatchingUnits(props.minWidth, props.maxWidth, "mediaQueries.minMaxWidth");
29
- assertCondition(props.minWidth.getValue() <= props.maxWidth.getValue(), "minWidth must be less than or equal to maxWidth");
30
- };
31
- const validateWidthValuesPositive = (props) => {
32
- const assertPositive = (value, label) => {
33
- assertCondition(value.getValue() > 0, `${label} must be greater than 0`);
34
- };
35
- if (props.width) {
36
- assertPositive(props.width, "width");
37
- }
38
- if (props.minWidth) {
39
- assertPositive(props.minWidth, "minWidth");
40
- }
41
- if (props.maxWidth) {
42
- assertPositive(props.maxWidth, "maxWidth");
43
- }
44
- };
45
- const validateMinMaxHeight = (props) => {
46
- if (!props.minHeight || !props.maxHeight)
47
- return;
48
- assertMatchingUnits(props.minHeight, props.maxHeight, "mediaQueries.minMaxHeight");
49
- assertCondition(props.minHeight.getValue() <= props.maxHeight.getValue(), "minHeight must be less than or equal to maxHeight");
50
- };
51
- const validateHeightValuesPositive = (props) => {
52
- const assertPositive = (value, label) => {
53
- assertCondition(value.getValue() > 0, `${label} must be greater than 0`);
54
- };
55
- if (props.height) {
56
- assertPositive(props.height, "height");
57
- }
58
- if (props.minHeight) {
59
- assertPositive(props.minHeight, "minHeight");
60
- }
61
- if (props.maxHeight) {
62
- assertPositive(props.maxHeight, "maxHeight");
63
- }
64
- };
65
- const assertRatio = (value, label) => {
66
- assertCondition((0, core_1.isRatio)(value), `${label} must be a ratio created with r()`);
67
- };
68
- const assertRatioPositive = (value, label) => {
69
- assertCondition(value.numerator() > 0 && value.denominator() > 0, `${label} must be a valid ratio greater than 0`);
70
- };
71
- const validateMinMaxAspectRatio = (props) => {
72
- if (!props.minAspectRatio || !props.maxAspectRatio)
73
- return;
74
- assertRatio(props.minAspectRatio, "minAspectRatio");
75
- assertRatio(props.maxAspectRatio, "maxAspectRatio");
76
- const minRatio = (0, core_1.ratioToFloat)(props.minAspectRatio);
77
- const maxRatio = (0, core_1.ratioToFloat)(props.maxAspectRatio);
78
- assertCondition(minRatio <= maxRatio, "minAspectRatio must be less than or equal to maxAspectRatio");
79
- };
80
- const validateAspectRatioValuesPositive = (props) => {
81
- if (props.aspectRatio !== undefined) {
82
- assertRatio(props.aspectRatio, "aspectRatio");
83
- assertRatioPositive(props.aspectRatio, "aspectRatio");
84
- }
85
- if (props.minAspectRatio !== undefined) {
86
- assertRatio(props.minAspectRatio, "minAspectRatio");
87
- assertRatioPositive(props.minAspectRatio, "minAspectRatio");
88
- }
89
- if (props.maxAspectRatio !== undefined) {
90
- assertRatio(props.maxAspectRatio, "maxAspectRatio");
91
- assertRatioPositive(props.maxAspectRatio, "maxAspectRatio");
92
- }
93
- };
94
- const validateResolutionValues = (props) => {
95
- const assertPositive = (value, label) => {
96
- assertCondition(value.getValue() > 0, `${label} must be greater than 0`);
97
- };
98
- if (props.resolutionValue) {
99
- assertPositive(props.resolutionValue, "resolution");
100
- }
101
- if (props.minResolution) {
102
- assertPositive(props.minResolution, "minResolution");
103
- }
104
- if (props.maxResolution) {
105
- assertPositive(props.maxResolution, "maxResolution");
106
- }
107
- if (props.minResolution && props.maxResolution) {
108
- assertMatchingUnits(props.minResolution, props.maxResolution, "mediaQueries.resolutionUnits");
109
- }
110
- };
111
- return {
112
- runMediaQueryValidation,
113
- validateMinMaxWidth,
114
- validateWidthValuesPositive,
115
- validateMinMaxHeight,
116
- validateHeightValuesPositive,
117
- validateMinMaxAspectRatio,
118
- validateAspectRatioValuesPositive,
119
- validateResolutionValues,
120
- };
121
- };
122
- exports.createMediaQueryValidation = createMediaQueryValidation;
123
- const defaultMediaQueryValidation = (0, exports.createMediaQueryValidation)({
124
- assertCondition: core_1.assertCondition,
125
- assertMatchingUnits: core_1.assertMatchingUnits,
126
- });
127
- exports.defaultMediaQueryValidation = defaultMediaQueryValidation;
128
- exports.runMediaQueryValidation = defaultMediaQueryValidation.runMediaQueryValidation, exports.validateMinMaxWidth = defaultMediaQueryValidation.validateMinMaxWidth, exports.validateWidthValuesPositive = defaultMediaQueryValidation.validateWidthValuesPositive, exports.validateMinMaxHeight = defaultMediaQueryValidation.validateMinMaxHeight, exports.validateHeightValuesPositive = defaultMediaQueryValidation.validateHeightValuesPositive, exports.validateMinMaxAspectRatio = defaultMediaQueryValidation.validateMinMaxAspectRatio, exports.validateAspectRatioValuesPositive = defaultMediaQueryValidation.validateAspectRatioValuesPositive, exports.validateResolutionValues = defaultMediaQueryValidation.validateResolutionValues;
@@ -1,141 +0,0 @@
1
- "use strict";
2
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
- if (kind === "m") throw new TypeError("Private method is not writable");
4
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
- };
8
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
- };
13
- var _RatioImpl_numerator, _RatioImpl_denominator, _RatioImpl_omitDenominatorWhenOne;
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.ratioToFloat = exports.simplifyRatio = exports.reduceRatio = exports.normalizeRatio = exports.parseRatio = exports.isRatio = void 0;
16
- exports.r = r;
17
- class RatioImpl {
18
- constructor(numerator, denominator, options = {}) {
19
- var _a;
20
- _RatioImpl_numerator.set(this, void 0);
21
- _RatioImpl_denominator.set(this, void 0);
22
- _RatioImpl_omitDenominatorWhenOne.set(this, void 0);
23
- if (!Number.isFinite(numerator) || !Number.isFinite(denominator)) {
24
- throw new Error("Ratio values must be finite numbers.");
25
- }
26
- if (denominator === 0) {
27
- throw new Error("Ratio denominator cannot be zero.");
28
- }
29
- __classPrivateFieldSet(this, _RatioImpl_numerator, numerator, "f");
30
- __classPrivateFieldSet(this, _RatioImpl_denominator, denominator, "f");
31
- __classPrivateFieldSet(this, _RatioImpl_omitDenominatorWhenOne, (_a = options.omitDenominatorWhenOne) !== null && _a !== void 0 ? _a : false, "f");
32
- }
33
- numerator() {
34
- return __classPrivateFieldGet(this, _RatioImpl_numerator, "f");
35
- }
36
- denominator() {
37
- return __classPrivateFieldGet(this, _RatioImpl_denominator, "f");
38
- }
39
- withNumerator(numerator) {
40
- return new RatioImpl(numerator, __classPrivateFieldGet(this, _RatioImpl_denominator, "f"));
41
- }
42
- withDenominator(denominator) {
43
- return new RatioImpl(__classPrivateFieldGet(this, _RatioImpl_numerator, "f"), denominator);
44
- }
45
- valueOf() {
46
- return __classPrivateFieldGet(this, _RatioImpl_numerator, "f") / __classPrivateFieldGet(this, _RatioImpl_denominator, "f");
47
- }
48
- css() {
49
- if (__classPrivateFieldGet(this, _RatioImpl_omitDenominatorWhenOne, "f") && __classPrivateFieldGet(this, _RatioImpl_denominator, "f") === 1) {
50
- return String(__classPrivateFieldGet(this, _RatioImpl_numerator, "f"));
51
- }
52
- return `${__classPrivateFieldGet(this, _RatioImpl_numerator, "f")}/${__classPrivateFieldGet(this, _RatioImpl_denominator, "f")}`;
53
- }
54
- toString() {
55
- return this.css();
56
- }
57
- }
58
- _RatioImpl_numerator = new WeakMap(), _RatioImpl_denominator = new WeakMap(), _RatioImpl_omitDenominatorWhenOne = new WeakMap();
59
- function r(numeratorOrDenominator, denominator) {
60
- const numerator = denominator === undefined ? numeratorOrDenominator : numeratorOrDenominator;
61
- const resolvedDenominator = denominator === undefined ? 1 : denominator;
62
- return new RatioImpl(numerator, resolvedDenominator);
63
- }
64
- const isRatio = (value) => {
65
- return (typeof value === "object" &&
66
- value !== null &&
67
- "css" in value &&
68
- "numerator" in value &&
69
- "denominator" in value &&
70
- typeof value.css === "function" &&
71
- typeof value.numerator === "function" &&
72
- typeof value.denominator === "function");
73
- };
74
- exports.isRatio = isRatio;
75
- const parseRatio = (value) => {
76
- if (typeof value === "number") {
77
- return Number.isFinite(value) ? { numerator: value, denominator: 1 } : null;
78
- }
79
- if ((0, exports.isRatio)(value)) {
80
- return { numerator: value.numerator(), denominator: value.denominator() };
81
- }
82
- const trimmed = value.trim();
83
- if (!trimmed)
84
- return null;
85
- if (trimmed.includes("/")) {
86
- const [left, right] = trimmed.split("/");
87
- if (left === undefined || right === undefined)
88
- return null;
89
- const numerator = Number(left.trim());
90
- const denominator = Number(right.trim());
91
- if (!Number.isFinite(numerator) || !Number.isFinite(denominator))
92
- return null;
93
- if (denominator === 0)
94
- return null;
95
- return { numerator, denominator };
96
- }
97
- const parsed = Number(trimmed);
98
- return Number.isFinite(parsed) ? { numerator: parsed, denominator: 1 } : null;
99
- };
100
- exports.parseRatio = parseRatio;
101
- const normalizeRatio = (ratio) => {
102
- let numerator = ratio.numerator();
103
- let denominator = ratio.denominator();
104
- if (!Number.isFinite(numerator) || !Number.isFinite(denominator)) {
105
- throw new Error("Ratio values must be finite numbers.");
106
- }
107
- if (denominator === 0) {
108
- throw new Error("Ratio denominator cannot be zero.");
109
- }
110
- if (!Number.isInteger(numerator) || !Number.isInteger(denominator)) {
111
- return new RatioImpl(numerator, denominator);
112
- }
113
- if (denominator < 0) {
114
- numerator = -numerator;
115
- denominator = Math.abs(denominator);
116
- }
117
- const gcd = (a, b) => {
118
- let x = Math.abs(a);
119
- let y = Math.abs(b);
120
- while (y !== 0) {
121
- const next = x % y;
122
- x = y;
123
- y = next;
124
- }
125
- return x === 0 ? 1 : x;
126
- };
127
- const divisor = gcd(numerator, denominator);
128
- return new RatioImpl(numerator / divisor, denominator / divisor);
129
- };
130
- exports.normalizeRatio = normalizeRatio;
131
- const reduceRatio = (ratio) => (0, exports.normalizeRatio)(ratio);
132
- exports.reduceRatio = reduceRatio;
133
- const simplifyRatio = (ratio) => {
134
- const reduced = (0, exports.normalizeRatio)(ratio);
135
- return new RatioImpl(reduced.numerator(), reduced.denominator(), {
136
- omitDenominatorWhenOne: true,
137
- });
138
- };
139
- exports.simplifyRatio = simplifyRatio;
140
- const ratioToFloat = (ratio) => ratio.numerator() / ratio.denominator();
141
- exports.ratioToFloat = ratioToFloat;
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,67 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UNIT_DEFINITIONS = void 0;
4
- exports.UNIT_DEFINITIONS = {
5
- mPercent: { unit: '%', category: 'percent' },
6
- mPx: { unit: 'px', category: 'length-absolute' },
7
- mCm: { unit: 'cm', category: 'length-absolute' },
8
- mMm: { unit: 'mm', category: 'length-absolute' },
9
- mQ: { unit: 'q', category: 'length-absolute' },
10
- mIn: { unit: 'in', category: 'length-absolute' },
11
- mPc: { unit: 'pc', category: 'length-absolute' },
12
- mPt: { unit: 'pt', category: 'length-absolute' },
13
- mEm: { unit: 'em', category: 'length-font-relative' },
14
- mRem: { unit: 'rem', category: 'length-font-relative' },
15
- mEx: { unit: 'ex', category: 'length-font-relative' },
16
- mRex: { unit: 'rex', category: 'length-font-relative' },
17
- mCh: { unit: 'ch', category: 'length-font-relative' },
18
- mRch: { unit: 'rch', category: 'length-font-relative' },
19
- mCap: { unit: 'cap', category: 'length-font-relative' },
20
- mRcap: { unit: 'rcap', category: 'length-font-relative' },
21
- mIc: { unit: 'ic', category: 'length-font-relative' },
22
- mRic: { unit: 'ric', category: 'length-font-relative' },
23
- mLh: { unit: 'lh', category: 'length-font-relative' },
24
- mRlh: { unit: 'rlh', category: 'length-font-relative' },
25
- mVw: { unit: 'vw', category: 'length-viewport' },
26
- mVh: { unit: 'vh', category: 'length-viewport' },
27
- mVi: { unit: 'vi', category: 'length-viewport' },
28
- mVb: { unit: 'vb', category: 'length-viewport' },
29
- mVmin: { unit: 'vmin', category: 'length-viewport' },
30
- mVmax: { unit: 'vmax', category: 'length-viewport' },
31
- mSvw: { unit: 'svw', category: 'length-viewport-small' },
32
- mSvh: { unit: 'svh', category: 'length-viewport-small' },
33
- mSvi: { unit: 'svi', category: 'length-viewport-small' },
34
- mSvb: { unit: 'svb', category: 'length-viewport-small' },
35
- mSvmin: { unit: 'svmin', category: 'length-viewport-small' },
36
- mSvmax: { unit: 'svmax', category: 'length-viewport-small' },
37
- mLvw: { unit: 'lvw', category: 'length-viewport-large' },
38
- mLvh: { unit: 'lvh', category: 'length-viewport-large' },
39
- mLvi: { unit: 'lvi', category: 'length-viewport-large' },
40
- mLvb: { unit: 'lvb', category: 'length-viewport-large' },
41
- mLvmin: { unit: 'lvmin', category: 'length-viewport-large' },
42
- mLvmax: { unit: 'lvmax', category: 'length-viewport-large' },
43
- mDvw: { unit: 'dvw', category: 'length-viewport-dynamic' },
44
- mDvh: { unit: 'dvh', category: 'length-viewport-dynamic' },
45
- mDvi: { unit: 'dvi', category: 'length-viewport-dynamic' },
46
- mDvb: { unit: 'dvb', category: 'length-viewport-dynamic' },
47
- mDvmin: { unit: 'dvmin', category: 'length-viewport-dynamic' },
48
- mDvmax: { unit: 'dvmax', category: 'length-viewport-dynamic' },
49
- mCqw: { unit: 'cqw', category: 'length-container' },
50
- mCqh: { unit: 'cqh', category: 'length-container' },
51
- mCqi: { unit: 'cqi', category: 'length-container' },
52
- mCqb: { unit: 'cqb', category: 'length-container' },
53
- mCqmin: { unit: 'cqmin', category: 'length-container' },
54
- mCqmax: { unit: 'cqmax', category: 'length-container' },
55
- mDeg: { unit: 'deg', category: 'angle' },
56
- mRad: { unit: 'rad', category: 'angle' },
57
- mGrad: { unit: 'grad', category: 'angle' },
58
- mTurn: { unit: 'turn', category: 'angle' },
59
- mS: { unit: 's', category: 'time' },
60
- mMs: { unit: 'ms', category: 'time' },
61
- mHz: { unit: 'hz', category: 'frequency' },
62
- mKhz: { unit: 'khz', category: 'frequency' },
63
- mDpi: { unit: 'dpi', category: 'resolution' },
64
- mDpcm: { unit: 'dpcm', category: 'resolution' },
65
- mDppx: { unit: 'dppx', category: 'resolution' },
66
- mFr: { unit: 'fr', category: 'flex' },
67
- };
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mPt = exports.mPc = exports.mIn = exports.mQ = exports.mMm = exports.mCm = exports.mPx = void 0;
4
- const core_1 = require("../core");
5
- exports.mPx = (0, core_1.makeUnitHelperFromDefinition)('mPx');
6
- exports.mCm = (0, core_1.makeUnitHelperFromDefinition)('mCm');
7
- exports.mMm = (0, core_1.makeUnitHelperFromDefinition)('mMm');
8
- exports.mQ = (0, core_1.makeUnitHelperFromDefinition)('mQ');
9
- exports.mIn = (0, core_1.makeUnitHelperFromDefinition)('mIn');
10
- exports.mPc = (0, core_1.makeUnitHelperFromDefinition)('mPc');
11
- exports.mPt = (0, core_1.makeUnitHelperFromDefinition)('mPt');
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mTurn = exports.mGrad = exports.mRad = exports.mDeg = void 0;
4
- const core_1 = require("../core");
5
- exports.mDeg = (0, core_1.makeUnitHelperFromDefinition)('mDeg');
6
- exports.mRad = (0, core_1.makeUnitHelperFromDefinition)('mRad');
7
- exports.mGrad = (0, core_1.makeUnitHelperFromDefinition)('mGrad');
8
- exports.mTurn = (0, core_1.makeUnitHelperFromDefinition)('mTurn');
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mCqmax = exports.mCqmin = exports.mCqb = exports.mCqi = exports.mCqh = exports.mCqw = void 0;
4
- const core_1 = require("../core");
5
- exports.mCqw = (0, core_1.makeUnitHelperFromDefinition)('mCqw');
6
- exports.mCqh = (0, core_1.makeUnitHelperFromDefinition)('mCqh');
7
- exports.mCqi = (0, core_1.makeUnitHelperFromDefinition)('mCqi');
8
- exports.mCqb = (0, core_1.makeUnitHelperFromDefinition)('mCqb');
9
- exports.mCqmin = (0, core_1.makeUnitHelperFromDefinition)('mCqmin');
10
- exports.mCqmax = (0, core_1.makeUnitHelperFromDefinition)('mCqmax');
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mRlh = exports.mLh = exports.mRic = exports.mIc = exports.mRcap = exports.mCap = exports.mRch = exports.mCh = exports.mRex = exports.mEx = exports.mRem = exports.mEm = void 0;
4
- const core_1 = require("../core");
5
- exports.mEm = (0, core_1.makeUnitHelperFromDefinition)('mEm');
6
- exports.mRem = (0, core_1.makeUnitHelperFromDefinition)('mRem');
7
- exports.mEx = (0, core_1.makeUnitHelperFromDefinition)('mEx');
8
- exports.mRex = (0, core_1.makeUnitHelperFromDefinition)('mRex');
9
- exports.mCh = (0, core_1.makeUnitHelperFromDefinition)('mCh');
10
- exports.mRch = (0, core_1.makeUnitHelperFromDefinition)('mRch');
11
- exports.mCap = (0, core_1.makeUnitHelperFromDefinition)('mCap');
12
- exports.mRcap = (0, core_1.makeUnitHelperFromDefinition)('mRcap');
13
- exports.mIc = (0, core_1.makeUnitHelperFromDefinition)('mIc');
14
- exports.mRic = (0, core_1.makeUnitHelperFromDefinition)('mRic');
15
- exports.mLh = (0, core_1.makeUnitHelperFromDefinition)('mLh');
16
- exports.mRlh = (0, core_1.makeUnitHelperFromDefinition)('mRlh');
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mKhz = exports.mHz = void 0;
4
- const core_1 = require("../core");
5
- exports.mHz = (0, core_1.makeUnitHelperFromDefinition)('mHz');
6
- exports.mKhz = (0, core_1.makeUnitHelperFromDefinition)('mKhz');
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mFr = void 0;
4
- const core_1 = require("../core");
5
- exports.mFr = (0, core_1.makeUnitHelperFromDefinition)('mFr');
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.assertPercentMeasurement = exports.isPercentMeasurement = exports.mPercent = void 0;
4
- const core_1 = require("../core");
5
- exports.mPercent = (0, core_1.makeUnitHelperFromDefinition)('mPercent');
6
- exports.isPercentMeasurement = (0, core_1.makeUnitGuard)(exports.mPercent);
7
- exports.assertPercentMeasurement = (0, core_1.makeUnitAssert)(exports.mPercent);
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mDppx = exports.mDpcm = exports.mDpi = void 0;
4
- const core_1 = require("../core");
5
- exports.mDpi = (0, core_1.makeUnitHelperFromDefinition)('mDpi');
6
- exports.mDpcm = (0, core_1.makeUnitHelperFromDefinition)('mDpcm');
7
- exports.mDppx = (0, core_1.makeUnitHelperFromDefinition)('mDppx');
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mMs = exports.mS = void 0;
4
- const core_1 = require("../core");
5
- exports.mS = (0, core_1.makeUnitHelperFromDefinition)('mS');
6
- exports.mMs = (0, core_1.makeUnitHelperFromDefinition)('mMs');
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mDvmax = exports.mDvmin = exports.mDvb = exports.mDvi = exports.mDvh = exports.mDvw = void 0;
4
- const core_1 = require("../core");
5
- exports.mDvw = (0, core_1.makeUnitHelperFromDefinition)('mDvw');
6
- exports.mDvh = (0, core_1.makeUnitHelperFromDefinition)('mDvh');
7
- exports.mDvi = (0, core_1.makeUnitHelperFromDefinition)('mDvi');
8
- exports.mDvb = (0, core_1.makeUnitHelperFromDefinition)('mDvb');
9
- exports.mDvmin = (0, core_1.makeUnitHelperFromDefinition)('mDvmin');
10
- exports.mDvmax = (0, core_1.makeUnitHelperFromDefinition)('mDvmax');
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mLvmax = exports.mLvmin = exports.mLvb = exports.mLvi = exports.mLvh = exports.mLvw = void 0;
4
- const core_1 = require("../core");
5
- exports.mLvw = (0, core_1.makeUnitHelperFromDefinition)('mLvw');
6
- exports.mLvh = (0, core_1.makeUnitHelperFromDefinition)('mLvh');
7
- exports.mLvi = (0, core_1.makeUnitHelperFromDefinition)('mLvi');
8
- exports.mLvb = (0, core_1.makeUnitHelperFromDefinition)('mLvb');
9
- exports.mLvmin = (0, core_1.makeUnitHelperFromDefinition)('mLvmin');
10
- exports.mLvmax = (0, core_1.makeUnitHelperFromDefinition)('mLvmax');
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mSvmax = exports.mSvmin = exports.mSvb = exports.mSvi = exports.mSvh = exports.mSvw = void 0;
4
- const core_1 = require("../core");
5
- exports.mSvw = (0, core_1.makeUnitHelperFromDefinition)('mSvw');
6
- exports.mSvh = (0, core_1.makeUnitHelperFromDefinition)('mSvh');
7
- exports.mSvi = (0, core_1.makeUnitHelperFromDefinition)('mSvi');
8
- exports.mSvb = (0, core_1.makeUnitHelperFromDefinition)('mSvb');
9
- exports.mSvmin = (0, core_1.makeUnitHelperFromDefinition)('mSvmin');
10
- exports.mSvmax = (0, core_1.makeUnitHelperFromDefinition)('mSvmax');
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mVmax = exports.mVmin = exports.mVb = exports.mVi = exports.mVh = exports.mVw = void 0;
4
- const core_1 = require("../core");
5
- exports.mVw = (0, core_1.makeUnitHelperFromDefinition)('mVw');
6
- exports.mVh = (0, core_1.makeUnitHelperFromDefinition)('mVh');
7
- exports.mVi = (0, core_1.makeUnitHelperFromDefinition)('mVi');
8
- exports.mVb = (0, core_1.makeUnitHelperFromDefinition)('mVb');
9
- exports.mVmin = (0, core_1.makeUnitHelperFromDefinition)('mVmin');
10
- exports.mVmax = (0, core_1.makeUnitHelperFromDefinition)('mVmax');
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toValidationResult = exports.normalizeValidationResult = void 0;
4
- const normalizeValidationResult = (result) => {
5
- if (result === undefined || result === null)
6
- return { valid: true };
7
- if (typeof result === "boolean")
8
- return { valid: result };
9
- if (typeof result === "string") {
10
- return result ? { valid: false, message: result } : { valid: true };
11
- }
12
- return result;
13
- };
14
- exports.normalizeValidationResult = normalizeValidationResult;
15
- const toValidationResult = (error, fallback) => {
16
- if (error instanceof Error && error.message)
17
- return error.message;
18
- return fallback;
19
- };
20
- exports.toValidationResult = toValidationResult;
@@ -1,85 +0,0 @@
1
- "use strict";
2
- /**
3
- * Example-only file.
4
- *
5
- * Not part of the public API surface or published bundle. This sketch shows
6
- * how css-calipers can participate in dev-only validation around design
7
- * tokens or configuration values inside style helpers or components. The
8
- * helpers here are framework-agnostic; imagine them being called from React,
9
- * a template system, or a Node script.
10
- *
11
- * The same `bodyLineHeight` token is used in two different places:
12
- * - an icon + label row that returns a small HTML snippet and enforces
13
- * "icon must not exceed line-height"
14
- * - a table-of-contents heading row that returns a style object and enforces
15
- * row height and body line-height invariants for readability
16
- *
17
- * See the sibling unit test example for how to assert related invariants in a unit test.
18
- *
19
- */
20
- Object.defineProperty(exports, "__esModule", { value: true });
21
- exports.buildTocHeadingStyles = exports.renderIconWithLabelHtml = void 0;
22
- const css_calipers_1 = require("css-calipers");
23
- // Pretend these tokens come from a design token file or configuration layer.
24
- // Two different components will enforce different invariants against the same
25
- // underlying line-height measurement.
26
- const bodyLineHeight = (0, css_calipers_1.m)(1.4, "rem");
27
- const iconTokenSize = (0, css_calipers_1.m)(1.2, "rem");
28
- const tocHeadingRowHeightToken = (0, css_calipers_1.m)(2, "rem");
29
- // An icon+label row where you don't want the icon to visually dominate the
30
- // text. In development, assert that the icon's size does not exceed the
31
- // line-height it sits next to. Here we return a small HTML snippet to
32
- // illustrate string-based consumers.
33
- const renderIconWithLabelHtml = (labelText) => {
34
- const iconSize = iconTokenSize;
35
- if (process.env.NODE_ENV !== "production") {
36
- // Make sure both measurements use the same unit family before comparing.
37
- (0, css_calipers_1.assertMatchingUnits)(iconSize, bodyLineHeight, "iconWithLabel: icon and line-height units must match");
38
- if (iconSize.getValue() > bodyLineHeight.getValue()) {
39
- throw new Error(`iconWithLabel: icon must not exceed line-height; ` +
40
- `iconSize=${iconSize.css()}, bodyLineHeight=${bodyLineHeight.css()}`);
41
- }
42
- }
43
- const iconStyle = `width:${iconSize.css()};height:${iconSize.css()};`;
44
- const labelStyle = `line-height:${bodyLineHeight.css()};`;
45
- return `
46
- <span class="row">
47
- <span class="icon" style="${iconStyle}"/>
48
- <span class="label" style="${labelStyle}">${labelText}</span>
49
- </span>`;
50
- };
51
- exports.renderIconWithLabelHtml = renderIconWithLabelHtml;
52
- // A table-of-contents row where H2 entries should remain readable and aligned
53
- // with the typography system. In development, enforce a minimum line-height
54
- // and require that the H2 row height is at least the underlying line-height.
55
- const buildTocHeadingStyles = () => {
56
- const tocHeadingRowHeight = tocHeadingRowHeightToken;
57
- if (process.env.NODE_ENV !== "production") {
58
- // Require body line-height to stay within a reasonable range for body
59
- // text, using the same measurement token.
60
- const minBodyLineHeight = (0, css_calipers_1.m)(1.2, "rem");
61
- const maxBodyLineHeight = (0, css_calipers_1.m)(1.8, "rem");
62
- const bodyValue = bodyLineHeight.getValue();
63
- if (!(bodyValue >= minBodyLineHeight.getValue() &&
64
- bodyValue <= maxBodyLineHeight.getValue())) {
65
- throw new Error(`tocHeading: body line-height out of range; ` +
66
- `${bodyLineHeight.css()} (expected between ` +
67
- `${minBodyLineHeight.css()} and ${maxBodyLineHeight.css()})`);
68
- }
69
- // Row height should not be smaller than the line-height it uses.
70
- (0, css_calipers_1.assertMatchingUnits)(tocHeadingRowHeight, bodyLineHeight, "tocHeading: row height and line-height units must match");
71
- if (tocHeadingRowHeight.getValue() < bodyLineHeight.getValue()) {
72
- throw new Error(`tocHeading: row height must be >= line-height; ` +
73
- `row=${tocHeadingRowHeight.css()}, bodyLineHeight=${bodyLineHeight.css()}`);
74
- }
75
- }
76
- // In real code these would be component or style objects. Here we just show
77
- // that measurement values flow through `.css()` into plain style shapes.
78
- return {
79
- row: {
80
- minHeight: tocHeadingRowHeight.css(),
81
- lineHeight: bodyLineHeight.css(),
82
- },
83
- };
84
- };
85
- exports.buildTocHeadingStyles = buildTocHeadingStyles;
@@ -1,35 +0,0 @@
1
- "use strict";
2
- /**
3
- * Example-only file.
4
- *
5
- * Not part of the public API surface or published bundle. This sketch shows
6
- * how to exercise a simple design-token invariant in unit tests using Vitest,
7
- * which this repo already uses for its own test suite. The pattern is test-
8
- * runner agnostic; you can adapt it to Jest, Mocha, or any other framework.
9
- */
10
- Object.defineProperty(exports, "__esModule", { value: true });
11
- const vitest_1 = require("vitest");
12
- const css_calipers_1 = require("css-calipers");
13
- // Pretend these spacing tokens come from a design token file or configuration
14
- // layer. The intent is a simple invariant: small <= large and both share units.
15
- const spacingTokens = {
16
- spaceSm: (0, css_calipers_1.m)(4), // defaults to "px" if no unit is given
17
- spaceLg: (0, css_calipers_1.m)(12),
18
- };
19
- (0, vitest_1.describe)("spacing tokens (example unit test)", () => {
20
- (0, vitest_1.it)("use the same unit for related tokens", () => {
21
- const { spaceSm, spaceLg } = spacingTokens;
22
- // Unit consistency between related tokens.
23
- (0, css_calipers_1.assertMatchingUnits)(spaceSm, spaceLg, "spacing tokens: spaceSm and spaceLg must share units");
24
- });
25
- (0, vitest_1.it)("keep small <= large", () => {
26
- const { spaceSm, spaceLg } = spacingTokens;
27
- // Ordering invariant: small should never exceed large.
28
- const smValue = spaceSm.getValue();
29
- const lgValue = spaceLg.getValue();
30
- if (!(smValue <= lgValue)) {
31
- throw new Error(`spacing tokens out of order: ` +
32
- `spaceSm=${spaceSm.css()}, spaceLg=${spaceLg.css()}`);
33
- }
34
- });
35
- });