qstd 0.3.64 → 0.3.65

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.
@@ -281,7 +281,9 @@ var formatDuration = (value, options = {}) => {
281
281
  showMs = false,
282
282
  spaces = true
283
283
  } = options;
284
- const ms = unit === "ss" ? value * 1e3 : unit === "mm" ? value * 60 * 1e3 : value;
284
+ const isSeconds = unit === "seconds" || unit === "secs" || unit === "ss";
285
+ const isMinutes = unit === "minutes" || unit === "mins" || unit === "mm";
286
+ const ms = isSeconds ? value * 1e3 : isMinutes ? value * 60 * 1e3 : value;
285
287
  const absMs = Math.abs(ms);
286
288
  const totalSeconds = Math.floor(absMs / 1e3);
287
289
  const hours = Math.floor(totalSeconds / 3600);
@@ -274,7 +274,9 @@ var formatDuration = (value, options = {}) => {
274
274
  showMs = false,
275
275
  spaces = true
276
276
  } = options;
277
- const ms = unit === "ss" ? value * 1e3 : unit === "mm" ? value * 60 * 1e3 : value;
277
+ const isSeconds = unit === "seconds" || unit === "secs" || unit === "ss";
278
+ const isMinutes = unit === "minutes" || unit === "mins" || unit === "mm";
279
+ const ms = isSeconds ? value * 1e3 : isMinutes ? value * 60 * 1e3 : value;
278
280
  const absMs = Math.abs(ms);
279
281
  const totalSeconds = Math.floor(absMs / 1e3);
280
282
  const hours = Math.floor(totalSeconds / 3600);
@@ -293,7 +293,9 @@ var formatDuration = (value, options = {}) => {
293
293
  showMs = false,
294
294
  spaces = true
295
295
  } = options;
296
- const ms = unit === "ss" ? value * 1e3 : unit === "mm" ? value * 60 * 1e3 : value;
296
+ const isSeconds = unit === "seconds" || unit === "secs" || unit === "ss";
297
+ const isMinutes = unit === "minutes" || unit === "mins" || unit === "mm";
298
+ const ms = isSeconds ? value * 1e3 : isMinutes ? value * 60 * 1e3 : value;
297
299
  const absMs = Math.abs(ms);
298
300
  const totalSeconds = Math.floor(absMs / 1e3);
299
301
  const hours = Math.floor(totalSeconds / 3600);
@@ -285,7 +285,9 @@ var formatDuration = (value, options = {}) => {
285
285
  showMs = false,
286
286
  spaces = true
287
287
  } = options;
288
- const ms = unit === "ss" ? value * 1e3 : unit === "mm" ? value * 60 * 1e3 : value;
288
+ const isSeconds = unit === "seconds" || unit === "secs" || unit === "ss";
289
+ const isMinutes = unit === "minutes" || unit === "mins" || unit === "mm";
290
+ const ms = isSeconds ? value * 1e3 : isMinutes ? value * 60 * 1e3 : value;
289
291
  const absMs = Math.abs(ms);
290
292
  const totalSeconds = Math.floor(absMs / 1e3);
291
293
  const hours = Math.floor(totalSeconds / 3600);
@@ -1,11 +1,12 @@
1
1
  import type { Locale } from "date-fns";
2
2
  type DurationFormat = "compact" | "full" | "clock" | "fractional";
