typewritingclass 0.2.1 → 0.2.2
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.
- package/package.json +1 -1
- package/src/tw.ts +70 -63
package/package.json
CHANGED
package/src/tw.ts
CHANGED
|
@@ -286,13 +286,20 @@ export function isTwChain(value: unknown): value is TwChain {
|
|
|
286
286
|
// ---------------------------------------------------------------------------
|
|
287
287
|
|
|
288
288
|
/** @internal A utility that accepts arguments and returns a chain. Also chainable without calling (for optional-arg utilities like `shadow`). */
|
|
289
|
-
|
|
289
|
+
/**
|
|
290
|
+
* A TwChain that is also assignable to `string`, so it can be used directly
|
|
291
|
+
* in `className={tw.p(4)}` without wrapping in a template literal.
|
|
292
|
+
* At runtime, the Proxy's `toString()` is called when string coercion occurs.
|
|
293
|
+
*/
|
|
294
|
+
export type TwChainString = TwChain & string
|
|
295
|
+
|
|
296
|
+
type TwUtility = ((...args: any[]) => TwChainString) & TwChainString
|
|
290
297
|
|
|
291
298
|
/** @internal A modifier usable as a property (`tw.hover.bg(…)`) or function (`tw.hover(tw.bg(…))`). */
|
|
292
|
-
type TwModifier =
|
|
299
|
+
type TwModifier = TwChainString & ((...chains: (TwChain | string)[]) => TwChainString)
|
|
293
300
|
|
|
294
301
|
/** @internal A parameterized modifier that requires arguments before it becomes a modifier. */
|
|
295
|
-
type TwParamModifier = (...args: any[]) =>
|
|
302
|
+
type TwParamModifier = (...args: any[]) => TwChainString
|
|
296
303
|
|
|
297
304
|
// ---------------------------------------------------------------------------
|
|
298
305
|
// TwChain type
|
|
@@ -323,7 +330,7 @@ export interface TwChain {
|
|
|
323
330
|
/** Resolves the chain to a class name string */
|
|
324
331
|
readonly className: string
|
|
325
332
|
/** Allow the chain to be called as a function */
|
|
326
|
-
(...args: any[]):
|
|
333
|
+
(...args: any[]): TwChainString
|
|
327
334
|
|
|
328
335
|
// ---- Utilities (take arguments) — keep in sync with UTILS ----
|
|
329
336
|
|
|
@@ -576,70 +583,70 @@ export interface TwChain {
|
|
|
576
583
|
// ---- Value-less utilities (no arguments) — keep in sync with VALUELESS ----
|
|
577
584
|
|
|
578
585
|
// Layout
|
|
579
|
-
readonly flex:
|
|
580
|
-
readonly flexCol:
|
|
581
|
-
readonly flexRow:
|
|
582
|
-
readonly flexWrap:
|
|
583
|
-
readonly inlineFlex:
|
|
584
|
-
readonly relative:
|
|
585
|
-
readonly absolute:
|
|
586
|
-
readonly fixed:
|
|
587
|
-
readonly sticky:
|
|
588
|
-
readonly static:
|
|
589
|
-
readonly visible:
|
|
590
|
-
readonly invisible:
|
|
591
|
-
readonly collapse:
|
|
592
|
-
readonly isolate:
|
|
593
|
-
readonly isolationAuto:
|
|
594
|
-
readonly container:
|
|
595
|
-
readonly flexRowReverse:
|
|
596
|
-
readonly flexColReverse:
|
|
597
|
-
readonly flexWrapReverse:
|
|
598
|
-
readonly flexNowrap:
|
|
599
|
-
readonly flex1:
|
|
600
|
-
readonly flexAuto:
|
|
601
|
-
readonly flexInitial:
|
|
602
|
-
readonly flexNone:
|
|
586
|
+
readonly flex: TwChainString
|
|
587
|
+
readonly flexCol: TwChainString
|
|
588
|
+
readonly flexRow: TwChainString
|
|
589
|
+
readonly flexWrap: TwChainString
|
|
590
|
+
readonly inlineFlex: TwChainString
|
|
591
|
+
readonly relative: TwChainString
|
|
592
|
+
readonly absolute: TwChainString
|
|
593
|
+
readonly fixed: TwChainString
|
|
594
|
+
readonly sticky: TwChainString
|
|
595
|
+
readonly static: TwChainString
|
|
596
|
+
readonly visible: TwChainString
|
|
597
|
+
readonly invisible: TwChainString
|
|
598
|
+
readonly collapse: TwChainString
|
|
599
|
+
readonly isolate: TwChainString
|
|
600
|
+
readonly isolationAuto: TwChainString
|
|
601
|
+
readonly container: TwChainString
|
|
602
|
+
readonly flexRowReverse: TwChainString
|
|
603
|
+
readonly flexColReverse: TwChainString
|
|
604
|
+
readonly flexWrapReverse: TwChainString
|
|
605
|
+
readonly flexNowrap: TwChainString
|
|
606
|
+
readonly flex1: TwChainString
|
|
607
|
+
readonly flexAuto: TwChainString
|
|
608
|
+
readonly flexInitial: TwChainString
|
|
609
|
+
readonly flexNone: TwChainString
|
|
603
610
|
// Typography
|
|
604
|
-
readonly antialiased:
|
|
605
|
-
readonly subpixelAntialiased:
|
|
606
|
-
readonly italic:
|
|
607
|
-
readonly notItalic:
|
|
608
|
-
readonly truncate:
|
|
609
|
-
readonly normalNums:
|
|
610
|
-
readonly ordinal:
|
|
611
|
-
readonly slashedZero:
|
|
612
|
-
readonly liningNums:
|
|
613
|
-
readonly oldstyleNums:
|
|
614
|
-
readonly proportionalNums:
|
|
615
|
-
readonly tabularNums:
|
|
616
|
-
readonly diagonalFractions:
|
|
617
|
-
readonly stackedFractions:
|
|
611
|
+
readonly antialiased: TwChainString
|
|
612
|
+
readonly subpixelAntialiased: TwChainString
|
|
613
|
+
readonly italic: TwChainString
|
|
614
|
+
readonly notItalic: TwChainString
|
|
615
|
+
readonly truncate: TwChainString
|
|
616
|
+
readonly normalNums: TwChainString
|
|
617
|
+
readonly ordinal: TwChainString
|
|
618
|
+
readonly slashedZero: TwChainString
|
|
619
|
+
readonly liningNums: TwChainString
|
|
620
|
+
readonly oldstyleNums: TwChainString
|
|
621
|
+
readonly proportionalNums: TwChainString
|
|
622
|
+
readonly tabularNums: TwChainString
|
|
623
|
+
readonly diagonalFractions: TwChainString
|
|
624
|
+
readonly stackedFractions: TwChainString
|
|
618
625
|
// Borders
|
|
619
|
-
readonly ringInset:
|
|
620
|
-
readonly outlineNone:
|
|
621
|
-
readonly borderCollapse:
|
|
622
|
-
readonly borderSeparate:
|
|
623
|
-
readonly spaceXReverse:
|
|
624
|
-
readonly spaceYReverse:
|
|
625
|
-
readonly divideXReverse:
|
|
626
|
-
readonly divideYReverse:
|
|
626
|
+
readonly ringInset: TwChainString
|
|
627
|
+
readonly outlineNone: TwChainString
|
|
628
|
+
readonly borderCollapse: TwChainString
|
|
629
|
+
readonly borderSeparate: TwChainString
|
|
630
|
+
readonly spaceXReverse: TwChainString
|
|
631
|
+
readonly spaceYReverse: TwChainString
|
|
632
|
+
readonly divideXReverse: TwChainString
|
|
633
|
+
readonly divideYReverse: TwChainString
|
|
627
634
|
// Transforms
|
|
628
|
-
readonly transformGpu:
|
|
629
|
-
readonly transformNone:
|
|
635
|
+
readonly transformGpu: TwChainString
|
|
636
|
+
readonly transformNone: TwChainString
|
|
630
637
|
// Transitions
|
|
631
|
-
readonly transitionAll:
|
|
632
|
-
readonly transitionColors:
|
|
633
|
-
readonly transitionOpacity:
|
|
634
|
-
readonly transitionShadow:
|
|
635
|
-
readonly transitionTransform:
|
|
636
|
-
readonly transitionNone:
|
|
638
|
+
readonly transitionAll: TwChainString
|
|
639
|
+
readonly transitionColors: TwChainString
|
|
640
|
+
readonly transitionOpacity: TwChainString
|
|
641
|
+
readonly transitionShadow: TwChainString
|
|
642
|
+
readonly transitionTransform: TwChainString
|
|
643
|
+
readonly transitionNone: TwChainString
|
|
637
644
|
// Accessibility
|
|
638
|
-
readonly srOnly:
|
|
639
|
-
readonly notSrOnly:
|
|
645
|
+
readonly srOnly: TwChainString
|
|
646
|
+
readonly notSrOnly: TwChainString
|
|
640
647
|
// Raw class names
|
|
641
|
-
readonly group:
|
|
642
|
-
readonly peer:
|
|
648
|
+
readonly group: TwChainString
|
|
649
|
+
readonly peer: TwChainString
|
|
643
650
|
|
|
644
651
|
// ---- Simple modifiers (no arguments) — keep in sync with MODS ----
|
|
645
652
|
|
|
@@ -957,4 +964,4 @@ function createChain(rules: (StyleRule | string)[], pendingMods: Modifier[]): Tw
|
|
|
957
964
|
* const classes = tw.p(4).bg('blue-500').value
|
|
958
965
|
* ```
|
|
959
966
|
*/
|
|
960
|
-
export const tw:
|
|
967
|
+
export const tw: TwChainString = createChain([], []) as TwChainString
|