|
- 'use strict';
-
- var createPlugin = function (plugin, config) {
- return {
- handler: plugin,
- config: config,
- };
- };
- createPlugin.withOptions = function (pluginFunction, configFunction) {
- if (configFunction === void 0) { configFunction = function () { return ({}); }; }
- var optionsFunction = function (options) {
- if (options === void 0) { options = {}; }
- return {
- __options: options,
- handler: pluginFunction(options),
- config: configFunction(options),
- };
- };
- optionsFunction.__isOptionsFunction = true;
- // Expose plugin dependencies so that `object-hash` returns a different
- // value if anything here changes, to ensure a rebuild is triggered.
- optionsFunction.__pluginFunction = pluginFunction;
- optionsFunction.__configFunction = configFunction;
- return optionsFunction;
- };
-
- var index = createPlugin(function (_a) {
- var addDynamic = _a.addDynamic, theme = _a.theme;
- addDynamic('line-clamp', function (_a) {
- var Utility = _a.Utility, Property = _a.Property, Style = _a.Style;
- if (Utility.amount === 'none')
- return Style(Utility.class, Property('-webkit-line-clamp', 'unset'));
- var value = Utility.handler.handleStatic(theme('lineClamp')).handleNumber(1, undefined, 'int').value;
- if (value) {
- return Style.generate(Utility.class, {
- overflow: 'hidden',
- display: '-webkit-box',
- '-webkit-box-orient': 'vertical',
- '-webkit-line-clamp': value,
- });
- }
- }, {
- group: 'lineClamp',
- completions: [
- 'line-clamp-none',
- 'line-clamp-{int}',
- ],
- });
- }, {
- theme: {
- lineClamp: {},
- },
- variants: {
- lineClamp: ['responsive'],
- },
- });
-
- module.exports = index;
|