@itera-web/react-ui-textoverflow 1.1.0

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/LICENSE.md ADDED
File without changes
package/README.md ADDED
@@ -0,0 +1 @@
1
+ ### [使用文档](http://iterative.keyboardecho.com/)
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ interface TextOverflowProps {
3
+ className?: string;
4
+ lines?: number;
5
+ lineHeight?: number;
6
+ controlButton?: React.ReactNode | string;
7
+ children: React.ReactNode;
8
+ }
9
+ export declare function TextOverflow({ className, lines, lineHeight, controlButton, children, }: TextOverflowProps): React.JSX.Element;
10
+ export {};
package/es/index.d.ts ADDED
@@ -0,0 +1 @@
1
+ export { TextOverflow } from './TextOverflow';
package/es/index.js ADDED
@@ -0,0 +1 @@
1
+ import*as e from"react";import*as t from"@itera-web/hooks-setstate";import*as r from"@itera-web/react-ui-button";import*as n from"@itera-web/utils-cn";var o={d:(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},a={};o.d(a,{l:()=>l});const c=(e=>{var t={};return o.d(t,e),t})({default:()=>e.default,useEffect:()=>e.useEffect,useMemo:()=>e.useMemo,useRef:()=>e.useRef,useState:()=>e.useState});const u=(e=>{var t={};return o.d(t,e),t})({useSetState:()=>t.useSetState});const i=(e=>{var t={};return o.d(t,e),t})({Button:()=>r.Button});const s=(e=>{var t={};return o.d(t,e),t})({cn:()=>n.cn});function l(e){var t=e.className,r=e.lines,n=void 0===r?1:r,o=e.lineHeight,a=void 0===o?1.5:o,l=e.controlButton,f=void 0===l?"":l,m=e.children,d=(0,u.useSetState)(!1),v=d[0],b=d[1],h=d[2],p=(0,c.useState)(!1),g=p[0],E=p[1],S=(0,c.useRef)(null),w=(0,c.useMemo)(function(){return"".concat((n-1)*a,"em")},[n,a]),x=function(){var e=S.current;e&&E(e.scrollHeight>e.clientHeight)},y=function(){b(!h())};return(0,c.useEffect)(function(){x()},[m,n,a,v]),(0,c.useEffect)(function(){var e=S.current;if(e){var t=new ResizeObserver(function(){x()});return t.observe(e),function(){return t.disconnect()}}},[]),c.default.createElement("div",{className:(0,s.cn)('relative text-font text-sm break-words overflow-hidden transition-all before:content-[""] before:block before:h-[var(--before-height)]',t),ref:S,style:{lineHeight:a,maxHeight:v?"none":"".concat(n*a,"em"),"--before-height":w}},c.default.createElement("div",{className:"float-right"},g&&"...",!v&&g&&(f||c.default.createElement(i.Button,{className:"ml-1",color:"primary",onClick:function(){return y()},variant:"text"},"展开"))),c.default.createElement("div",{style:{marginTop:"-".concat(w)}},m,v&&(f||c.default.createElement(i.Button,{className:"ml-1",color:"primary",onClick:function(){return y()},variant:"text"},"收起"))))}var f=a.l;export{f as TextOverflow};
package/package.json ADDED
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "@itera-web/react-ui-textoverflow",
3
+ "description": "多行文本溢出展开收缩",
4
+ "version": "1.1.0",
5
+ "main": "es/index.js",
6
+ "types": "es/index.d.ts",
7
+ "publishConfig": {
8
+ "access": "public"
9
+ },
10
+ "license": "MIT",
11
+ "scripts": {
12
+ "build": "itera-cli package",
13
+ "up": "npm publish"
14
+ },
15
+ "dependencies": {
16
+ "@itera-web/hooks-setstate": "^1.22.0",
17
+ "@itera-web/react-ui-button": "^1.28.1",
18
+ "@itera-web/utils-cn": "^1.22.0"
19
+ },
20
+ "peerDependencies": {
21
+ "react": ">=17.0.0",
22
+ "react-dom": ">=17.0.0"
23
+ },
24
+ "devDependencies": {
25
+ "@itera-web/cli": "^1.1.54"
26
+ },
27
+ "gitHead": "dfd4b68b5b22d838a9b71e170dd46e32312538c0"
28
+ }