3
- type DurationUnit = "ms" | "ss" | "mm";
3
+ type DurationUnit = "ms" | "seconds" | "minutes";
4
+ type DurationUnitInput = DurationUnit | "secs" | "ss" | "mins" | "mm";
4
5
  type DurationOptions = {
5
6
  /** Format style: 'compact' (1h 2m), 'full' (1 hour 2 minutes), 'clock' (01:02:03), 'fractional' (1.4s, 1m4.4s) */
6
7
  format?: DurationFormat;
7
- /** Input unit: 'ms' (milliseconds, default), 'ss' (seconds), or 'mm' (minutes). Use 'ss' for audio/video currentTime. */
8
- unit?: DurationUnit;
8
+ /** Input unit: 'ms' (milliseconds, default), 'seconds' (or 'secs'/'ss'), or 'minutes' (or 'mins'/'mm'). Use 'seconds' for audio/video currentTime. */
9
+ unit?: DurationUnitInput;
9
10
  /** Show zero values for intermediate units (e.g., "1h 0m 30s" vs "1h 30s") */
10
11
  showZero?: boolean;
11
12
  /** Include milliseconds in compact format (e.g., "1s 200ms") */
@@ -24,7 +25,7 @@ type DurationOptions = {
24
25
  * @param value - Duration value in the specified unit (defaults to milliseconds)
25
26
  * @param options - Configuration options
26
27
  * @param options.format - Output format: 'clock' (default), 'compact', 'full', or 'fractional'
27
- * @param options.unit - Input unit: 'ms' (milliseconds, default), 'ss' (seconds), or 'mm' (minutes)
28
+ * @param options.unit - Input unit: 'ms' (milliseconds, default), 'seconds' (or 'secs'/'ss'), or 'minutes' (or 'mins'/'mm')
28
29
  * @param options.showZero - Show zero intermediate units (e.g., "1h 0m 0s" vs "1h")
29
30
  * @param options.showMs - Include milliseconds in compact format
30
31
  * @param options.spaces - Use spaces between units in compact format (default: true)
@@ -37,10 +38,10 @@ type DurationOptions = {
37
38
  * // ─────────────────────────────────────────────────────────────────────────────
38
39
  * formatDuration(90000) // "1:30"
39
40
  * formatDuration(3661000) // "1:01:01"
40
- * formatDuration(45, { unit: "ss" }) // "0:45"
41
- * formatDuration(225, { unit: "ss" }) // "3:45"
42
- * formatDuration(3661, { unit: "ss" }) // "1:01:01"
43
- * formatDuration(90, { unit: "mm" }) // "1:30:00"
41
+ * formatDuration(45, { unit: "seconds" }) // "0:45"
42
+ * formatDuration(225, { unit: "seconds" }) // "3:45"
43
+ * formatDuration(3661, { unit: "seconds" }) // "1:01:01"
44
+ * formatDuration(90, { unit: "minutes" }) // "1:30:00"
44
45
  *
45
46
  * // ─────────────────────────────────────────────────────────────────────────────
46
47
  * // COMPACT FORMAT - "1h 2m 3s" or "1h2m3s"
@@ -49,14 +50,14 @@ type DurationOptions = {
49
50
  * formatDuration(90000, { format: "compact" }) // "1m 30s"
50
51
  * formatDuration(3600000, { format: "compact" }) // "1h"
51
52
  * formatDuration(3661000, { format: "compact" }) // "1h 1m 1s"
52
- * formatDuration(45, { unit: "ss", format: "compact" }) // "45s"
53
- * formatDuration(90, { unit: "ss", format: "compact" }) // "1m 30s"
54
- * formatDuration(3661, { unit: "ss", format: "compact" }) // "1h 1m 1s"
53
+ * formatDuration(45, { unit: "seconds", format: "compact" }) // "45s"
54
+ * formatDuration(90, { unit: "seconds", format: "compact" }) // "1m 30s"
55
+ * formatDuration(3661, { unit: "seconds", format: "compact" }) // "1h 1m 1s"
55
56
  *
56
57
  * // Without spaces (recording timer style)
57
- * formatDuration(3661, { unit: "ss", format: "compact", spaces: false }) // "1h1m1s"
58
- * formatDuration(90, { unit: "ss", format: "compact", spaces: false }) // "1m30s"
59
- * formatDuration(45, { unit: "ss", format: "compact", spaces: false }) // "45s"
58
+ * formatDuration(3661, { unit: "seconds", format: "compact", spaces: false }) // "1h1m1s"
59
+ * formatDuration(90, { unit: "seconds", format: "compact", spaces: false }) // "1m30s"
60
+ * formatDuration(45, { unit: "seconds", format: "compact", spaces: false }) // "45s"
60
61
  *
61
62
  * // With zero intermediate units
62
63
  * formatDuration(3600000, { format: "compact", showZero: true }) // "1h 0m 0s"
@@ -92,7 +93,7 @@ type DurationOptions = {
92
93
  * formatDuration(NaN) // "--:--"
93
94
  * formatDuration(Infinity) // "--:--"
94
95
  * formatDuration(-5) // "--:--"
95
- * formatDuration(-5, { unit: "ss" }) // "--:--"
96
+ * formatDuration(-5, { unit: "seconds" }) // "--:--"
96
97
  * ```
97
98
  */
98
99
  export declare const formatDuration: (value: number | null | undefined, options?: DurationOptions) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../src/shared/time.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../src/shared/time.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAMvC,KAAK,cAAc,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,YAAY,CAAC;AAClE,KAAK,YAAY,GAAG,IAAI,GAAG,SAAS,GAAG,SAAS,CAAC;AACjD,KAAK,iBAAiB,GAAG,YAAY,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;AAEtE,KAAK,eAAe,GAAG;IACrB,kHAAkH;IAClH,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,sJAAsJ;IACtJ,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gEAAgE;IAChE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiFG;AACH,eAAO,MAAM,cAAc,GACzB,OAAO,MAAM,GAAG,IAAI,GAAG,SAAS,EAChC,UAAS,eAAoB,WAyH9B,CAAC;AAMF,KAAK,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;AAExC,KAAK,eAAe,GAChB,KAAK,GACL,OAAO,GACP,QAAQ,GACR,MAAM,GACN,UAAU,GACV,MAAM,CAAC;AAEX,KAAK,WAAW,GAAG;IACjB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,UAAU,GAAI,OAAO,SAAS,EAAE,UAAS,WAAgB,WAgDrE,CAAC;AAMF,KAAK,cAAc,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;AAE7C,KAAK,gBAAgB,GAAG;IACtB,+DAA+D;IAC/D,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,4EAA4E;IAC5E,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,mFAAmF;IACnF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uDAAuD;IACvD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC/B,qDAAqD;IACrD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAOF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe,GAC1B,YAAY,cAAc,EAC1B,UAAU,cAAc,EACxB,UAAS,gBAAqB,WAiF/B,CAAC;AAGF,eAAO,MAAM,qBAAqB,GAChC,YAAY,cAAc,EAC1B,UAAU,cAAc,EACxB,UAAS,gBAAqB,WACmB,CAAC;AAMpD,KAAK,QAAQ,GACT,SAAS,GACT,SAAS,GACT,OAAO,GACP,MAAM,GACN,OAAO,GACP,QAAQ,GACR,OAAO,GACP,cAAc,CAAC;AAEnB,KAAK,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAExD;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,GACrB,YAAY,cAAc,EAC1B,WAAU,IAAiB,SAe5B,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,KAAK,GAAI,IAAI,MAAM,KAAG,OAAO,CAAC,IAAI,CACI,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,GAAG,cAAmB,CAAC;AAEpC;;;;GAIG;AACH,eAAO,MAAM,IAAI,GACf,OAAO,MAAM,EACb,OAAM,OAAO,CAAC,QAAQ,EAAE,cAAc,CAAa,WAapD,CAAC;AAMF,KAAK,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;AAEpC,KAAK,YAAY,CAAC,CAAC,SAAS,WAAW,GAAG,IAAI,IAAI;IAChD,MAAM,CAAC,EAAE,CAAC,CAAC;CACZ,CAAC;AAEF,KAAK,KAAK,CAAC,CAAC,SAAS,WAAW,IAAI;IAClC,6HAA6H;IAC7H,IAAI,EAAE,MAAM,CAAC,SAAS,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;IAClD,6GAA6G;IAC7G,OAAO,EAAE,MAAM,CAAC,SAAS,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;CACtD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;AAC1C,wBAAgB,UAAU,CAAC,CAAC,SAAS,WAAW,EAC9C,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GACvB,KAAK,CAAC,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "qstd",
3
- "version": "0.3.64",
3
+ "version": "0.3.65",
4
4
  "description": "Standard Block component and utilities library with Panda CSS",
5
5
  "author": "malin1",
6
6
  "license": "MIT",