inferred-types 0.52.4 → 0.52.5

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 (62) hide show
  1. package/dist/constants/Tailwind.d.ts +56 -7
  2. package/dist/constants/Tailwind.d.ts.map +1 -1
  3. package/dist/constants/Tailwind.js +67 -7
  4. package/dist/constants/tsconfig.tsbuildinfo +1 -1
  5. package/dist/index.cjs +148 -26
  6. package/dist/index.js +130 -26
  7. package/dist/inferred-types/tsconfig.tsbuildinfo +1 -1
  8. package/dist/runtime/datetime/asDate.d.ts +1 -1
  9. package/dist/runtime/datetime/asDate.d.ts.map +1 -1
  10. package/dist/runtime/datetime/asDate.js +1 -1
  11. package/dist/runtime/datetime/getDay.d.ts.map +1 -1
  12. package/dist/runtime/datetime/getDay.js +3 -0
  13. package/dist/runtime/datetime/getDaysBetween.d.ts.map +1 -1
  14. package/dist/runtime/datetime/getDaysBetween.js +3 -0
  15. package/dist/runtime/datetime/getWeekNumber.d.ts.map +1 -1
  16. package/dist/runtime/datetime/getWeekNumber.js +3 -0
  17. package/dist/runtime/datetime/isLeapYear.d.ts.map +1 -1
  18. package/dist/runtime/datetime/isLeapYear.js +4 -1
  19. package/dist/runtime/tsconfig.tsbuildinfo +1 -1
  20. package/dist/runtime/type-conversion/index.d.ts +1 -0
  21. package/dist/runtime/type-conversion/index.d.ts.map +1 -1
  22. package/dist/runtime/type-conversion/index.js +1 -0
  23. package/dist/runtime/type-conversion/tw-conversion.d.ts +13 -0
  24. package/dist/runtime/type-conversion/tw-conversion.d.ts.map +1 -0
  25. package/dist/runtime/type-conversion/tw-conversion.js +20 -0
  26. package/dist/runtime/type-guards/date-time/isThisWeek.d.ts.map +1 -1
  27. package/dist/runtime/type-guards/date-time/isThisWeek.js +2 -5
  28. package/dist/runtime/type-guards/date-time/isThisYear.d.ts +10 -1
  29. package/dist/runtime/type-guards/date-time/isThisYear.d.ts.map +1 -1
  30. package/dist/runtime/type-guards/date-time/isThisYear.js +17 -23
  31. package/dist/runtime/type-guards/date-time/isTomorrow.d.ts +1 -1
  32. package/dist/runtime/type-guards/date-time/isTomorrow.js +1 -1
  33. package/dist/runtime/type-guards/date-time/isYesterday.d.ts +2 -2
  34. package/dist/runtime/type-guards/date-time/isYesterday.d.ts.map +1 -1
  35. package/dist/runtime/type-guards/date-time/isYesterday.js +1 -1
  36. package/dist/runtime/type-guards/index.d.ts +1 -0
  37. package/dist/runtime/type-guards/index.d.ts.map +1 -1
  38. package/dist/runtime/type-guards/index.js +1 -0
  39. package/dist/runtime/type-guards/tw/index.d.ts +2 -0
  40. package/dist/runtime/type-guards/tw/index.d.ts.map +1 -0
  41. package/dist/runtime/type-guards/tw/index.js +1 -0
  42. package/dist/runtime/type-guards/tw/tw-color.d.ts +79 -0
  43. package/dist/runtime/type-guards/tw/tw-color.d.ts.map +1 -0
  44. package/dist/runtime/type-guards/tw/tw-color.js +105 -0
  45. package/dist/types/string-literals/character-sets/css/sizing.d.ts +2 -3
  46. package/dist/types/string-literals/character-sets/css/sizing.d.ts.map +1 -1
  47. package/dist/types/string-literals/character-sets/tw/TwColor.d.ts +27 -7
  48. package/dist/types/string-literals/character-sets/tw/TwColor.d.ts.map +1 -1
  49. package/dist/types/string-literals/character-sets/tw/TwModifer.d.ts +23 -0
  50. package/dist/types/string-literals/character-sets/tw/TwModifer.d.ts.map +1 -0
  51. package/dist/types/string-literals/character-sets/tw/TwModifer.js +1 -0
  52. package/dist/types/string-literals/character-sets/tw/TwSize.d.ts +8 -0
  53. package/dist/types/string-literals/character-sets/tw/TwSize.d.ts.map +1 -0
  54. package/dist/types/string-literals/character-sets/tw/TwSize.js +1 -0
  55. package/dist/types/string-literals/character-sets/tw/TwTarget.d.ts +56 -0
  56. package/dist/types/string-literals/character-sets/tw/TwTarget.d.ts.map +1 -0
  57. package/dist/types/string-literals/character-sets/tw/TwTarget.js +1 -0
  58. package/dist/types/string-literals/character-sets/tw/index.d.ts +4 -0
  59. package/dist/types/string-literals/character-sets/tw/index.d.ts.map +1 -1
  60. package/dist/types/string-literals/character-sets/tw/index.js +4 -0
  61. package/dist/types/tsconfig.tsbuildinfo +1 -1
  62. package/package.json +1 -1
