@tiny-design/react 1.4.0 → 1.5.1
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/es/alert/alert.js +2 -2
- package/es/alert/alert.js.map +1 -1
- package/es/alert/style/_index.scss +8 -4
- package/es/alert/style/index.css +7 -4
- package/es/auto-complete/style/_index.scss +4 -5
- package/es/auto-complete/style/index.css +4 -5
- package/es/breadcrumb/style/index.css +1 -1
- package/es/breadcrumb/types.d.ts +1 -1
- package/es/button/style/index.css +14 -14
- package/es/calendar/style/_index.scss +9 -9
- package/es/calendar/style/index.css +9 -9
- package/es/card/style/index.css +3 -3
- package/es/cascader/style/_index.scss +9 -9
- package/es/cascader/style/index.css +9 -9
- package/es/checkbox/style/_index.scss +9 -12
- package/es/checkbox/style/index.css +9 -12
- package/es/collapse/collapse-panel.js +20 -20
- package/es/collapse/collapse-panel.js.map +1 -1
- package/es/collapse/style/_index.scss +27 -10
- package/es/collapse/style/index.css +27 -12
- package/es/color-picker/style/_index.scss +7 -7
- package/es/color-picker/style/index.css +4 -4
- package/es/date-picker/style/_index.scss +1 -1
- package/es/date-picker/style/index.css +1 -1
- package/es/descriptions/style/_index.scss +5 -6
- package/es/descriptions/style/index.css +6 -6
- package/es/empty/style/_index.scss +1 -1
- package/es/empty/style/index.css +1 -1
- package/es/form/style/_index.scss +5 -6
- package/es/form/style/index.css +4 -4
- package/es/index.d.ts +2 -1
- package/es/index.js +2 -1
- package/es/input/style/_index.scss +5 -4
- package/es/input/style/_mixin.scss +1 -1
- package/es/input/style/index.css +21 -20
- package/es/input-number/input-number.js +11 -5
- package/es/input-number/input-number.js.map +1 -1
- package/es/input-number/style/_index.scss +5 -3
- package/es/input-number/style/index.css +13 -11
- package/es/input-otp/input-otp.js +5 -7
- package/es/input-otp/input-otp.js.map +1 -1
- package/es/input-otp/style/_index.scss +1 -1
- package/es/input-otp/style/index.css +8 -8
- package/es/list/list.js +2 -2
- package/es/list/list.js.map +1 -1
- package/es/list/style/_index.scss +3 -3
- package/es/list/style/index.css +3 -3
- package/es/marquee/index.d.ts +1 -0
- package/es/marquee/index.js +9 -0
- package/es/marquee/index.js.map +1 -0
- package/es/marquee/marquee.d.ts +8 -0
- package/es/marquee/marquee.js +42 -0
- package/es/marquee/marquee.js.map +1 -0
- package/es/marquee/style/_index.scss +77 -0
- package/es/marquee/style/index.css +64 -0
- package/es/marquee/style/index.d.ts +1 -0
- package/es/marquee/style/index.js +1 -0
- package/es/marquee/types.d.ts +21 -0
- package/es/native-select/style/index.css +4 -4
- package/es/notification/style/_index.scss +1 -1
- package/es/notification/style/index.css +1 -1
- package/es/pop-confirm/style/_index.scss +1 -1
- package/es/pop-confirm/style/index.css +1 -1
- package/es/popup/style/_index.scss +9 -9
- package/es/popup/style/index.css +10 -10
- package/es/radio/style/_index.scss +5 -8
- package/es/radio/style/index.css +5 -8
- package/es/segmented/style/_index.scss +10 -10
- package/es/segmented/style/index.css +9 -9
- package/es/select/style/_index.scss +16 -17
- package/es/select/style/index.css +15 -16
- package/es/speed-dial/style/_index.scss +2 -2
- package/es/speed-dial/style/index.css +2 -2
- package/es/statistic/style/_index.scss +2 -2
- package/es/statistic/style/index.css +2 -2
- package/es/strength-indicator/strength-indicator.js +4 -3
- package/es/strength-indicator/strength-indicator.js.map +1 -1
- package/es/style/_component.scss +1 -0
- package/es/style/base.css +57 -0
- package/es/table/style/_index.scss +6 -6
- package/es/table/style/index.css +5 -5
- package/es/tag/style/index.css +1 -1
- package/es/tag/tag.js +5 -5
- package/es/tag/tag.js.map +1 -1
- package/es/textarea/style/index.css +2 -2
- package/es/time-picker/style/_index.scss +1 -1
- package/es/time-picker/style/index.css +1 -1
- package/es/timeline/style/_index.scss +3 -3
- package/es/timeline/style/index.css +3 -3
- package/es/tooltip/style/index.css +1 -1
- package/es/transfer/style/_index.scss +4 -4
- package/es/transfer/style/index.css +4 -4
- package/es/tree/style/index.css +1 -1
- package/es/typography/style/_index.scss +2 -2
- package/es/typography/style/index.css +2 -2
- package/es/upload/style/_index.scss +4 -4
- package/es/upload/style/index.css +4 -4
- package/es/waterfall/waterfall.js +7 -2
- package/es/waterfall/waterfall.js.map +1 -1
- package/lib/alert/alert.js +2 -2
- package/lib/alert/alert.js.map +1 -1
- package/lib/alert/style/_index.scss +8 -4
- package/lib/alert/style/index.css +7 -4
- package/lib/auto-complete/style/_index.scss +4 -5
- package/lib/auto-complete/style/index.css +4 -5
- package/lib/breadcrumb/style/index.css +1 -1
- package/lib/breadcrumb/types.d.ts +1 -1
- package/lib/button/style/index.css +14 -14
- package/lib/calendar/style/_index.scss +9 -9
- package/lib/calendar/style/index.css +9 -9
- package/lib/card/style/index.css +3 -3
- package/lib/cascader/style/_index.scss +9 -9
- package/lib/cascader/style/index.css +9 -9
- package/lib/checkbox/style/_index.scss +9 -12
- package/lib/checkbox/style/index.css +9 -12
- package/lib/collapse/collapse-panel.js +20 -20
- package/lib/collapse/collapse-panel.js.map +1 -1
- package/lib/collapse/style/_index.scss +27 -10
- package/lib/collapse/style/index.css +27 -12
- package/lib/color-picker/style/_index.scss +7 -7
- package/lib/color-picker/style/index.css +4 -4
- package/lib/date-picker/style/_index.scss +1 -1
- package/lib/date-picker/style/index.css +1 -1
- package/lib/descriptions/style/_index.scss +5 -6
- package/lib/descriptions/style/index.css +6 -6
- package/lib/empty/style/_index.scss +1 -1
- package/lib/empty/style/index.css +1 -1
- package/lib/form/style/_index.scss +5 -6
- package/lib/form/style/index.css +4 -4
- package/lib/index.d.ts +2 -1
- package/lib/index.js +76 -74
- package/lib/input/style/_index.scss +5 -4
- package/lib/input/style/_mixin.scss +1 -1
- package/lib/input/style/index.css +21 -20
- package/lib/input-number/input-number.js +11 -5
- package/lib/input-number/input-number.js.map +1 -1
- package/lib/input-number/style/_index.scss +5 -3
- package/lib/input-number/style/index.css +13 -11
- package/lib/input-otp/input-otp.js +5 -7
- package/lib/input-otp/input-otp.js.map +1 -1
- package/lib/input-otp/style/_index.scss +1 -1
- package/lib/input-otp/style/index.css +8 -8
- package/lib/list/list.js +2 -2
- package/lib/list/list.js.map +1 -1
- package/lib/list/style/_index.scss +3 -3
- package/lib/list/style/index.css +3 -3
- package/lib/marquee/index.js +8 -0
- package/lib/marquee/index.js.map +1 -0
- package/lib/marquee/marquee.d.ts +8 -0
- package/lib/marquee/marquee.js +45 -0
- package/lib/marquee/marquee.js.map +1 -0
- package/lib/marquee/style/_index.scss +77 -0
- package/lib/marquee/style/index.css +64 -0
- package/lib/marquee/style/index.d.ts +1 -0
- package/lib/marquee/style/index.js +1 -0
- package/lib/marquee/types.d.ts +21 -0
- package/lib/native-select/style/index.css +4 -4
- package/lib/notification/style/_index.scss +1 -1
- package/lib/notification/style/index.css +1 -1
- package/lib/pop-confirm/style/_index.scss +1 -1
- package/lib/pop-confirm/style/index.css +1 -1
- package/lib/popup/style/_index.scss +9 -9
- package/lib/popup/style/index.css +10 -10
- package/lib/radio/style/_index.scss +5 -8
- package/lib/radio/style/index.css +5 -8
- package/lib/segmented/style/_index.scss +10 -10
- package/lib/segmented/style/index.css +9 -9
- package/lib/select/style/_index.scss +16 -17
- package/lib/select/style/index.css +15 -16
- package/lib/speed-dial/style/_index.scss +2 -2
- package/lib/speed-dial/style/index.css +2 -2
- package/lib/statistic/style/_index.scss +2 -2
- package/lib/statistic/style/index.css +2 -2
- package/lib/strength-indicator/strength-indicator.js +4 -3
- package/lib/strength-indicator/strength-indicator.js.map +1 -1
- package/lib/style/_component.scss +1 -0
- package/lib/style/base.css +57 -0
- package/lib/table/style/_index.scss +6 -6
- package/lib/table/style/index.css +5 -5
- package/lib/tag/style/index.css +1 -1
- package/lib/tag/tag.js +5 -5
- package/lib/tag/tag.js.map +1 -1
- package/lib/textarea/style/index.css +2 -2
- package/lib/time-picker/style/_index.scss +1 -1
- package/lib/time-picker/style/index.css +1 -1
- package/lib/timeline/style/_index.scss +3 -3
- package/lib/timeline/style/index.css +3 -3
- package/lib/tooltip/style/index.css +1 -1
- package/lib/transfer/style/_index.scss +4 -4
- package/lib/transfer/style/index.css +4 -4
- package/lib/tree/style/index.css +1 -1
- package/lib/typography/style/_index.scss +2 -2
- package/lib/typography/style/index.css +2 -2
- package/lib/upload/style/_index.scss +4 -4
- package/lib/upload/style/index.css +4 -4
- package/lib/waterfall/waterfall.js +7 -2
- package/lib/waterfall/waterfall.js.map +1 -1
- package/package.json +3 -3
package/lib/list/list.js
CHANGED
|
@@ -54,7 +54,7 @@ const List = react.default.forwardRef((props, ref) => {
|
|
|
54
54
|
});
|
|
55
55
|
if (renderItem) {
|
|
56
56
|
const [start, end] = visibleRange;
|
|
57
|
-
const visibleItems = dataSource.slice(start, end + 1).map((item, i) => renderItem(item, start + i));
|
|
57
|
+
const visibleItems = dataSource.slice(start, end + 1).map((item, i) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react.default.Fragment, { children: renderItem(item, start + i) }, start + i));
|
|
58
58
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
59
59
|
style: {
|
|
60
60
|
height: totalHeight,
|
|
@@ -80,7 +80,7 @@ const List = react.default.forwardRef((props, ref) => {
|
|
|
80
80
|
children: locale?.emptyText ?? "No Data"
|
|
81
81
|
});
|
|
82
82
|
if (renderItem) {
|
|
83
|
-
const rendered = items.map((item, index) => renderItem(item, index));
|
|
83
|
+
const rendered = items.map((item, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react.default.Fragment, { children: renderItem(item, index) }, index));
|
|
84
84
|
if (grid) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
85
85
|
className: `${prefixCls}__grid`,
|
|
86
86
|
style: {
|
package/lib/list/list.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","names":["React","ConfigContext","getPrefixCls","useVirtualScroll","Pagination"],"sources":["../../src/list/list.tsx"],"sourcesContent":["import React, { useContext, useState } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { useVirtualScroll } from '../_utils/use-virtual-scroll';\nimport Pagination from '../pagination';\nimport { ListProps } from './types';\n\nconst ITEM_HEIGHT_MAP = { sm: 41, md: 49, lg: 57 } as const;\n\nconst List = React.forwardRef<HTMLDivElement, ListProps>((props, ref) => {\n const {\n dataSource = [],\n renderItem,\n header,\n footer,\n loading = false,\n bordered = false,\n split = true,\n size,\n grid,\n locale,\n virtual = false,\n height,\n itemHeight: itemHeightProp,\n pagination,\n prefixCls: customisedCls,\n className,\n style,\n children,\n ...otherProps\n } = props;\n\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('list', configContext.prefixCls, customisedCls);\n const listSize = size || configContext.componentSize || 'md';\n\n if (virtual && height == null) {\n console.warn('[tiny-design: List] `height` is required when `virtual` is enabled.');\n }\n if (virtual && grid) {\n console.warn('[tiny-design: List] `virtual` is not supported with `grid` mode. Falling back to normal rendering.');\n }\n\n const isVirtual = virtual && height != null && !grid;\n\n const [currentPage, setCurrentPage] = useState(1);\n const pageSize = pagination && pagination.pageSize ? pagination.pageSize : 10;\n\n const itemHeight = itemHeightProp ?? ITEM_HEIGHT_MAP[listSize] ?? ITEM_HEIGHT_MAP.md;\n const { visibleRange, totalHeight, offsetY, onScroll } = useVirtualScroll({\n itemCount: dataSource.length,\n itemHeight,\n containerHeight: height ?? 0,\n });\n\n const cls = classNames(prefixCls, className, {\n [`${prefixCls}_${listSize}`]: listSize,\n [`${prefixCls}_bordered`]: bordered,\n [`${prefixCls}_split`]: split,\n [`${prefixCls}_loading`]: loading,\n [`${prefixCls}_grid`]: grid,\n });\n\n const paginatedData = () => {\n if (!pagination) return dataSource;\n const page = pagination.current ?? currentPage;\n const start = (page - 1) * pageSize;\n return dataSource.slice(start, start + pageSize);\n };\n\n const handlePageChange = (page: number) => {\n setCurrentPage(page);\n pagination && pagination.onChange?.(page, pageSize);\n };\n\n const renderItems = () => {\n if (isVirtual) {\n if (dataSource.length === 0) {\n return (\n <div className={`${prefixCls}__empty`}>\n {locale?.emptyText ?? 'No Data'}\n </div>\n );\n }\n if (renderItem) {\n const [start, end] = visibleRange;\n const visibleItems = dataSource.slice(start, end + 1).map((item, i) => renderItem(item, start + i));\n return (\n <div style={{ height: totalHeight, position: 'relative' }}>\n <div style={{ position: 'absolute', top: 0, left: 0, right: 0, transform: `translateY(${offsetY}px)` }}>\n {visibleItems}\n </div>\n </div>\n );\n }\n return children;\n }\n\n const items = paginatedData();\n if (items.length === 0 && !children) {\n return (\n <div className={`${prefixCls}__empty`}>\n {locale?.emptyText ?? 'No Data'}\n </div>\n );\n }\n if (renderItem) {\n const rendered = items.map((item, index) => renderItem(item, index));\n if (grid) {\n return (\n <div\n className={`${prefixCls}__grid`}\n style={{\n display: 'grid',\n gridTemplateColumns: `repeat(${grid.column || 3}, 1fr)`,\n gap: grid.gutter ? `${grid.gutter}px` : undefined,\n }}\n >\n {rendered}\n </div>\n );\n }\n return rendered;\n }\n return children;\n };\n\n const showPagination = pagination && !isVirtual;\n const paginationConfig = pagination && typeof pagination === 'object' ? pagination : undefined;\n const totalItems = paginationConfig?.total ?? dataSource.length;\n const activePage = paginationConfig?.current ?? currentPage;\n\n const bodyCls = classNames(`${prefixCls}__body`, {\n [`${prefixCls}__body_virtual`]: isVirtual,\n });\n\n const bodyStyle: React.CSSProperties | undefined = isVirtual\n ? { height, overflowY: 'auto' }\n : undefined;\n\n return (\n <div {...otherProps} ref={ref} className={cls} style={style}>\n {header && <div className={`${prefixCls}__header`}>{header}</div>}\n <div className={bodyCls} style={bodyStyle} onScroll={isVirtual ? onScroll : undefined}>\n {loading ? (\n <div className={`${prefixCls}__loading`}>Loading...</div>\n ) : (\n renderItems()\n )}\n </div>\n {footer && <div className={`${prefixCls}__footer`}>{footer}</div>}\n {showPagination && (\n <Pagination\n current={activePage}\n total={totalItems}\n pageSize={pageSize}\n align={paginationConfig?.align ?? 'right'}\n size={paginationConfig?.size}\n disabled={paginationConfig?.disabled}\n onChange={(page) => handlePageChange(page)}\n style={{ padding: 16 }}\n />\n )}\n </div>\n );\n});\n\nList.displayName = 'List';\nexport default List;\n"],"mappings":";;;;;;;;;;;AAQA,MAAM,kBAAkB;CAAE,IAAI;CAAI,IAAI;CAAI,IAAI;CAAI;AAElD,MAAM,OAAOA,MAAAA,QAAM,YAAuC,OAAO,QAAQ;CACvE,MAAM,EACJ,aAAa,EAAE,EACf,YACA,QACA,QACA,UAAU,OACV,WAAW,OACX,QAAQ,MACR,MACA,MACA,QACA,UAAU,OACV,QACA,YAAY,gBACZ,YACA,WAAW,eACX,WACA,OACA,UACA,GAAG,eACD;CAEJ,MAAM,iBAAA,GAAA,MAAA,YAA2BC,uBAAAA,cAAc;CAC/C,MAAM,YAAYC,gBAAAA,aAAa,QAAQ,cAAc,WAAW,cAAc;CAC9E,MAAM,WAAW,QAAQ,cAAc,iBAAiB;AAExD,KAAI,WAAW,UAAU,KACvB,SAAQ,KAAK,sEAAsE;AAErF,KAAI,WAAW,KACb,SAAQ,KAAK,qGAAqG;CAGpH,MAAM,YAAY,WAAW,UAAU,QAAQ,CAAC;CAEhD,MAAM,CAAC,aAAa,mBAAA,GAAA,MAAA,UAA2B,EAAE;CACjD,MAAM,WAAW,cAAc,WAAW,WAAW,WAAW,WAAW;CAE3E,MAAM,aAAa,kBAAkB,gBAAgB,aAAa,gBAAgB;CAClF,MAAM,EAAE,cAAc,aAAa,SAAS,aAAaC,2BAAAA,iBAAiB;EACxE,WAAW,WAAW;EACtB;EACA,iBAAiB,UAAU;EAC5B,CAAC;CAEF,MAAM,OAAA,GAAA,WAAA,SAAiB,WAAW,WAAW;GAC1C,GAAG,UAAU,GAAG,aAAa;GAC7B,GAAG,UAAU,aAAa;GAC1B,GAAG,UAAU,UAAU;GACvB,GAAG,UAAU,YAAY;GACzB,GAAG,UAAU,SAAS;EACxB,CAAC;CAEF,MAAM,sBAAsB;AAC1B,MAAI,CAAC,WAAY,QAAO;EAExB,MAAM,UADO,WAAW,WAAW,eACb,KAAK;AAC3B,SAAO,WAAW,MAAM,OAAO,QAAQ,SAAS;;CAGlD,MAAM,oBAAoB,SAAiB;AACzC,iBAAe,KAAK;AACpB,gBAAc,WAAW,WAAW,MAAM,SAAS;;CAGrD,MAAM,oBAAoB;AACxB,MAAI,WAAW;AACb,OAAI,WAAW,WAAW,EACxB,QACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;IAAK,WAAW,GAAG,UAAU;cAC1B,QAAQ,aAAa;IAClB,CAAA;AAGV,OAAI,YAAY;IACd,MAAM,CAAC,OAAO,OAAO;IACrB,MAAM,eAAe,WAAW,MAAM,OAAO,MAAM,EAAE,CAAC,KAAK,MAAM,
|
|
1
|
+
{"version":3,"file":"list.js","names":["React","ConfigContext","getPrefixCls","useVirtualScroll","Pagination"],"sources":["../../src/list/list.tsx"],"sourcesContent":["import React, { useContext, useState } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { useVirtualScroll } from '../_utils/use-virtual-scroll';\nimport Pagination from '../pagination';\nimport { ListProps } from './types';\n\nconst ITEM_HEIGHT_MAP = { sm: 41, md: 49, lg: 57 } as const;\n\nconst List = React.forwardRef<HTMLDivElement, ListProps>((props, ref) => {\n const {\n dataSource = [],\n renderItem,\n header,\n footer,\n loading = false,\n bordered = false,\n split = true,\n size,\n grid,\n locale,\n virtual = false,\n height,\n itemHeight: itemHeightProp,\n pagination,\n prefixCls: customisedCls,\n className,\n style,\n children,\n ...otherProps\n } = props;\n\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('list', configContext.prefixCls, customisedCls);\n const listSize = size || configContext.componentSize || 'md';\n\n if (virtual && height == null) {\n console.warn('[tiny-design: List] `height` is required when `virtual` is enabled.');\n }\n if (virtual && grid) {\n console.warn('[tiny-design: List] `virtual` is not supported with `grid` mode. Falling back to normal rendering.');\n }\n\n const isVirtual = virtual && height != null && !grid;\n\n const [currentPage, setCurrentPage] = useState(1);\n const pageSize = pagination && pagination.pageSize ? pagination.pageSize : 10;\n\n const itemHeight = itemHeightProp ?? ITEM_HEIGHT_MAP[listSize] ?? ITEM_HEIGHT_MAP.md;\n const { visibleRange, totalHeight, offsetY, onScroll } = useVirtualScroll({\n itemCount: dataSource.length,\n itemHeight,\n containerHeight: height ?? 0,\n });\n\n const cls = classNames(prefixCls, className, {\n [`${prefixCls}_${listSize}`]: listSize,\n [`${prefixCls}_bordered`]: bordered,\n [`${prefixCls}_split`]: split,\n [`${prefixCls}_loading`]: loading,\n [`${prefixCls}_grid`]: grid,\n });\n\n const paginatedData = () => {\n if (!pagination) return dataSource;\n const page = pagination.current ?? currentPage;\n const start = (page - 1) * pageSize;\n return dataSource.slice(start, start + pageSize);\n };\n\n const handlePageChange = (page: number) => {\n setCurrentPage(page);\n pagination && pagination.onChange?.(page, pageSize);\n };\n\n const renderItems = () => {\n if (isVirtual) {\n if (dataSource.length === 0) {\n return (\n <div className={`${prefixCls}__empty`}>\n {locale?.emptyText ?? 'No Data'}\n </div>\n );\n }\n if (renderItem) {\n const [start, end] = visibleRange;\n const visibleItems = dataSource.slice(start, end + 1).map((item, i) => (\n <React.Fragment key={start + i}>{renderItem(item, start + i)}</React.Fragment>\n ));\n return (\n <div style={{ height: totalHeight, position: 'relative' }}>\n <div style={{ position: 'absolute', top: 0, left: 0, right: 0, transform: `translateY(${offsetY}px)` }}>\n {visibleItems}\n </div>\n </div>\n );\n }\n return children;\n }\n\n const items = paginatedData();\n if (items.length === 0 && !children) {\n return (\n <div className={`${prefixCls}__empty`}>\n {locale?.emptyText ?? 'No Data'}\n </div>\n );\n }\n if (renderItem) {\n const rendered = items.map((item, index) => (\n <React.Fragment key={index}>{renderItem(item, index)}</React.Fragment>\n ));\n if (grid) {\n return (\n <div\n className={`${prefixCls}__grid`}\n style={{\n display: 'grid',\n gridTemplateColumns: `repeat(${grid.column || 3}, 1fr)`,\n gap: grid.gutter ? `${grid.gutter}px` : undefined,\n }}\n >\n {rendered}\n </div>\n );\n }\n return rendered;\n }\n return children;\n };\n\n const showPagination = pagination && !isVirtual;\n const paginationConfig = pagination && typeof pagination === 'object' ? pagination : undefined;\n const totalItems = paginationConfig?.total ?? dataSource.length;\n const activePage = paginationConfig?.current ?? currentPage;\n\n const bodyCls = classNames(`${prefixCls}__body`, {\n [`${prefixCls}__body_virtual`]: isVirtual,\n });\n\n const bodyStyle: React.CSSProperties | undefined = isVirtual\n ? { height, overflowY: 'auto' }\n : undefined;\n\n return (\n <div {...otherProps} ref={ref} className={cls} style={style}>\n {header && <div className={`${prefixCls}__header`}>{header}</div>}\n <div className={bodyCls} style={bodyStyle} onScroll={isVirtual ? onScroll : undefined}>\n {loading ? (\n <div className={`${prefixCls}__loading`}>Loading...</div>\n ) : (\n renderItems()\n )}\n </div>\n {footer && <div className={`${prefixCls}__footer`}>{footer}</div>}\n {showPagination && (\n <Pagination\n current={activePage}\n total={totalItems}\n pageSize={pageSize}\n align={paginationConfig?.align ?? 'right'}\n size={paginationConfig?.size}\n disabled={paginationConfig?.disabled}\n onChange={(page) => handlePageChange(page)}\n style={{ padding: 16 }}\n />\n )}\n </div>\n );\n});\n\nList.displayName = 'List';\nexport default List;\n"],"mappings":"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"}
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
.#{$prefix}-list {
|
|
4
4
|
color: var(--ty-color-text, #{$gray-800});
|
|
5
|
-
font-size:
|
|
5
|
+
font-size: var(--ty-font-size-base);
|
|
6
6
|
|
|
7
7
|
&_bordered {
|
|
8
8
|
border: 1px solid var(--ty-list-border, #{$gray-300});
|
|
9
|
-
border-radius:
|
|
9
|
+
border-radius: var(--ty-border-radius);
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
&_sm {
|
|
@@ -136,6 +136,6 @@
|
|
|
136
136
|
|
|
137
137
|
&__description {
|
|
138
138
|
color: var(--ty-color-text-secondary, #{$gray-600});
|
|
139
|
-
font-size:
|
|
139
|
+
font-size: var(--ty-font-size-sm);
|
|
140
140
|
}
|
|
141
141
|
}
|
package/lib/list/style/index.css
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
.ty-list {
|
|
2
2
|
color: var(--ty-color-text, #32325d);
|
|
3
|
-
font-size:
|
|
3
|
+
font-size: var(--ty-font-size-base);
|
|
4
4
|
}
|
|
5
5
|
.ty-list_bordered {
|
|
6
6
|
border: 1px solid var(--ty-list-border, #dee2e6);
|
|
7
|
-
border-radius:
|
|
7
|
+
border-radius: var(--ty-border-radius);
|
|
8
8
|
}
|
|
9
9
|
.ty-list_sm .ty-list-item {
|
|
10
10
|
padding: 8px 16px;
|
|
@@ -104,5 +104,5 @@
|
|
|
104
104
|
}
|
|
105
105
|
.ty-list-item-meta__description {
|
|
106
106
|
color: var(--ty-color-text-secondary, #8898aa);
|
|
107
|
-
font-size:
|
|
107
|
+
font-size: var(--ty-font-size-sm);
|
|
108
108
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["Marquee"],"sources":["../../src/marquee/index.tsx"],"sourcesContent":["import Marquee from './marquee';\n\nexport default Marquee;\n"],"mappings":";AAEA,IAAA,0CAAeA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { MarqueeProps } from "./types.js";
|
|
2
|
+
import React from "react";
|
|
3
|
+
|
|
4
|
+
//#region src/marquee/marquee.d.ts
|
|
5
|
+
declare const Marquee: React.MemoExoticComponent<React.ForwardRefExoticComponent<MarqueeProps & React.RefAttributes<HTMLDivElement>>>;
|
|
6
|
+
//#endregion
|
|
7
|
+
export { Marquee };
|
|
8
|
+
//# sourceMappingURL=marquee.d.ts.map
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
const require_runtime = require("../_virtual/_rolldown/runtime.js");
|
|
2
|
+
const require_config_context = require("../config-provider/config-context.js");
|
|
3
|
+
const require_general = require("../_utils/general.js");
|
|
4
|
+
let react = require("react");
|
|
5
|
+
react = require_runtime.__toESM(react);
|
|
6
|
+
let classnames = require("classnames");
|
|
7
|
+
classnames = require_runtime.__toESM(classnames);
|
|
8
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
9
|
+
//#region src/marquee/marquee.tsx
|
|
10
|
+
const Marquee = react.default.memo(react.default.forwardRef((props, ref) => {
|
|
11
|
+
const { direction = "left", duration = 50, pauseOnHover = true, gap = 16, fade = false, infinite = true, prefixCls: customisedCls, className, style, children, ...otherProps } = props;
|
|
12
|
+
const prefixCls = require_general.getPrefixCls("marquee", (0, react.useContext)(require_config_context.ConfigContext).prefixCls, customisedCls);
|
|
13
|
+
const cls = (0, classnames.default)(prefixCls, { [`${prefixCls}_fade`]: fade }, className);
|
|
14
|
+
const trackCls = (0, classnames.default)(`${prefixCls}__track`, {
|
|
15
|
+
[`${prefixCls}__track_reverse`]: direction === "right",
|
|
16
|
+
[`${prefixCls}__track_pause-on-hover`]: pauseOnHover,
|
|
17
|
+
[`${prefixCls}__track_once`]: !infinite
|
|
18
|
+
});
|
|
19
|
+
const trackStyle = {
|
|
20
|
+
"--ty-marquee-duration": `${duration}s`,
|
|
21
|
+
"--ty-marquee-gap": `${gap}px`
|
|
22
|
+
};
|
|
23
|
+
const items = (0, react.useMemo)(() => {
|
|
24
|
+
const childArray = react.default.Children.toArray(children);
|
|
25
|
+
if (!infinite) return childArray;
|
|
26
|
+
const cloned = childArray.map((child) => react.default.isValidElement(child) ? react.default.cloneElement(child, { key: `${child.key}-dup` }) : child);
|
|
27
|
+
return [...childArray, ...cloned];
|
|
28
|
+
}, [children, infinite]);
|
|
29
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
30
|
+
...otherProps,
|
|
31
|
+
ref,
|
|
32
|
+
className: cls,
|
|
33
|
+
style,
|
|
34
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
35
|
+
className: trackCls,
|
|
36
|
+
style: trackStyle,
|
|
37
|
+
children: items
|
|
38
|
+
})
|
|
39
|
+
});
|
|
40
|
+
}));
|
|
41
|
+
Marquee.displayName = "Marquee";
|
|
42
|
+
//#endregion
|
|
43
|
+
exports.default = Marquee;
|
|
44
|
+
|
|
45
|
+
//# sourceMappingURL=marquee.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marquee.js","names":["React","getPrefixCls","ConfigContext"],"sources":["../../src/marquee/marquee.tsx"],"sourcesContent":["import React, { useContext, useMemo } from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider/config-context';\nimport { getPrefixCls } from '../_utils/general';\nimport { MarqueeProps } from './types';\n\nconst Marquee = React.memo(\n React.forwardRef<HTMLDivElement, MarqueeProps>((props, ref) => {\n const {\n direction = 'left',\n duration = 50,\n pauseOnHover = true,\n gap = 16,\n fade = false,\n infinite = true,\n prefixCls: customisedCls,\n className,\n style,\n children,\n ...otherProps\n } = props;\n\n const configContext = useContext(ConfigContext);\n const prefixCls = getPrefixCls('marquee', configContext.prefixCls, customisedCls);\n\n const cls = classNames(\n prefixCls,\n {\n [`${prefixCls}_fade`]: fade,\n },\n className\n );\n\n const trackCls = classNames(`${prefixCls}__track`, {\n [`${prefixCls}__track_reverse`]: direction === 'right',\n [`${prefixCls}__track_pause-on-hover`]: pauseOnHover,\n [`${prefixCls}__track_once`]: !infinite,\n });\n\n const trackStyle: React.CSSProperties = {\n '--ty-marquee-duration': `${duration}s`,\n '--ty-marquee-gap': `${gap}px`,\n } as React.CSSProperties;\n\n const items = useMemo(() => {\n const childArray = React.Children.toArray(children);\n if (!infinite) return childArray;\n const cloned = childArray.map((child) =>\n React.isValidElement(child)\n ? React.cloneElement(child, { key: `${child.key}-dup` })\n : child\n );\n return [...childArray, ...cloned];\n }, [children, infinite]);\n\n return (\n <div {...otherProps} ref={ref} className={cls} style={style}>\n <div className={trackCls} style={trackStyle}>\n {items}\n </div>\n </div>\n );\n })\n);\n\nMarquee.displayName = 'Marquee';\n\nexport default Marquee;\n"],"mappings":";;;;;;;;;AAMA,MAAM,UAAUA,MAAAA,QAAM,KACpBA,MAAAA,QAAM,YAA0C,OAAO,QAAQ;CAC7D,MAAM,EACJ,YAAY,QACZ,WAAW,IACX,eAAe,MACf,MAAM,IACN,OAAO,OACP,WAAW,MACX,WAAW,eACX,WACA,OACA,UACA,GAAG,eACD;CAGJ,MAAM,YAAYC,gBAAAA,aAAa,YAAA,GAAA,MAAA,YADEC,uBAAAA,cAAc,CACS,WAAW,cAAc;CAEjF,MAAM,OAAA,GAAA,WAAA,SACJ,WACA,GACG,GAAG,UAAU,SAAS,MACxB,EACD,UACD;CAED,MAAM,YAAA,GAAA,WAAA,SAAsB,GAAG,UAAU,UAAU;GAChD,GAAG,UAAU,mBAAmB,cAAc;GAC9C,GAAG,UAAU,0BAA0B;GACvC,GAAG,UAAU,gBAAgB,CAAC;EAChC,CAAC;CAEF,MAAM,aAAkC;EACtC,yBAAyB,GAAG,SAAS;EACrC,oBAAoB,GAAG,IAAI;EAC5B;CAED,MAAM,SAAA,GAAA,MAAA,eAAsB;EAC1B,MAAM,aAAaF,MAAAA,QAAM,SAAS,QAAQ,SAAS;AACnD,MAAI,CAAC,SAAU,QAAO;EACtB,MAAM,SAAS,WAAW,KAAK,UAC7BA,MAAAA,QAAM,eAAe,MAAM,GACvBA,MAAAA,QAAM,aAAa,OAAO,EAAE,KAAK,GAAG,MAAM,IAAI,OAAO,CAAC,GACtD,MACL;AACD,SAAO,CAAC,GAAG,YAAY,GAAG,OAAO;IAChC,CAAC,UAAU,SAAS,CAAC;AAExB,QACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EAAK,GAAI;EAAiB;EAAK,WAAW;EAAY;YACpD,iBAAA,GAAA,kBAAA,KAAC,OAAD;GAAK,WAAW;GAAU,OAAO;aAC9B;GACG,CAAA;EACF,CAAA;EAER,CACH;AAED,QAAQ,cAAc"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
@use '../../style/variables' as *;
|
|
2
|
+
|
|
3
|
+
.#{$prefix}-marquee {
|
|
4
|
+
overflow: hidden;
|
|
5
|
+
width: 0;
|
|
6
|
+
min-width: 100%;
|
|
7
|
+
|
|
8
|
+
&_fade {
|
|
9
|
+
mask-image: linear-gradient(to right, transparent, black 5%, black 95%, transparent);
|
|
10
|
+
mask-image: linear-gradient(to right, transparent, black 5%, black 95%, transparent);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
&__track {
|
|
14
|
+
display: flex;
|
|
15
|
+
gap: var(--ty-marquee-gap, 16px);
|
|
16
|
+
width: max-content;
|
|
17
|
+
animation: ty-marquee-left var(--ty-marquee-duration, 50s) linear infinite;
|
|
18
|
+
|
|
19
|
+
&_reverse {
|
|
20
|
+
animation-name: ty-marquee-right;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
&_pause-on-hover:hover {
|
|
24
|
+
animation-play-state: paused;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
&_once {
|
|
28
|
+
animation-iteration-count: 1;
|
|
29
|
+
animation-fill-mode: forwards;
|
|
30
|
+
animation-name: ty-marquee-once-left;
|
|
31
|
+
|
|
32
|
+
&.#{$prefix}-marquee__track_reverse {
|
|
33
|
+
animation-name: ty-marquee-once-right;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
@keyframes ty-marquee-left {
|
|
40
|
+
from {
|
|
41
|
+
transform: translateX(0);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
to {
|
|
45
|
+
transform: translateX(-50%);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
@keyframes ty-marquee-right {
|
|
50
|
+
from {
|
|
51
|
+
transform: translateX(-50%);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
to {
|
|
55
|
+
transform: translateX(0);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
@keyframes ty-marquee-once-left {
|
|
60
|
+
from {
|
|
61
|
+
transform: translateX(0);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
to {
|
|
65
|
+
transform: translateX(-100%);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
@keyframes ty-marquee-once-right {
|
|
70
|
+
from {
|
|
71
|
+
transform: translateX(-100%);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
to {
|
|
75
|
+
transform: translateX(0);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
.ty-marquee {
|
|
2
|
+
overflow: hidden;
|
|
3
|
+
width: 0;
|
|
4
|
+
min-width: 100%;
|
|
5
|
+
}
|
|
6
|
+
.ty-marquee_fade {
|
|
7
|
+
-webkit-mask-image: linear-gradient(to right, transparent, black 5%, black 95%, transparent);
|
|
8
|
+
mask-image: linear-gradient(to right, transparent, black 5%, black 95%, transparent);
|
|
9
|
+
mask-image: linear-gradient(to right, transparent, black 5%, black 95%, transparent);
|
|
10
|
+
}
|
|
11
|
+
.ty-marquee__track {
|
|
12
|
+
display: flex;
|
|
13
|
+
gap: var(--ty-marquee-gap, 16px);
|
|
14
|
+
width: -moz-max-content;
|
|
15
|
+
width: max-content;
|
|
16
|
+
animation: ty-marquee-left var(--ty-marquee-duration, 50s) linear infinite;
|
|
17
|
+
}
|
|
18
|
+
.ty-marquee__track_reverse {
|
|
19
|
+
animation-name: ty-marquee-right;
|
|
20
|
+
}
|
|
21
|
+
.ty-marquee__track_pause-on-hover:hover {
|
|
22
|
+
animation-play-state: paused;
|
|
23
|
+
}
|
|
24
|
+
.ty-marquee__track_once {
|
|
25
|
+
animation-iteration-count: 1;
|
|
26
|
+
animation-fill-mode: forwards;
|
|
27
|
+
animation-name: ty-marquee-once-left;
|
|
28
|
+
}
|
|
29
|
+
.ty-marquee__track_once.ty-marquee__track_reverse {
|
|
30
|
+
animation-name: ty-marquee-once-right;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
@keyframes ty-marquee-left {
|
|
34
|
+
from {
|
|
35
|
+
transform: translateX(0);
|
|
36
|
+
}
|
|
37
|
+
to {
|
|
38
|
+
transform: translateX(-50%);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
@keyframes ty-marquee-right {
|
|
42
|
+
from {
|
|
43
|
+
transform: translateX(-50%);
|
|
44
|
+
}
|
|
45
|
+
to {
|
|
46
|
+
transform: translateX(0);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
@keyframes ty-marquee-once-left {
|
|
50
|
+
from {
|
|
51
|
+
transform: translateX(0);
|
|
52
|
+
}
|
|
53
|
+
to {
|
|
54
|
+
transform: translateX(-100%);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
@keyframes ty-marquee-once-right {
|
|
58
|
+
from {
|
|
59
|
+
transform: translateX(-100%);
|
|
60
|
+
}
|
|
61
|
+
to {
|
|
62
|
+
transform: translateX(0);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require("./_index.css");
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { BaseProps } from "../_utils/props.js";
|
|
2
|
+
import React from "react";
|
|
3
|
+
|
|
4
|
+
//#region src/marquee/types.d.ts
|
|
5
|
+
interface MarqueeProps extends BaseProps, React.PropsWithoutRef<JSX.IntrinsicElements['div']> {
|
|
6
|
+
/** Scroll direction */
|
|
7
|
+
direction?: 'left' | 'right';
|
|
8
|
+
/** Animation duration in seconds */
|
|
9
|
+
duration?: number;
|
|
10
|
+
/** Pause animation on hover */
|
|
11
|
+
pauseOnHover?: boolean;
|
|
12
|
+
/** Gap between items in pixels */
|
|
13
|
+
gap?: number;
|
|
14
|
+
/** Apply edge fade mask */
|
|
15
|
+
fade?: boolean;
|
|
16
|
+
/** Loop the animation infinitely (duplicates children for seamless loop) */
|
|
17
|
+
infinite?: boolean;
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
20
|
+
export { MarqueeProps };
|
|
21
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
vertical-align: middle;
|
|
10
10
|
box-sizing: border-box;
|
|
11
11
|
border: 1px solid var(--ty-input-border);
|
|
12
|
-
border-radius:
|
|
12
|
+
border-radius: var(--ty-border-radius);
|
|
13
13
|
background-color: var(--ty-native-select-bg);
|
|
14
14
|
background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDEyIDE2Ij4gIDxwYXRoIGZpbGw9IiMzOTNFNDgiIGQ9Ik0wLjIyMiw1LjYxMyBMNS40NTEsMC4yMjMgQzUuNzU2MjEyMDksLTAuMDc0MzYzMjMzMyA2LjI0Mjc4NzkxLC0wLjA3NDM2MzIzMzMgNi41NDgsMC4yMjMgTDExLjc3OCw1LjYxMyBDMTIuMTgsNi4wMjcgMTIuMDI1LDYuNjY3IDExLjQwNyw2LjY2NyBMMC41OTIsNi42NjcgQy0wLjAyNCw2LjY2NyAtMC4xOCw2LjAyNyAwLjIyMiw1LjYxMyBaIE0wLjU5Miw5LjMzMyBMMTEuNDA3LDkuMzMzIEMxMi4wMjUsOS4zMzMgMTIuMTgsOS45NzMgMTEuNzc3LDEwLjM4NyBMNi41NDcsMTUuNzc3IEM2LjI0MTkxMjU4LDE2LjA3MzcxNDMgNS43NTYwODc0MiwxNi4wNzM3MTQzIDUuNDUxLDE1Ljc3NyBMMC4yMjIsMTAuMzg3IEMtMC4xOCw5Ljk3MyAtMC4wMjQsOS4zMzMgMC41OTIsOS4zMzMgWiIvPjwvc3ZnPg==");
|
|
15
15
|
background-repeat: no-repeat, repeat;
|
|
@@ -43,13 +43,13 @@
|
|
|
43
43
|
}
|
|
44
44
|
.ty-select-native_sm {
|
|
45
45
|
padding: 3px 25px 3px 7px;
|
|
46
|
-
font-size:
|
|
46
|
+
font-size: var(--ty-font-size-sm);
|
|
47
47
|
}
|
|
48
48
|
.ty-select-native_md {
|
|
49
49
|
padding: 6px 25px 6px 7px;
|
|
50
|
-
font-size:
|
|
50
|
+
font-size: var(--ty-font-size-base);
|
|
51
51
|
}
|
|
52
52
|
.ty-select-native_lg {
|
|
53
53
|
padding: 9px 25px 9px 7px;
|
|
54
|
-
font-size:
|
|
54
|
+
font-size: var(--ty-font-size-lg);
|
|
55
55
|
}
|
|
@@ -5,19 +5,19 @@
|
|
|
5
5
|
box-sizing: border-box;
|
|
6
6
|
border-radius: $popover-border-radius;
|
|
7
7
|
white-space: nowrap;
|
|
8
|
-
font-size:
|
|
8
|
+
font-size: var(--ty-font-size-base);
|
|
9
9
|
text-align: left;
|
|
10
10
|
box-shadow: var(--ty-shadow-popup);
|
|
11
11
|
z-index: 999;
|
|
12
12
|
|
|
13
|
-
&__arrow, &__arrow
|
|
13
|
+
&__arrow, &__arrow::before {
|
|
14
14
|
width: $popover-arrow-size;
|
|
15
15
|
height: $popover-arrow-size;
|
|
16
16
|
box-sizing: border-box;
|
|
17
17
|
position: absolute;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
&__arrow
|
|
20
|
+
&__arrow::before {
|
|
21
21
|
content: '';
|
|
22
22
|
transform: rotate(45deg);
|
|
23
23
|
}
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
background-color: var(--ty-popup-light-bg);
|
|
27
27
|
color: var(--ty-color-text-secondary);
|
|
28
28
|
.#{$prefix}-popup {
|
|
29
|
-
&__arrow
|
|
29
|
+
&__arrow::before {
|
|
30
30
|
background: var(--ty-popup-light-bg);
|
|
31
31
|
}
|
|
32
32
|
}
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
background-color: var(--ty-popup-dark-bg);
|
|
37
37
|
color: #fff;
|
|
38
38
|
.#{$prefix}-popup {
|
|
39
|
-
&__arrow
|
|
39
|
+
&__arrow::before {
|
|
40
40
|
background: var(--ty-popup-dark-bg);
|
|
41
41
|
}
|
|
42
42
|
}
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
& > .#{$prefix}-popup__arrow {
|
|
47
47
|
bottom: math.div(-$popover-arrow-size, 2);
|
|
48
48
|
|
|
49
|
-
|
|
49
|
+
&::before {
|
|
50
50
|
box-shadow: 3px 3px 7px var(--ty-popup-arrow-shadow);
|
|
51
51
|
}
|
|
52
52
|
}
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
> .#{$prefix}-popup__arrow {
|
|
57
57
|
top: math.div(-$popover-arrow-size, 2);
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
&::before {
|
|
60
60
|
box-shadow: -2px -2px 5px var(--ty-popup-arrow-shadow);
|
|
61
61
|
}
|
|
62
62
|
}
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
> .#{$prefix}-popup__arrow {
|
|
67
67
|
right: math.div(-$popover-arrow-size, 2);
|
|
68
68
|
|
|
69
|
-
|
|
69
|
+
&::before {
|
|
70
70
|
box-shadow: 3px -3px 7px var(--ty-popup-arrow-shadow);
|
|
71
71
|
}
|
|
72
72
|
}
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
> .#{$prefix}-popup__arrow {
|
|
77
77
|
left: math.div(-$popover-arrow-size, 2);
|
|
78
78
|
|
|
79
|
-
|
|
79
|
+
&::before {
|
|
80
80
|
box-shadow: -3px 3px 7px var(--ty-popup-arrow-shadow);
|
|
81
81
|
}
|
|
82
82
|
}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
.ty-popup {
|
|
2
2
|
box-sizing: border-box;
|
|
3
|
-
border-radius:
|
|
3
|
+
border-radius: var(--ty-border-radius);
|
|
4
4
|
white-space: nowrap;
|
|
5
|
-
font-size:
|
|
5
|
+
font-size: var(--ty-font-size-base);
|
|
6
6
|
text-align: left;
|
|
7
7
|
box-shadow: var(--ty-shadow-popup);
|
|
8
8
|
z-index: 999;
|
|
9
9
|
}
|
|
10
|
-
.ty-popup__arrow, .ty-popup__arrow
|
|
10
|
+
.ty-popup__arrow, .ty-popup__arrow::before {
|
|
11
11
|
width: 8px;
|
|
12
12
|
height: 8px;
|
|
13
13
|
box-sizing: border-box;
|
|
14
14
|
position: absolute;
|
|
15
15
|
}
|
|
16
|
-
.ty-popup__arrow
|
|
16
|
+
.ty-popup__arrow::before {
|
|
17
17
|
content: "";
|
|
18
18
|
transform: rotate(45deg);
|
|
19
19
|
}
|
|
@@ -21,37 +21,37 @@
|
|
|
21
21
|
background-color: var(--ty-popup-light-bg);
|
|
22
22
|
color: var(--ty-color-text-secondary);
|
|
23
23
|
}
|
|
24
|
-
.ty-popup_light .ty-popup__arrow
|
|
24
|
+
.ty-popup_light .ty-popup__arrow::before {
|
|
25
25
|
background: var(--ty-popup-light-bg);
|
|
26
26
|
}
|
|
27
27
|
.ty-popup_dark {
|
|
28
28
|
background-color: var(--ty-popup-dark-bg);
|
|
29
29
|
color: #fff;
|
|
30
30
|
}
|
|
31
|
-
.ty-popup_dark .ty-popup__arrow
|
|
31
|
+
.ty-popup_dark .ty-popup__arrow::before {
|
|
32
32
|
background: var(--ty-popup-dark-bg);
|
|
33
33
|
}
|
|
34
34
|
.ty-popup[data-popper-placement^=top] > .ty-popup__arrow {
|
|
35
35
|
bottom: -4px;
|
|
36
36
|
}
|
|
37
|
-
.ty-popup[data-popper-placement^=top] > .ty-popup__arrow
|
|
37
|
+
.ty-popup[data-popper-placement^=top] > .ty-popup__arrow::before {
|
|
38
38
|
box-shadow: 3px 3px 7px var(--ty-popup-arrow-shadow);
|
|
39
39
|
}
|
|
40
40
|
.ty-popup[data-popper-placement^=bottom] > .ty-popup__arrow {
|
|
41
41
|
top: -4px;
|
|
42
42
|
}
|
|
43
|
-
.ty-popup[data-popper-placement^=bottom] > .ty-popup__arrow
|
|
43
|
+
.ty-popup[data-popper-placement^=bottom] > .ty-popup__arrow::before {
|
|
44
44
|
box-shadow: -2px -2px 5px var(--ty-popup-arrow-shadow);
|
|
45
45
|
}
|
|
46
46
|
.ty-popup[data-popper-placement^=left] > .ty-popup__arrow {
|
|
47
47
|
right: -4px;
|
|
48
48
|
}
|
|
49
|
-
.ty-popup[data-popper-placement^=left] > .ty-popup__arrow
|
|
49
|
+
.ty-popup[data-popper-placement^=left] > .ty-popup__arrow::before {
|
|
50
50
|
box-shadow: 3px -3px 7px var(--ty-popup-arrow-shadow);
|
|
51
51
|
}
|
|
52
52
|
.ty-popup[data-popper-placement^=right] > .ty-popup__arrow {
|
|
53
53
|
left: -4px;
|
|
54
54
|
}
|
|
55
|
-
.ty-popup[data-popper-placement^=right] > .ty-popup__arrow
|
|
55
|
+
.ty-popup[data-popper-placement^=right] > .ty-popup__arrow::before {
|
|
56
56
|
box-shadow: -3px 3px 7px var(--ty-popup-arrow-shadow);
|
|
57
57
|
}
|
|
@@ -4,16 +4,13 @@
|
|
|
4
4
|
position: relative;
|
|
5
5
|
display: inline-flex;
|
|
6
6
|
align-items: center;
|
|
7
|
-
font-size:
|
|
7
|
+
font-size: var(--ty-font-size-base);
|
|
8
8
|
margin-right: 8px;
|
|
9
9
|
color: var(--ty-color-text);
|
|
10
10
|
|
|
11
11
|
&__native {
|
|
12
12
|
position: absolute;
|
|
13
|
-
|
|
14
|
-
right: 0;
|
|
15
|
-
bottom: 0;
|
|
16
|
-
left: 0;
|
|
13
|
+
inset: 0;
|
|
17
14
|
width: 100%;
|
|
18
15
|
height: 100%;
|
|
19
16
|
z-index: 1;
|
|
@@ -34,7 +31,7 @@
|
|
|
34
31
|
align-items: center;
|
|
35
32
|
justify-content: center;
|
|
36
33
|
|
|
37
|
-
|
|
34
|
+
&::after {
|
|
38
35
|
box-sizing: border-box;
|
|
39
36
|
display: inline-block;
|
|
40
37
|
content: '';
|
|
@@ -54,7 +51,7 @@
|
|
|
54
51
|
|
|
55
52
|
&_checked {
|
|
56
53
|
.#{$prefix}-radio {
|
|
57
|
-
&__inner
|
|
54
|
+
&__inner::after {
|
|
58
55
|
transform: scale(1);
|
|
59
56
|
}
|
|
60
57
|
}
|
|
@@ -69,7 +66,7 @@
|
|
|
69
66
|
&__inner {
|
|
70
67
|
border-color: var(--ty-radio-disabled-border);
|
|
71
68
|
|
|
72
|
-
|
|
69
|
+
&::after {
|
|
73
70
|
background-color: var(--ty-radio-disabled-dot);
|
|
74
71
|
}
|
|
75
72
|
|
|
@@ -2,16 +2,13 @@
|
|
|
2
2
|
position: relative;
|
|
3
3
|
display: inline-flex;
|
|
4
4
|
align-items: center;
|
|
5
|
-
font-size:
|
|
5
|
+
font-size: var(--ty-font-size-base);
|
|
6
6
|
margin-right: 8px;
|
|
7
7
|
color: var(--ty-color-text);
|
|
8
8
|
}
|
|
9
9
|
.ty-radio__native {
|
|
10
10
|
position: absolute;
|
|
11
|
-
|
|
12
|
-
right: 0;
|
|
13
|
-
bottom: 0;
|
|
14
|
-
left: 0;
|
|
11
|
+
inset: 0;
|
|
15
12
|
width: 100%;
|
|
16
13
|
height: 100%;
|
|
17
14
|
z-index: 1;
|
|
@@ -31,7 +28,7 @@
|
|
|
31
28
|
align-items: center;
|
|
32
29
|
justify-content: center;
|
|
33
30
|
}
|
|
34
|
-
.ty-radio__inner
|
|
31
|
+
.ty-radio__inner::after {
|
|
35
32
|
box-sizing: border-box;
|
|
36
33
|
display: inline-block;
|
|
37
34
|
content: "";
|
|
@@ -46,7 +43,7 @@
|
|
|
46
43
|
padding: 0 5px;
|
|
47
44
|
line-height: 16px;
|
|
48
45
|
}
|
|
49
|
-
.ty-radio_checked .ty-radio__inner
|
|
46
|
+
.ty-radio_checked .ty-radio__inner::after {
|
|
50
47
|
transform: scale(1);
|
|
51
48
|
}
|
|
52
49
|
.ty-radio_disabled .ty-radio__native {
|
|
@@ -55,7 +52,7 @@
|
|
|
55
52
|
.ty-radio_disabled .ty-radio__inner {
|
|
56
53
|
border-color: var(--ty-radio-disabled-border);
|
|
57
54
|
}
|
|
58
|
-
.ty-radio_disabled .ty-radio__inner
|
|
55
|
+
.ty-radio_disabled .ty-radio__inner::after {
|
|
59
56
|
background-color: var(--ty-radio-disabled-dot);
|
|
60
57
|
}
|
|
61
58
|
.ty-radio_disabled .ty-radio__inner + span {
|