Skip to content

Commit 6ed11e7

Browse files
Merge pull request #31 from SpiderDan98/feat/add-leading-shorthand
feat: add leading shorthand
2 parents dca7bd3 + 43e10f9 commit 6ed11e7

File tree

4 files changed

+30
-6
lines changed

4 files changed

+30
-6
lines changed

README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -371,6 +371,16 @@ export function cn(...inputs: ClassValue[]) {
371371
372372
```
373373

374+
### Overwrite default line-height
375+
376+
Sometimes it may be useful to override the default line height that you set in your config. Therefore, this plugin supports the Tailwind font size line-height shorthand. This works as follows.
377+
378+
```html
379+
<h1 class="text-9xl/snug">The quick brown fox jumps over the lazy dogs</h1>
380+
```
381+
382+
See the [official Tailwind documentation](https://tailwindcss.com/blog/tailwindcss-v3-3#new-line-height-shorthand-for-font-size-utilities) for more information.
383+
374384
## 👉🏻 Live Demo
375385

376386
[Fluid Type Live Demo](https://play.tailwindcss.com/TegGD6vkSM)

src/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ const createThemeOptions = require('./utils/createThemeOptions')
55

66
module.exports = plugin.withOptions(
77
function (options) {
8-
return function ({addUtilities, variants, e}) {
9-
addUtilities(createClasses(options, e),
8+
return function ({addUtilities, variants, e, theme}) {
9+
addUtilities(createClasses(options, e, theme),
1010
variants('fontSizeFluid', defaults.variants));
1111
};
1212
},

src/utils/createClasses.js

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
const calcModularScale = require('./calcModularScale')
22
const createData = require('./createData')
33
const defaults = require("../config/defaults");
4+
const createLeadingClasses = require('./createLeadingClasses');
45

5-
module.exports = (options, e) => {
6+
module.exports = (options, e, theme) => {
67
const data = createData(options, {}, defaults)
78

89
if (data.values) {
@@ -47,9 +48,7 @@ module.exports = (options, e) => {
4748
}
4849
}
4950

50-
return {
51-
[`.${e(`${data.prefix}text-${key}`)}`]: output,
52-
}
51+
return createLeadingClasses(`.${e(`${data.prefix}text-${key}`)}`, output, e, theme)
5352
})
5453
}
5554
}

src/utils/createLeadingClasses.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
module.exports = (className, output, e, theme) => {
2+
const lineHeights = theme('lineHeight')
3+
4+
const defaultClass = {
5+
[className]: output,
6+
}
7+
8+
return Object.entries(lineHeights).reduce((classes, [name, lineHeight]) => ({
9+
...classes,
10+
[`${className}${e(`/${name}`)}`]: {
11+
...output,
12+
lineHeight,
13+
}
14+
}), defaultClass)
15+
}

0 commit comments

Comments
 (0)