package/dist/index.cjs CHANGED
@@ -168,7 +168,11 @@ __export(inferred_types_exports, {
168
168
  TW_CHROMA_800: () => TW_CHROMA_800,
169
169
  TW_CHROMA_900: () => TW_CHROMA_900,
170
170
  TW_CHROMA_950: () => TW_CHROMA_950,
171
+ TW_COLOR_TARGETS: () => TW_COLOR_TARGETS,
171
172
  TW_HUE: () => TW_HUE,
173
+ TW_HUE_NEUTRAL: () => TW_HUE_NEUTRAL,
174
+ TW_HUE_STATIC: () => TW_HUE_STATIC,
175
+ TW_HUE_VIBRANT: () => TW_HUE_VIBRANT,
172
176
  TW_LUMINOSITY: () => TW_LUMINOSITY,
173
177
  TW_LUMIN_100: () => TW_LUMIN_100,
174
178
  TW_LUMIN_200: () => TW_LUMIN_200,
@@ -181,6 +185,11 @@ __export(inferred_types_exports, {
181
185
  TW_LUMIN_800: () => TW_LUMIN_800,
182
186
  TW_LUMIN_900: () => TW_LUMIN_900,
183
187
  TW_LUMIN_950: () => TW_LUMIN_950,
188
+ TW_MODIFIERS: () => TW_MODIFIERS,
189
+ TW_MODIFIERS_CORE: () => TW_MODIFIERS_CORE,
190
+ TW_MODIFIERS_ORDER: () => TW_MODIFIERS_ORDER,
191
+ TW_MODIFIERS_RELN: () => TW_MODIFIERS_RELN,
192
+ TW_MODIFIERS_SIZING: () => TW_MODIFIERS_SIZING,
184
193
  TYPE_COMPARISONS: () => TYPE_COMPARISONS,
185
194
  TYPE_KINDS: () => TYPE_KINDS,
186
195
  TYPE_OF: () => TYPE_OF,
@@ -256,6 +265,7 @@ __export(inferred_types_exports, {
256
265
  getDaysBetween: () => getDaysBetween,
257
266
  getEach: () => getEach,
258
267
  getPhoneCountryCode: () => getPhoneCountryCode,
268
+ getTailwindModifiers: () => getTailwindModifiers,
259
269
  getToday: () => getToday,
260
270
  getTomorrow: () => getTomorrow,
261
271
  getUrlPath: () => getUrlPath,
@@ -468,6 +478,13 @@ __export(inferred_types_exports, {
468
478
  isStringArray: () => isStringArray,
469
479
  isSwissNewsUrl: () => isSwissNewsUrl,
470
480
  isSymbol: () => isSymbol,
481
+ isTailwindColor: () => isTailwindColor,
482
+ isTailwindColorClass: () => isTailwindColorClass,
483
+ isTailwindColorName: () => isTailwindColorName,
484
+ isTailwindColorTarget: () => isTailwindColorTarget,
485
+ isTailwindColorWithLuminosity: () => isTailwindColorWithLuminosity,
486
+ isTailwindColorWithLuminosityAndOpacity: () => isTailwindColorWithLuminosityAndOpacity,
487
+ isTailwindModifier: () => isTailwindModifier,
471
488
  isTargetUrl: () => isTargetUrl,
472
489
  isTemperatureMetric: () => isTemperatureMetric,
473
490
  isTemperatureUom: () => isTemperatureUom,
@@ -555,6 +572,7 @@ __export(inferred_types_exports, {
555
572
  pathJoin: () => pathJoin,
556
573
  pluralize: () => pluralize,
557
574
  removePhoneCountryCode: () => removePhoneCountryCode,
575
+ removeTailwindModifiers: () => removeTailwindModifiers,
558
576
  removeUrlProtocol: () => removeUrlProtocol,
559
577
  result: () => result,
560
578
  retain: () => retain,
@@ -2093,12 +2111,14 @@ var PROXMOX_CT_STATE = [
2093
2111
  ];
2094
2112
 
2095
2113
  // src/constants/Tailwind.ts
2096
- var TW_HUE = {
2114
+ var TW_HUE_NEUTRAL = {
2097
2115
  slate: 262,
2098
2116
  gray: 270,
2099
2117
  zinc: 269,
2100
2118
  neutral: 270,
2101
- stone: 273,
2119
+ stone: 273
2120
+ };
2121
+ var TW_HUE_VIBRANT = {
2102
2122
  red: 24,
2103
2123
  orange: 44,
2104
2124
  amber: 79,
@@ -2115,10 +2135,17 @@ var TW_HUE = {
2115
2135
  purple: 294,
2116
2136
  fuchsia: 319,
2117
2137
  pink: 334,
2118
- rose: 15,
2138
+ rose: 15
2139
+ };
2140
+ var TW_HUE_STATIC = {
2119
2141
  black: 0,
2120
2142
  white: 106.37411429114086
2121
2143
  };
2144
+ var TW_HUE = {
2145
+ ...TW_HUE_NEUTRAL,
2146
+ ...TW_HUE_VIBRANT,
2147
+ ...TW_HUE_STATIC
2148
+ };
2122
2149
  var TW_LUMINOSITY = {
2123
2150
  "50": 97.78,
2124
2151
  "100": 93.56,
@@ -2167,6 +2194,48 @@ var TW_CHROMA_700 = TW_CHROMA["700"];
2167
2194
  var TW_CHROMA_800 = TW_CHROMA["800"];
2168
2195
  var TW_CHROMA_900 = TW_CHROMA["900"];
2169
2196
  var TW_CHROMA_950 = TW_CHROMA["950"];
2197
+ var TW_COLOR_TARGETS = [
2198
+ "bg",
2199
+ "text",
2200
+ "border",
2201
+ "ring",
2202
+ "shadow",
2203
+ "border"
2204
+ ];
2205
+ var TW_MODIFIERS_CORE = [
2206
+ "dark",
2207
+ "focus",
2208
+ "hover",
2209
+ "active",
2210
+ "visited",
2211
+ "disabled"
2212
+ ];
2213
+ var TW_MODIFIERS_ORDER = [
2214
+ "first",
2215
+ "last",
2216
+ "odd",
2217
+ "even"
2218
+ ];
2219
+ var TW_MODIFIERS_RELN = [
2220
+ "focus-within",
2221
+ "focus-visible",
2222
+ "checked",
2223
+ "peer-invalid",
2224
+ `peer-checked/{{string}}`
2225
+ ];
2226
+ var TW_MODIFIERS_SIZING = [
2227
+ "sm",
2228
+ "md",
2229
+ "lg",
2230
+ "xl",
2231
+ "2xl"
2232
+ ];
2233
+ var TW_MODIFIERS = [
2234
+ ...TW_MODIFIERS_CORE,
2235
+ ...TW_MODIFIERS_ORDER,
2236
+ ...TW_MODIFIERS_SIZING,
2237
+ ...TW_MODIFIERS_RELN
2238
+ ];
2170
2239
 
2171
2240
  // src/constants/Retail.ts
2172
2241
  var AMAZON_DNS = [
@@ -4075,6 +4144,15 @@ var stripParenthesis = (val) => {
4075
4144
  return stripTrailing(stripLeading(val.trim(), "("), ")").trim();
4076
4145
  };
4077
4146
 
4147
+ // src/runtime/type-conversion/tw-conversion.ts
4148
+ var MODS = TW_MODIFIERS.map((i) => `${i}:`);
4149
+ var removeTailwindModifiers = (val) => {
4150
+ return MODS.some((i) => val.startsWith(i)) ? removeTailwindModifiers(val.replace(MODS.find((i) => val.startsWith(i)), "")) : val;
4151
+ };
4152
+ var getTailwindModifiers = (val) => {
4153
+ return val.split(":").filter((i) => isTailwindModifier(i));
4154
+ };
4155
+
4078
4156
  // src/runtime/type-guards/hasWhitespace.ts
4079
4157
  var hasWhiteSpace = (val) => {
4080
4158
  return isString(val) && asChars(val).some((c) => WHITESPACE_CHARS.includes(c));
@@ -4949,25 +5027,13 @@ var isYesterday = (test) => {
4949
5027
  // src/runtime/type-guards/date-time/isThisYear.ts
4950
5028
  var isThisYear = (val) => {
4951
5029
  const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
4952
- if (val instanceof Date) {
4953
- return val.getFullYear() === currentYear;
4954
- }
4955
- if (isMoment(val)) {
4956
- return val.year() === currentYear;
4957
- }
4958
- if (isLuxonDateTime(val)) {
4959
- return val.year === currentYear;
4960
- }
4961
- if (typeof val === "string") {
4962
- const isoDateRegex = /^\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])(?:T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|[-+][01]\d:[0-5]\d))?$/;
4963
- if (!isoDateRegex.test(val)) {
5030
+ if (isObject(val) || isNumber(val) || isString(val)) {
5031
+ const date = asDate(val);
5032
+ if (date) {
5033
+ return date.getFullYear() === currentYear;
5034
+ } else {
4964
5035
  return false;
4965
5036
  }
4966
- const yearMatch = val.match(/^(\d{4})/);
4967
- if (yearMatch) {
4968
- const year = parseInt(yearMatch[1], 10);
4969
- return year === currentYear;
4970
- }
4971
5037
  }
4972
5038
  return false;
4973
5039
  };
@@ -5004,10 +5070,8 @@ var isThisMonth = (val) => {
5004
5070
 
5005
5071
  // src/runtime/type-guards/date-time/isThisWeek.ts
5006
5072
  var isThisWeek = (date) => {
5007
- let targetDate;
5008
- try {
5009
- targetDate = asDate(date);
5010
- } catch {
5073
+ let targetDate = asDate(date);
5074
+ if (!targetDate) {
5011
5075
  return false;
5012
5076
  }
5013
5077
  const currentWeek = getWeekNumber();
@@ -5018,6 +5082,36 @@ var isThisWeek = (date) => {
5018
5082
  // src/runtime/type-guards/date-time/isIsoYear.ts
5019
5083
  var isIsoYear = (val) => isString(val) && val.length === 4 && isNumber(Number(val)) && Number(val) >= 0 && Number(val) <= 9999 ? true : false;
5020
5084
 
5085
+ // src/runtime/type-guards/tw/tw-color.ts
5086
+ var isTailwindColorName = (val) => {
5087
+ return isString(val) && Object.keys(TW_HUE).includes(val);
5088
+ };
5089
+ var isTailwindColorWithLuminosity = (val) => {
5090
+ return isString(val) && isTailwindColorName(val.split("-")[0]) && (!["white", "black"].includes(val.split("-")[0]) || val.split("-").length === 1) && (!val.includes("-") || Object.keys(TW_LUMINOSITY).includes(retainAfter(val, "-")));
5091
+ };
5092
+ var isTailwindColorWithLuminosityAndOpacity = (val) => {
5093
+ return isString(val) && val.includes("/") && isTailwindColorWithLuminosity(val.split("/")[0]) && isNumberLike(val.split("/")[1]) && ([1, 2].includes(val.split("/")[1].length) || val.split("/")[1] === "100");
5094
+ };
5095
+ var isTailwindColor = (val) => {
5096
+ return isTailwindColorWithLuminosity(val) || isTailwindColorWithLuminosityAndOpacity(val);
5097
+ };
5098
+ var isTailwindModifier = (val) => {
5099
+ return isString(val) && TW_MODIFIERS.some((i) => val === i);
5100
+ };
5101
+ var isTailwindColorTarget = (val) => {
5102
+ return isString(val) && TW_COLOR_TARGETS.includes(val);
5103
+ };
5104
+ var isTailwindColorClass = (val, ...allowedModifiers) => {
5105
+ if (isString(val)) {
5106
+ const mods = getTailwindModifiers(val);
5107
+ const targetted = removeTailwindModifiers(val);
5108
+ const target = targetted.split("-")[0];
5109
+ const color = targetted.split("-").slice(1).join("-");
5110
+ return isTailwindColorTarget(target) && isTailwindColor(color) && (allowedModifiers[0] === true || mods.every((i) => allowedModifiers.includes(i)));
5111
+ }
5112
+ return false;
5113
+ };
5114
+
5021
5115
  // src/runtime/literals/stripTrailing.ts
5022
5116
  function stripTrailing(content, ...strip2) {
5023
5117
  let output = String(content);
@@ -6172,7 +6266,7 @@ var asDate = (input) => {
6172
6266
  return new Date(input * 1e3);
6173
6267
  }
6174
6268
  }
6175
- throw new Error(`Invalid date input to asDate(${String(input)}) function!`);
6269
+ return void 0;
6176
6270
  };
6177
6271
 
6178
6272
  // src/runtime/datetime/asIsoDate.ts
@@ -6187,6 +6281,9 @@ var asIsoDate = (input) => {
6187
6281
  var getDaysBetween = (a, b = /* @__PURE__ */ new Date()) => {
6188
6282
  const aDate = asDate(a);
6189
6283
  const bDate = asDate(b);
6284
+ if (!aDate || !bDate) {
6285
+ throw new Error(`Invalid date passed into getDaysBetween()`);
6286
+ }
6190
6287
  const aStr = aDate.toISOString().split("T")[0];
6191
6288
  const bStr = bDate.toISOString().split("T")[0];
6192
6289
  const dateA = /* @__PURE__ */ new Date(aStr + "T00:00:00Z");
@@ -6198,6 +6295,9 @@ var getDaysBetween = (a, b = /* @__PURE__ */ new Date()) => {
6198
6295
  // src/runtime/datetime/getWeekNumber.ts
6199
6296
  var getWeekNumber = (date = /* @__PURE__ */ new Date()) => {
6200
6297
  let d = asDate(date);
6298
+ if (!d) {
6299
+ throw new Error(`invalid date passed into getWeekNumber${String(date)}`);
6300
+ }
6201
6301
  const daysIntoYear = getDaysBetween(new Date(d.getFullYear(), 0, 1), d);
6202
6302
  const week = Math.floor(daysIntoYear / 7) + 1;
6203
6303
  return week;
@@ -6205,7 +6305,11 @@ var getWeekNumber = (date = /* @__PURE__ */ new Date()) => {
6205
6305
 
6206
6306
  // src/runtime/datetime/isLeapYear.ts
6207
6307
  var isLeapYear = (val) => {
6208
- const year = asDate(val).getUTCFullYear();
6308
+ var _a;
6309
+ const year = (_a = asDate(val)) == null ? void 0 : _a.getUTCFullYear();
6310
+ if (!year) {
6311
+ throw new Error(`Invalid date passed into isLeapYear(${String(val)})`);
6312
+ }
6209
6313
  return year % 100 === 0 ? year % 400 === 0 : year % 4 === 0;
6210
6314
  };
6211
6315
  // Annotate the CommonJS export names for ESM import in node:
@@ -6358,7 +6462,11 @@ var isLeapYear = (val) => {
6358
6462
  TW_CHROMA_800,
6359
6463
  TW_CHROMA_900,
6360
6464
  TW_CHROMA_950,
6465
+ TW_COLOR_TARGETS,
6361
6466
  TW_HUE,
6467
+ TW_HUE_NEUTRAL,
6468
+ TW_HUE_STATIC,
6469
+ TW_HUE_VIBRANT,
6362
6470
  TW_LUMINOSITY,
6363
6471
  TW_LUMIN_100,
6364
6472
  TW_LUMIN_200,
@@ -6371,6 +6479,11 @@ var isLeapYear = (val) => {
6371
6479
  TW_LUMIN_800,
6372
6480
  TW_LUMIN_900,
6373
6481
  TW_LUMIN_950,
6482
+ TW_MODIFIERS,
6483
+ TW_MODIFIERS_CORE,
6484
+ TW_MODIFIERS_ORDER,
6485
+ TW_MODIFIERS_RELN,
6486
+ TW_MODIFIERS_SIZING,
6374
6487
  TYPE_COMPARISONS,
6375
6488
  TYPE_KINDS,
6376
6489
  TYPE_OF,
@@ -6446,6 +6559,7 @@ var isLeapYear = (val) => {
6446
6559
  getDaysBetween,
6447
6560
  getEach,
6448
6561
  getPhoneCountryCode,
6562
+ getTailwindModifiers,
6449
6563
  getToday,
6450
6564
  getTomorrow,
6451
6565
  getUrlPath,
@@ -6658,6 +6772,13 @@ var isLeapYear = (val) => {
6658
6772
  isStringArray,
6659
6773
  isSwissNewsUrl,
6660
6774
  isSymbol,
6775
+ isTailwindColor,
6776
+ isTailwindColorClass,
6777
+ isTailwindColorName,
6778
+ isTailwindColorTarget,
6779
+ isTailwindColorWithLuminosity,
6780
+ isTailwindColorWithLuminosityAndOpacity,
6781
+ isTailwindModifier,
6661
6782
  isTargetUrl,
6662
6783
  isTemperatureMetric,
6663
6784
  isTemperatureUom,
@@ -6745,6 +6866,7 @@ var isLeapYear = (val) => {
6745
6866
  pathJoin,
6746
6867
  pluralize,
6747
6868
  removePhoneCountryCode,
6869
+ removeTailwindModifiers,
6748
6870
  removeUrlProtocol,
6749
6871
  result,
6750
6872
  retain,
package/dist/index.js CHANGED
@@ -1462,12 +1462,14 @@ var PROXMOX_CT_STATE = [
1462
1462
  ];
1463
1463
 
1464
1464
  // src/constants/Tailwind.ts
1465
- var TW_HUE = {
1465
+ var TW_HUE_NEUTRAL = {
1466
1466
  slate: 262,
1467
1467
  gray: 270,
1468
1468
  zinc: 269,
1469
1469
  neutral: 270,
1470
- stone: 273,
1470
+ stone: 273
1471
+ };
1472
+ var TW_HUE_VIBRANT = {
1471
1473
  red: 24,
1472
1474
  orange: 44,
1473
1475
  amber: 79,
@@ -1484,10 +1486,17 @@ var TW_HUE = {
1484
1486
  purple: 294,
1485
1487
  fuchsia: 319,
1486
1488
  pink: 334,
1487
- rose: 15,
1489
+ rose: 15
1490
+ };
1491
+ var TW_HUE_STATIC = {
1488
1492
  black: 0,
1489
1493
  white: 106.37411429114086
1490
1494
  };
1495
+ var TW_HUE = {
1496
+ ...TW_HUE_NEUTRAL,
1497
+ ...TW_HUE_VIBRANT,
1498
+ ...TW_HUE_STATIC
1499
+ };
1491
1500
  var TW_LUMINOSITY = {
1492
1501
  "50": 97.78,
1493
1502
  "100": 93.56,
@@ -1536,6 +1545,48 @@ var TW_CHROMA_700 = TW_CHROMA["700"];
1536
1545
  var TW_CHROMA_800 = TW_CHROMA["800"];
1537
1546
  var TW_CHROMA_900 = TW_CHROMA["900"];
1538
1547
  var TW_CHROMA_950 = TW_CHROMA["950"];
1548
+ var TW_COLOR_TARGETS = [
1549
+ "bg",
1550
+ "text",
1551
+ "border",
1552
+ "ring",
1553
+ "shadow",
1554
+ "border"
1555
+ ];
1556
+ var TW_MODIFIERS_CORE = [
1557
+ "dark",
1558
+ "focus",
1559
+ "hover",
1560
+ "active",
1561
+ "visited",
1562
+ "disabled"
1563
+ ];
1564
+ var TW_MODIFIERS_ORDER = [
1565
+ "first",
1566
+ "last",
1567
+ "odd",
1568
+ "even"
1569
+ ];
1570
+ var TW_MODIFIERS_RELN = [
1571
+ "focus-within",
1572
+ "focus-visible",
1573
+ "checked",
1574
+ "peer-invalid",
1575
+ `peer-checked/{{string}}`
1576
+ ];
1577
+ var TW_MODIFIERS_SIZING = [
1578
+ "sm",
1579
+ "md",
1580
+ "lg",
1581
+ "xl",
1582
+ "2xl"
1583
+ ];
1584
+ var TW_MODIFIERS = [
1585
+ ...TW_MODIFIERS_CORE,
1586
+ ...TW_MODIFIERS_ORDER,
1587
+ ...TW_MODIFIERS_SIZING,
1588
+ ...TW_MODIFIERS_RELN
1589
+ ];
1539
1590
 
1540
1591
  // src/constants/Retail.ts
1541
1592
  var AMAZON_DNS = [
@@ -3444,6 +3495,15 @@ var stripParenthesis = (val) => {
3444
3495
  return stripTrailing(stripLeading(val.trim(), "("), ")").trim();
3445
3496
  };
3446
3497
 
3498
+ // src/runtime/type-conversion/tw-conversion.ts
3499
+ var MODS = TW_MODIFIERS.map((i) => `${i}:`);
3500
+ var removeTailwindModifiers = (val) => {
3501
+ return MODS.some((i) => val.startsWith(i)) ? removeTailwindModifiers(val.replace(MODS.find((i) => val.startsWith(i)), "")) : val;
3502
+ };
3503
+ var getTailwindModifiers = (val) => {
3504
+ return val.split(":").filter((i) => isTailwindModifier(i));
3505
+ };
3506
+
3447
3507
  // src/runtime/type-guards/hasWhitespace.ts
3448
3508
  var hasWhiteSpace = (val) => {
3449
3509
  return isString(val) && asChars(val).some((c) => WHITESPACE_CHARS.includes(c));
@@ -4318,25 +4378,13 @@ var isYesterday = (test) => {
4318
4378
  // src/runtime/type-guards/date-time/isThisYear.ts
4319
4379
  var isThisYear = (val) => {
4320
4380
  const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
4321
- if (val instanceof Date) {
4322
- return val.getFullYear() === currentYear;
4323
- }
4324
- if (isMoment(val)) {
4325
- return val.year() === currentYear;
4326
- }
4327
- if (isLuxonDateTime(val)) {
4328
- return val.year === currentYear;
4329
- }
4330
- if (typeof val === "string") {
4331
- const isoDateRegex = /^\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])(?:T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|[-+][01]\d:[0-5]\d))?$/;
4332
- if (!isoDateRegex.test(val)) {
4381
+ if (isObject(val) || isNumber(val) || isString(val)) {
4382
+ const date = asDate(val);
4383
+ if (date) {
4384
+ return date.getFullYear() === currentYear;
4385
+ } else {
4333
4386
  return false;
4334
4387
  }
4335
- const yearMatch = val.match(/^(\d{4})/);
4336
- if (yearMatch) {
4337
- const year = parseInt(yearMatch[1], 10);
4338
- return year === currentYear;
4339
- }
4340
4388
  }
4341
4389
  return false;
4342
4390
  };
@@ -4373,10 +4421,8 @@ var isThisMonth = (val) => {
4373
4421
 
4374
4422
  // src/runtime/type-guards/date-time/isThisWeek.ts
4375
4423
  var isThisWeek = (date) => {
4376
- let targetDate;
4377
- try {
4378
- targetDate = asDate(date);
4379
- } catch {
4424
+ let targetDate = asDate(date);
4425
+ if (!targetDate) {
4380
4426
  return false;
4381
4427
  }
4382
4428
  const currentWeek = getWeekNumber();
@@ -4387,6 +4433,36 @@ var isThisWeek = (date) => {
4387
4433
  // src/runtime/type-guards/date-time/isIsoYear.ts
4388
4434
  var isIsoYear = (val) => isString(val) && val.length === 4 && isNumber(Number(val)) && Number(val) >= 0 && Number(val) <= 9999 ? true : false;
4389
4435
 
4436
+ // src/runtime/type-guards/tw/tw-color.ts
4437
+ var isTailwindColorName = (val) => {
4438
+ return isString(val) && Object.keys(TW_HUE).includes(val);
4439
+ };
4440
+ var isTailwindColorWithLuminosity = (val) => {
4441
+ return isString(val) && isTailwindColorName(val.split("-")[0]) && (!["white", "black"].includes(val.split("-")[0]) || val.split("-").length === 1) && (!val.includes("-") || Object.keys(TW_LUMINOSITY).includes(retainAfter(val, "-")));
4442
+ };
4443
+ var isTailwindColorWithLuminosityAndOpacity = (val) => {
4444
+ return isString(val) && val.includes("/") && isTailwindColorWithLuminosity(val.split("/")[0]) && isNumberLike(val.split("/")[1]) && ([1, 2].includes(val.split("/")[1].length) || val.split("/")[1] === "100");
4445
+ };
4446
+ var isTailwindColor = (val) => {
4447
+ return isTailwindColorWithLuminosity(val) || isTailwindColorWithLuminosityAndOpacity(val);
4448
+ };
4449
+ var isTailwindModifier = (val) => {
4450
+ return isString(val) && TW_MODIFIERS.some((i) => val === i);
4451
+ };
4452
+ var isTailwindColorTarget = (val) => {
4453
+ return isString(val) && TW_COLOR_TARGETS.includes(val);
4454
+ };
4455
+ var isTailwindColorClass = (val, ...allowedModifiers) => {
4456
+ if (isString(val)) {
4457
+ const mods = getTailwindModifiers(val);
4458
+ const targetted = removeTailwindModifiers(val);
4459
+ const target = targetted.split("-")[0];
4460
+ const color = targetted.split("-").slice(1).join("-");
4461
+ return isTailwindColorTarget(target) && isTailwindColor(color) && (allowedModifiers[0] === true || mods.every((i) => allowedModifiers.includes(i)));
4462
+ }
4463
+ return false;
4464
+ };
4465
+
4390
4466
  // src/runtime/literals/stripTrailing.ts
4391
4467
  function stripTrailing(content, ...strip2) {
4392
4468
  let output = String(content);
@@ -5541,7 +5617,7 @@ var asDate = (input) => {
5541
5617
  return new Date(input * 1e3);
5542
5618
  }
5543
5619
  }
5544
- throw new Error(`Invalid date input to asDate(${String(input)}) function!`);
5620
+ return void 0;
5545
5621
  };
5546
5622
 
5547
5623
  // src/runtime/datetime/asIsoDate.ts
@@ -5556,6 +5632,9 @@ var asIsoDate = (input) => {
5556
5632
  var getDaysBetween = (a, b = /* @__PURE__ */ new Date()) => {
5557
5633
  const aDate = asDate(a);
5558
5634
  const bDate = asDate(b);
5635
+ if (!aDate || !bDate) {
5636
+ throw new Error(`Invalid date passed into getDaysBetween()`);
5637
+ }
5559
5638
  const aStr = aDate.toISOString().split("T")[0];
5560
5639
  const bStr = bDate.toISOString().split("T")[0];
5561
5640
  const dateA = /* @__PURE__ */ new Date(aStr + "T00:00:00Z");
@@ -5567,6 +5646,9 @@ var getDaysBetween = (a, b = /* @__PURE__ */ new Date()) => {
5567
5646
  // src/runtime/datetime/getWeekNumber.ts
5568
5647
  var getWeekNumber = (date = /* @__PURE__ */ new Date()) => {
5569
5648
  let d = asDate(date);
5649
+ if (!d) {
5650
+ throw new Error(`invalid date passed into getWeekNumber${String(date)}`);
5651
+ }
5570
5652
  const daysIntoYear = getDaysBetween(new Date(d.getFullYear(), 0, 1), d);
5571
5653
  const week = Math.floor(daysIntoYear / 7) + 1;
5572
5654
  return week;
@@ -5574,7 +5656,11 @@ var getWeekNumber = (date = /* @__PURE__ */ new Date()) => {
5574
5656
 
5575
5657
  // src/runtime/datetime/isLeapYear.ts
5576
5658
  var isLeapYear = (val) => {
5577
- const year = asDate(val).getUTCFullYear();
5659
+ var _a;
5660
+ const year = (_a = asDate(val)) == null ? void 0 : _a.getUTCFullYear();
5661
+ if (!year) {
5662
+ throw new Error(`Invalid date passed into isLeapYear(${String(val)})`);
5663
+ }
5578
5664
  return year % 100 === 0 ? year % 400 === 0 : year % 4 === 0;
5579
5665
  };
5580
5666
  export {
@@ -5726,7 +5812,11 @@ export {
5726
5812
  TW_CHROMA_800,
5727
5813
  TW_CHROMA_900,
5728
5814
  TW_CHROMA_950,
5815
+ TW_COLOR_TARGETS,
5729
5816
  TW_HUE,
5817
+ TW_HUE_NEUTRAL,
5818
+ TW_HUE_STATIC,
5819
+ TW_HUE_VIBRANT,
5730
5820
  TW_LUMINOSITY,
5731
5821
  TW_LUMIN_100,
5732
5822
  TW_LUMIN_200,
@@ -5739,6 +5829,11 @@ export {
5739
5829
  TW_LUMIN_800,
5740
5830
  TW_LUMIN_900,
5741
5831
  TW_LUMIN_950,
5832
+ TW_MODIFIERS,
5833
+ TW_MODIFIERS_CORE,
5834
+ TW_MODIFIERS_ORDER,
5835
+ TW_MODIFIERS_RELN,
5836
+ TW_MODIFIERS_SIZING,
5742
5837
  TYPE_COMPARISONS,
5743
5838
  TYPE_KINDS,
5744
5839
  TYPE_OF,
@@ -5814,6 +5909,7 @@ export {
5814
5909
  getDaysBetween,
5815
5910
  getEach,
5816
5911
  getPhoneCountryCode,
5912
+ getTailwindModifiers,
5817
5913
  getToday,
5818
5914
  getTomorrow,
5819
5915
  getUrlPath,
@@ -6026,6 +6122,13 @@ export {
6026
6122
  isStringArray,
6027
6123
  isSwissNewsUrl,
6028
6124
  isSymbol,
6125
+ isTailwindColor,
6126
+ isTailwindColorClass,
6127
+ isTailwindColorName,
6128
+ isTailwindColorTarget,
6129
+ isTailwindColorWithLuminosity,
6130
+ isTailwindColorWithLuminosityAndOpacity,
6131
+ isTailwindModifier,
6029
6132
  isTargetUrl,
6030
6133
  isTemperatureMetric,
6031
6134
  isTemperatureUom,
@@ -6113,6 +6216,7 @@ export {
6113
6216
  pathJoin,
6114
6217
  pluralize,
6115
6218
  removePhoneCountryCode,
6219
+ removeTailwindModifiers,
6116
6220
  removeUrlProtocol,
6117
6221
  result,
6118
6222
  retain,