@x-plat/design-system 0.13.0 → 0.14.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/dist/{breakpoints-DsXkJgdl.d.cts → breakpoints-CKkNxA-y.d.cts} +1 -1
- package/dist/{breakpoints-DsXkJgdl.d.ts → breakpoints-CKkNxA-y.d.ts} +1 -1
- package/dist/components/Badge/index.d.cts +1 -1
- package/dist/components/Badge/index.d.ts +1 -1
- package/dist/components/ToggleChip/index.cjs +69 -0
- package/dist/components/ToggleChip/index.css +102 -0
- package/dist/components/ToggleChip/index.d.cts +37 -0
- package/dist/components/ToggleChip/index.d.ts +37 -0
- package/dist/components/ToggleChip/index.js +42 -0
- package/dist/components/index.cjs +62 -36
- package/dist/components/index.css +37 -0
- package/dist/components/index.d.cts +2 -1
- package/dist/components/index.d.ts +2 -1
- package/dist/components/index.js +52 -27
- package/dist/index.cjs +81 -55
- package/dist/index.css +37 -0
- package/dist/index.d.cts +4 -3
- package/dist/index.d.ts +4 -3
- package/dist/index.js +69 -44
- package/dist/layout/Grid/Item/index.d.cts +1 -1
- package/dist/layout/Grid/Item/index.d.ts +1 -1
- package/dist/layout/Grid/index.d.cts +1 -1
- package/dist/layout/Grid/index.d.ts +1 -1
- package/dist/layout/index.d.cts +1 -1
- package/dist/layout/index.d.ts +1 -1
- package/dist/tokens/index.d.cts +1 -1
- package/dist/tokens/index.d.ts +1 -1
- package/guidelines/Guidelines.md +1 -1
- package/guidelines/MIGRATION.md +27 -0
- package/guidelines/components/chip-tag.md +75 -2
- package/package.json +1 -1
package/dist/components/index.js
CHANGED
|
@@ -7306,9 +7306,33 @@ var ToastProvider = ({
|
|
|
7306
7306
|
};
|
|
7307
7307
|
ToastProvider.displayName = "ToastProvider";
|
|
7308
7308
|
|
|
7309
|
+
// src/components/ToggleChip/ToggleChip.tsx
|
|
7310
|
+
import { jsx as jsx353 } from "react/jsx-runtime";
|
|
7311
|
+
var ToggleChip = (props) => {
|
|
7312
|
+
const { children, selected = false, onClick, disabled = false, size = "md" } = props;
|
|
7313
|
+
return /* @__PURE__ */ jsx353(
|
|
7314
|
+
"button",
|
|
7315
|
+
{
|
|
7316
|
+
type: "button",
|
|
7317
|
+
className: clsx_default(
|
|
7318
|
+
"lib-xplat-chip",
|
|
7319
|
+
"lib-xplat-toggle-chip",
|
|
7320
|
+
size,
|
|
7321
|
+
selected ? "selected" : "unselected"
|
|
7322
|
+
),
|
|
7323
|
+
"aria-pressed": selected,
|
|
7324
|
+
disabled,
|
|
7325
|
+
onClick,
|
|
7326
|
+
children
|
|
7327
|
+
}
|
|
7328
|
+
);
|
|
7329
|
+
};
|
|
7330
|
+
ToggleChip.displayName = "ToggleChip";
|
|
7331
|
+
var ToggleChip_default = ToggleChip;
|
|
7332
|
+
|
|
7309
7333
|
// src/components/Tooltip/Tooltip.tsx
|
|
7310
7334
|
import React42 from "react";
|
|
7311
|
-
import { Fragment as Fragment6, jsx as
|
|
7335
|
+
import { Fragment as Fragment6, jsx as jsx354, jsxs as jsxs224 } from "react/jsx-runtime";
|
|
7312
7336
|
var OFFSET = 12;
|
|
7313
7337
|
var GAP = 8;
|
|
7314
7338
|
var SHOW_DELAY = 300;
|
|
@@ -7413,7 +7437,7 @@ var Tooltip = (props) => {
|
|
|
7413
7437
|
window.clearTimeout(delayTimer.current);
|
|
7414
7438
|
cancelAnimationFrame(rafRef.current);
|
|
7415
7439
|
}, []);
|
|
7416
|
-
if (!title && !description) return /* @__PURE__ */
|
|
7440
|
+
if (!title && !description) return /* @__PURE__ */ jsx354(Fragment6, { children });
|
|
7417
7441
|
return /* @__PURE__ */ jsxs224(
|
|
7418
7442
|
"div",
|
|
7419
7443
|
{
|
|
@@ -7427,7 +7451,7 @@ var Tooltip = (props) => {
|
|
|
7427
7451
|
onBlur: close,
|
|
7428
7452
|
children: [
|
|
7429
7453
|
children,
|
|
7430
|
-
visible && /* @__PURE__ */
|
|
7454
|
+
visible && /* @__PURE__ */ jsx354(Portal_default, { children: /* @__PURE__ */ jsxs224(
|
|
7431
7455
|
"div",
|
|
7432
7456
|
{
|
|
7433
7457
|
ref: tooltipRef,
|
|
@@ -7435,8 +7459,8 @@ var Tooltip = (props) => {
|
|
|
7435
7459
|
className: clsx_default("lib-xplat-tooltip", shape),
|
|
7436
7460
|
style: { position: "fixed", left: pos.left, top: pos.top },
|
|
7437
7461
|
children: [
|
|
7438
|
-
title && /* @__PURE__ */
|
|
7439
|
-
description && /* @__PURE__ */
|
|
7462
|
+
title && /* @__PURE__ */ jsx354("div", { className: "tooltip-title", children: title }),
|
|
7463
|
+
description && /* @__PURE__ */ jsx354("div", { className: "tooltip-desc", children: description })
|
|
7440
7464
|
]
|
|
7441
7465
|
}
|
|
7442
7466
|
) })
|
|
@@ -7449,10 +7473,10 @@ var Tooltip_default = Tooltip;
|
|
|
7449
7473
|
|
|
7450
7474
|
// src/components/Video/Video.tsx
|
|
7451
7475
|
import React43 from "react";
|
|
7452
|
-
import { jsx as
|
|
7476
|
+
import { jsx as jsx355, jsxs as jsxs225 } from "react/jsx-runtime";
|
|
7453
7477
|
var PipIcon = () => /* @__PURE__ */ jsxs225("svg", { viewBox: "0 0 24 24", width: "1em", height: "1em", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [
|
|
7454
|
-
/* @__PURE__ */
|
|
7455
|
-
/* @__PURE__ */
|
|
7478
|
+
/* @__PURE__ */ jsx355("rect", { x: "3", y: "5", width: "18", height: "14", rx: "2" }),
|
|
7479
|
+
/* @__PURE__ */ jsx355("rect", { x: "12", y: "11", width: "7", height: "6", rx: "1", fill: "currentColor" })
|
|
7456
7480
|
] });
|
|
7457
7481
|
var formatTime = (sec) => {
|
|
7458
7482
|
if (!Number.isFinite(sec) || sec < 0) return "0:00";
|
|
@@ -7633,7 +7657,7 @@ var Video = React43.forwardRef((props, ref) => {
|
|
|
7633
7657
|
ref: containerRef,
|
|
7634
7658
|
className: clsx_default("lib-xplat-video", showControls && "has-controls"),
|
|
7635
7659
|
children: [
|
|
7636
|
-
/* @__PURE__ */
|
|
7660
|
+
/* @__PURE__ */ jsx355(
|
|
7637
7661
|
"video",
|
|
7638
7662
|
{
|
|
7639
7663
|
ref: setRefs,
|
|
@@ -7654,7 +7678,7 @@ var Video = React43.forwardRef((props, ref) => {
|
|
|
7654
7678
|
children
|
|
7655
7679
|
}
|
|
7656
7680
|
),
|
|
7657
|
-
showCenterPlay && /* @__PURE__ */
|
|
7681
|
+
showCenterPlay && /* @__PURE__ */ jsx355(
|
|
7658
7682
|
"button",
|
|
7659
7683
|
{
|
|
7660
7684
|
type: "button",
|
|
@@ -7666,11 +7690,11 @@ var Video = React43.forwardRef((props, ref) => {
|
|
|
7666
7690
|
onClick: togglePlay,
|
|
7667
7691
|
"aria-label": isPlaying ? "\uC77C\uC2DC\uC815\uC9C0" : "\uC7AC\uC0DD",
|
|
7668
7692
|
tabIndex: -1,
|
|
7669
|
-
children: /* @__PURE__ */
|
|
7693
|
+
children: /* @__PURE__ */ jsx355("span", { className: "center-play-icon", children: /* @__PURE__ */ jsx355(PlayCircleIcon_default, {}) })
|
|
7670
7694
|
}
|
|
7671
7695
|
),
|
|
7672
7696
|
showControls && /* @__PURE__ */ jsxs225("div", { className: "controls", onClick: (e) => e.stopPropagation(), children: [
|
|
7673
|
-
/* @__PURE__ */
|
|
7697
|
+
/* @__PURE__ */ jsx355(
|
|
7674
7698
|
"input",
|
|
7675
7699
|
{
|
|
7676
7700
|
type: "range",
|
|
@@ -7688,28 +7712,28 @@ var Video = React43.forwardRef((props, ref) => {
|
|
|
7688
7712
|
}
|
|
7689
7713
|
),
|
|
7690
7714
|
/* @__PURE__ */ jsxs225("div", { className: "controls-row", children: [
|
|
7691
|
-
/* @__PURE__ */
|
|
7715
|
+
/* @__PURE__ */ jsx355(
|
|
7692
7716
|
"button",
|
|
7693
7717
|
{
|
|
7694
7718
|
type: "button",
|
|
7695
7719
|
className: "control-btn",
|
|
7696
7720
|
onClick: togglePlay,
|
|
7697
7721
|
"aria-label": isPlaying ? "\uC77C\uC2DC\uC815\uC9C0" : "\uC7AC\uC0DD",
|
|
7698
|
-
children: isPlaying ? /* @__PURE__ */
|
|
7722
|
+
children: isPlaying ? /* @__PURE__ */ jsx355(PauseIcon_default, {}) : /* @__PURE__ */ jsx355(PlayIcon_default, {})
|
|
7699
7723
|
}
|
|
7700
7724
|
),
|
|
7701
7725
|
/* @__PURE__ */ jsxs225("div", { className: "volume-group", children: [
|
|
7702
|
-
/* @__PURE__ */
|
|
7726
|
+
/* @__PURE__ */ jsx355(
|
|
7703
7727
|
"button",
|
|
7704
7728
|
{
|
|
7705
7729
|
type: "button",
|
|
7706
7730
|
className: "control-btn",
|
|
7707
7731
|
onClick: toggleMute,
|
|
7708
7732
|
"aria-label": isMuted ? "\uC74C\uC18C\uAC70 \uD574\uC81C" : "\uC74C\uC18C\uAC70",
|
|
7709
|
-
children: /* @__PURE__ */
|
|
7733
|
+
children: /* @__PURE__ */ jsx355(VolumeGlyph, {})
|
|
7710
7734
|
}
|
|
7711
7735
|
),
|
|
7712
|
-
/* @__PURE__ */
|
|
7736
|
+
/* @__PURE__ */ jsx355(
|
|
7713
7737
|
"input",
|
|
7714
7738
|
{
|
|
7715
7739
|
type: "range",
|
|
@@ -7729,7 +7753,7 @@ var Video = React43.forwardRef((props, ref) => {
|
|
|
7729
7753
|
" / ",
|
|
7730
7754
|
formatTime(duration)
|
|
7731
7755
|
] }),
|
|
7732
|
-
/* @__PURE__ */
|
|
7756
|
+
/* @__PURE__ */ jsx355("div", { className: "controls-spacer" }),
|
|
7733
7757
|
playbackRates && playbackRates.length > 0 && /* @__PURE__ */ jsxs225("div", { className: clsx_default("rate-group", rateMenuOpen && "is-open"), children: [
|
|
7734
7758
|
/* @__PURE__ */ jsxs225(
|
|
7735
7759
|
"button",
|
|
@@ -7745,7 +7769,7 @@ var Video = React43.forwardRef((props, ref) => {
|
|
|
7745
7769
|
]
|
|
7746
7770
|
}
|
|
7747
7771
|
),
|
|
7748
|
-
rateMenuOpen && /* @__PURE__ */
|
|
7772
|
+
rateMenuOpen && /* @__PURE__ */ jsx355("ul", { className: "rate-menu", role: "menu", children: playbackRates.map((r2) => /* @__PURE__ */ jsx355("li", { children: /* @__PURE__ */ jsxs225(
|
|
7749
7773
|
"button",
|
|
7750
7774
|
{
|
|
7751
7775
|
type: "button",
|
|
@@ -7759,7 +7783,7 @@ var Video = React43.forwardRef((props, ref) => {
|
|
|
7759
7783
|
}
|
|
7760
7784
|
) }, r2)) })
|
|
7761
7785
|
] }),
|
|
7762
|
-
showCaptions && /* @__PURE__ */
|
|
7786
|
+
showCaptions && /* @__PURE__ */ jsx355(
|
|
7763
7787
|
"button",
|
|
7764
7788
|
{
|
|
7765
7789
|
type: "button",
|
|
@@ -7767,37 +7791,37 @@ var Video = React43.forwardRef((props, ref) => {
|
|
|
7767
7791
|
onClick: toggleCaptions,
|
|
7768
7792
|
"aria-label": captionsOn ? "\uC790\uB9C9 \uB044\uAE30" : "\uC790\uB9C9 \uCF1C\uAE30",
|
|
7769
7793
|
"aria-pressed": captionsOn,
|
|
7770
|
-
children: /* @__PURE__ */
|
|
7794
|
+
children: /* @__PURE__ */ jsx355(TypeIcon_default, {})
|
|
7771
7795
|
}
|
|
7772
7796
|
),
|
|
7773
|
-
showPip && pipSupported && /* @__PURE__ */
|
|
7797
|
+
showPip && pipSupported && /* @__PURE__ */ jsx355(
|
|
7774
7798
|
"button",
|
|
7775
7799
|
{
|
|
7776
7800
|
type: "button",
|
|
7777
7801
|
className: clsx_default("control-btn", isPip && "is-active"),
|
|
7778
7802
|
onClick: togglePip,
|
|
7779
7803
|
"aria-label": isPip ? "PIP \uC885\uB8CC" : "PIP",
|
|
7780
|
-
children: /* @__PURE__ */
|
|
7804
|
+
children: /* @__PURE__ */ jsx355(PipIcon, {})
|
|
7781
7805
|
}
|
|
7782
7806
|
),
|
|
7783
|
-
showDownload && /* @__PURE__ */
|
|
7807
|
+
showDownload && /* @__PURE__ */ jsx355(
|
|
7784
7808
|
"a",
|
|
7785
7809
|
{
|
|
7786
7810
|
className: "control-btn",
|
|
7787
7811
|
href: src,
|
|
7788
7812
|
download: downloadFileName ?? true,
|
|
7789
7813
|
"aria-label": "\uB2E4\uC6B4\uB85C\uB4DC",
|
|
7790
|
-
children: /* @__PURE__ */
|
|
7814
|
+
children: /* @__PURE__ */ jsx355(DownloadIcon_default, {})
|
|
7791
7815
|
}
|
|
7792
7816
|
),
|
|
7793
|
-
/* @__PURE__ */
|
|
7817
|
+
/* @__PURE__ */ jsx355(
|
|
7794
7818
|
"button",
|
|
7795
7819
|
{
|
|
7796
7820
|
type: "button",
|
|
7797
7821
|
className: "control-btn",
|
|
7798
7822
|
onClick: toggleFullscreen,
|
|
7799
7823
|
"aria-label": isFullscreen ? "\uC804\uCCB4\uD654\uBA74 \uC885\uB8CC" : "\uC804\uCCB4\uD654\uBA74",
|
|
7800
|
-
children: isFullscreen ? /* @__PURE__ */
|
|
7824
|
+
children: isFullscreen ? /* @__PURE__ */ jsx355(MinimizeIcon_default, {}) : /* @__PURE__ */ jsx355(MaximizeIcon_default, {})
|
|
7801
7825
|
}
|
|
7802
7826
|
)
|
|
7803
7827
|
] })
|
|
@@ -7868,6 +7892,7 @@ export {
|
|
|
7868
7892
|
TextArea_default as TextArea,
|
|
7869
7893
|
TimePicker_default as TimePicker,
|
|
7870
7894
|
ToastProvider,
|
|
7895
|
+
ToggleChip_default as ToggleChip,
|
|
7871
7896
|
Tooltip_default as Tooltip,
|
|
7872
7897
|
Video_default as Video,
|
|
7873
7898
|
hasError,
|
package/dist/index.cjs
CHANGED
|
@@ -347,6 +347,7 @@ __export(index_exports, {
|
|
|
347
347
|
ThumbsUpIcon: () => ThumbsUpIcon_default,
|
|
348
348
|
TimePicker: () => TimePicker_default,
|
|
349
349
|
ToastProvider: () => ToastProvider,
|
|
350
|
+
ToggleChip: () => ToggleChip_default,
|
|
350
351
|
ToggleLeftIcon: () => ToggleLeftIcon_default,
|
|
351
352
|
ToggleRightIcon: () => ToggleRightIcon_default,
|
|
352
353
|
ToolIcon: () => ToolIcon_default,
|
|
@@ -11818,9 +11819,33 @@ var ToastProvider = ({
|
|
|
11818
11819
|
};
|
|
11819
11820
|
ToastProvider.displayName = "ToastProvider";
|
|
11820
11821
|
|
|
11822
|
+
// src/components/ToggleChip/ToggleChip.tsx
|
|
11823
|
+
var import_jsx_runtime353 = require("react/jsx-runtime");
|
|
11824
|
+
var ToggleChip = (props) => {
|
|
11825
|
+
const { children, selected = false, onClick, disabled = false, size = "md" } = props;
|
|
11826
|
+
return /* @__PURE__ */ (0, import_jsx_runtime353.jsx)(
|
|
11827
|
+
"button",
|
|
11828
|
+
{
|
|
11829
|
+
type: "button",
|
|
11830
|
+
className: clsx_default(
|
|
11831
|
+
"lib-xplat-chip",
|
|
11832
|
+
"lib-xplat-toggle-chip",
|
|
11833
|
+
size,
|
|
11834
|
+
selected ? "selected" : "unselected"
|
|
11835
|
+
),
|
|
11836
|
+
"aria-pressed": selected,
|
|
11837
|
+
disabled,
|
|
11838
|
+
onClick,
|
|
11839
|
+
children
|
|
11840
|
+
}
|
|
11841
|
+
);
|
|
11842
|
+
};
|
|
11843
|
+
ToggleChip.displayName = "ToggleChip";
|
|
11844
|
+
var ToggleChip_default = ToggleChip;
|
|
11845
|
+
|
|
11821
11846
|
// src/components/Tooltip/Tooltip.tsx
|
|
11822
11847
|
var import_react42 = __toESM(require("react"), 1);
|
|
11823
|
-
var
|
|
11848
|
+
var import_jsx_runtime354 = require("react/jsx-runtime");
|
|
11824
11849
|
var OFFSET = 12;
|
|
11825
11850
|
var GAP = 8;
|
|
11826
11851
|
var SHOW_DELAY = 300;
|
|
@@ -11925,8 +11950,8 @@ var Tooltip = (props) => {
|
|
|
11925
11950
|
window.clearTimeout(delayTimer.current);
|
|
11926
11951
|
cancelAnimationFrame(rafRef.current);
|
|
11927
11952
|
}, []);
|
|
11928
|
-
if (!title && !description) return /* @__PURE__ */ (0,
|
|
11929
|
-
return /* @__PURE__ */ (0,
|
|
11953
|
+
if (!title && !description) return /* @__PURE__ */ (0, import_jsx_runtime354.jsx)(import_jsx_runtime354.Fragment, { children });
|
|
11954
|
+
return /* @__PURE__ */ (0, import_jsx_runtime354.jsxs)(
|
|
11930
11955
|
"div",
|
|
11931
11956
|
{
|
|
11932
11957
|
ref: triggerRef,
|
|
@@ -11939,7 +11964,7 @@ var Tooltip = (props) => {
|
|
|
11939
11964
|
onBlur: close,
|
|
11940
11965
|
children: [
|
|
11941
11966
|
children,
|
|
11942
|
-
visible && /* @__PURE__ */ (0,
|
|
11967
|
+
visible && /* @__PURE__ */ (0, import_jsx_runtime354.jsx)(Portal_default, { children: /* @__PURE__ */ (0, import_jsx_runtime354.jsxs)(
|
|
11943
11968
|
"div",
|
|
11944
11969
|
{
|
|
11945
11970
|
ref: tooltipRef,
|
|
@@ -11947,8 +11972,8 @@ var Tooltip = (props) => {
|
|
|
11947
11972
|
className: clsx_default("lib-xplat-tooltip", shape),
|
|
11948
11973
|
style: { position: "fixed", left: pos.left, top: pos.top },
|
|
11949
11974
|
children: [
|
|
11950
|
-
title && /* @__PURE__ */ (0,
|
|
11951
|
-
description && /* @__PURE__ */ (0,
|
|
11975
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime354.jsx)("div", { className: "tooltip-title", children: title }),
|
|
11976
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime354.jsx)("div", { className: "tooltip-desc", children: description })
|
|
11952
11977
|
]
|
|
11953
11978
|
}
|
|
11954
11979
|
) })
|
|
@@ -11961,10 +11986,10 @@ var Tooltip_default = Tooltip;
|
|
|
11961
11986
|
|
|
11962
11987
|
// src/components/Video/Video.tsx
|
|
11963
11988
|
var import_react43 = __toESM(require("react"), 1);
|
|
11964
|
-
var
|
|
11965
|
-
var PipIcon = () => /* @__PURE__ */ (0,
|
|
11966
|
-
/* @__PURE__ */ (0,
|
|
11967
|
-
/* @__PURE__ */ (0,
|
|
11989
|
+
var import_jsx_runtime355 = require("react/jsx-runtime");
|
|
11990
|
+
var PipIcon = () => /* @__PURE__ */ (0, import_jsx_runtime355.jsxs)("svg", { viewBox: "0 0 24 24", width: "1em", height: "1em", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [
|
|
11991
|
+
/* @__PURE__ */ (0, import_jsx_runtime355.jsx)("rect", { x: "3", y: "5", width: "18", height: "14", rx: "2" }),
|
|
11992
|
+
/* @__PURE__ */ (0, import_jsx_runtime355.jsx)("rect", { x: "12", y: "11", width: "7", height: "6", rx: "1", fill: "currentColor" })
|
|
11968
11993
|
] });
|
|
11969
11994
|
var formatTime = (sec) => {
|
|
11970
11995
|
if (!Number.isFinite(sec) || sec < 0) return "0:00";
|
|
@@ -12139,13 +12164,13 @@ var Video = import_react43.default.forwardRef((props, ref) => {
|
|
|
12139
12164
|
const volumePct = (isMuted ? 0 : volume) * 100;
|
|
12140
12165
|
const VolumeGlyph = isMuted || volume === 0 ? VolumeXIcon_default : volume < 0.5 ? VolumeIcon_default : Volume2Icon_default;
|
|
12141
12166
|
const pipSupported = typeof document !== "undefined" && "pictureInPictureEnabled" in document && document.pictureInPictureEnabled;
|
|
12142
|
-
return /* @__PURE__ */ (0,
|
|
12167
|
+
return /* @__PURE__ */ (0, import_jsx_runtime355.jsxs)(
|
|
12143
12168
|
"div",
|
|
12144
12169
|
{
|
|
12145
12170
|
ref: containerRef,
|
|
12146
12171
|
className: clsx_default("lib-xplat-video", showControls && "has-controls"),
|
|
12147
12172
|
children: [
|
|
12148
|
-
/* @__PURE__ */ (0,
|
|
12173
|
+
/* @__PURE__ */ (0, import_jsx_runtime355.jsx)(
|
|
12149
12174
|
"video",
|
|
12150
12175
|
{
|
|
12151
12176
|
ref: setRefs,
|
|
@@ -12166,7 +12191,7 @@ var Video = import_react43.default.forwardRef((props, ref) => {
|
|
|
12166
12191
|
children
|
|
12167
12192
|
}
|
|
12168
12193
|
),
|
|
12169
|
-
showCenterPlay && /* @__PURE__ */ (0,
|
|
12194
|
+
showCenterPlay && /* @__PURE__ */ (0, import_jsx_runtime355.jsx)(
|
|
12170
12195
|
"button",
|
|
12171
12196
|
{
|
|
12172
12197
|
type: "button",
|
|
@@ -12178,11 +12203,11 @@ var Video = import_react43.default.forwardRef((props, ref) => {
|
|
|
12178
12203
|
onClick: togglePlay,
|
|
12179
12204
|
"aria-label": isPlaying ? "\uC77C\uC2DC\uC815\uC9C0" : "\uC7AC\uC0DD",
|
|
12180
12205
|
tabIndex: -1,
|
|
12181
|
-
children: /* @__PURE__ */ (0,
|
|
12206
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime355.jsx)("span", { className: "center-play-icon", children: /* @__PURE__ */ (0, import_jsx_runtime355.jsx)(PlayCircleIcon_default, {}) })
|
|
12182
12207
|
}
|
|
12183
12208
|
),
|
|
12184
|
-
showControls && /* @__PURE__ */ (0,
|
|
12185
|
-
/* @__PURE__ */ (0,
|
|
12209
|
+
showControls && /* @__PURE__ */ (0, import_jsx_runtime355.jsxs)("div", { className: "controls", onClick: (e) => e.stopPropagation(), children: [
|
|
12210
|
+
/* @__PURE__ */ (0, import_jsx_runtime355.jsx)(
|
|
12186
12211
|
"input",
|
|
12187
12212
|
{
|
|
12188
12213
|
type: "range",
|
|
@@ -12199,29 +12224,29 @@ var Video = import_react43.default.forwardRef((props, ref) => {
|
|
|
12199
12224
|
}
|
|
12200
12225
|
}
|
|
12201
12226
|
),
|
|
12202
|
-
/* @__PURE__ */ (0,
|
|
12203
|
-
/* @__PURE__ */ (0,
|
|
12227
|
+
/* @__PURE__ */ (0, import_jsx_runtime355.jsxs)("div", { className: "controls-row", children: [
|
|
12228
|
+
/* @__PURE__ */ (0, import_jsx_runtime355.jsx)(
|
|
12204
12229
|
"button",
|
|
12205
12230
|
{
|
|
12206
12231
|
type: "button",
|
|
12207
12232
|
className: "control-btn",
|
|
12208
12233
|
onClick: togglePlay,
|
|
12209
12234
|
"aria-label": isPlaying ? "\uC77C\uC2DC\uC815\uC9C0" : "\uC7AC\uC0DD",
|
|
12210
|
-
children: isPlaying ? /* @__PURE__ */ (0,
|
|
12235
|
+
children: isPlaying ? /* @__PURE__ */ (0, import_jsx_runtime355.jsx)(PauseIcon_default, {}) : /* @__PURE__ */ (0, import_jsx_runtime355.jsx)(PlayIcon_default, {})
|
|
12211
12236
|
}
|
|
12212
12237
|
),
|
|
12213
|
-
/* @__PURE__ */ (0,
|
|
12214
|
-
/* @__PURE__ */ (0,
|
|
12238
|
+
/* @__PURE__ */ (0, import_jsx_runtime355.jsxs)("div", { className: "volume-group", children: [
|
|
12239
|
+
/* @__PURE__ */ (0, import_jsx_runtime355.jsx)(
|
|
12215
12240
|
"button",
|
|
12216
12241
|
{
|
|
12217
12242
|
type: "button",
|
|
12218
12243
|
className: "control-btn",
|
|
12219
12244
|
onClick: toggleMute,
|
|
12220
12245
|
"aria-label": isMuted ? "\uC74C\uC18C\uAC70 \uD574\uC81C" : "\uC74C\uC18C\uAC70",
|
|
12221
|
-
children: /* @__PURE__ */ (0,
|
|
12246
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime355.jsx)(VolumeGlyph, {})
|
|
12222
12247
|
}
|
|
12223
12248
|
),
|
|
12224
|
-
/* @__PURE__ */ (0,
|
|
12249
|
+
/* @__PURE__ */ (0, import_jsx_runtime355.jsx)(
|
|
12225
12250
|
"input",
|
|
12226
12251
|
{
|
|
12227
12252
|
type: "range",
|
|
@@ -12236,14 +12261,14 @@ var Video = import_react43.default.forwardRef((props, ref) => {
|
|
|
12236
12261
|
}
|
|
12237
12262
|
)
|
|
12238
12263
|
] }),
|
|
12239
|
-
/* @__PURE__ */ (0,
|
|
12264
|
+
/* @__PURE__ */ (0, import_jsx_runtime355.jsxs)("span", { className: "time", children: [
|
|
12240
12265
|
formatTime(currentTime),
|
|
12241
12266
|
" / ",
|
|
12242
12267
|
formatTime(duration)
|
|
12243
12268
|
] }),
|
|
12244
|
-
/* @__PURE__ */ (0,
|
|
12245
|
-
playbackRates && playbackRates.length > 0 && /* @__PURE__ */ (0,
|
|
12246
|
-
/* @__PURE__ */ (0,
|
|
12269
|
+
/* @__PURE__ */ (0, import_jsx_runtime355.jsx)("div", { className: "controls-spacer" }),
|
|
12270
|
+
playbackRates && playbackRates.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime355.jsxs)("div", { className: clsx_default("rate-group", rateMenuOpen && "is-open"), children: [
|
|
12271
|
+
/* @__PURE__ */ (0, import_jsx_runtime355.jsxs)(
|
|
12247
12272
|
"button",
|
|
12248
12273
|
{
|
|
12249
12274
|
type: "button",
|
|
@@ -12257,7 +12282,7 @@ var Video = import_react43.default.forwardRef((props, ref) => {
|
|
|
12257
12282
|
]
|
|
12258
12283
|
}
|
|
12259
12284
|
),
|
|
12260
|
-
rateMenuOpen && /* @__PURE__ */ (0,
|
|
12285
|
+
rateMenuOpen && /* @__PURE__ */ (0, import_jsx_runtime355.jsx)("ul", { className: "rate-menu", role: "menu", children: playbackRates.map((r2) => /* @__PURE__ */ (0, import_jsx_runtime355.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime355.jsxs)(
|
|
12261
12286
|
"button",
|
|
12262
12287
|
{
|
|
12263
12288
|
type: "button",
|
|
@@ -12271,7 +12296,7 @@ var Video = import_react43.default.forwardRef((props, ref) => {
|
|
|
12271
12296
|
}
|
|
12272
12297
|
) }, r2)) })
|
|
12273
12298
|
] }),
|
|
12274
|
-
showCaptions && /* @__PURE__ */ (0,
|
|
12299
|
+
showCaptions && /* @__PURE__ */ (0, import_jsx_runtime355.jsx)(
|
|
12275
12300
|
"button",
|
|
12276
12301
|
{
|
|
12277
12302
|
type: "button",
|
|
@@ -12279,37 +12304,37 @@ var Video = import_react43.default.forwardRef((props, ref) => {
|
|
|
12279
12304
|
onClick: toggleCaptions,
|
|
12280
12305
|
"aria-label": captionsOn ? "\uC790\uB9C9 \uB044\uAE30" : "\uC790\uB9C9 \uCF1C\uAE30",
|
|
12281
12306
|
"aria-pressed": captionsOn,
|
|
12282
|
-
children: /* @__PURE__ */ (0,
|
|
12307
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime355.jsx)(TypeIcon_default, {})
|
|
12283
12308
|
}
|
|
12284
12309
|
),
|
|
12285
|
-
showPip && pipSupported && /* @__PURE__ */ (0,
|
|
12310
|
+
showPip && pipSupported && /* @__PURE__ */ (0, import_jsx_runtime355.jsx)(
|
|
12286
12311
|
"button",
|
|
12287
12312
|
{
|
|
12288
12313
|
type: "button",
|
|
12289
12314
|
className: clsx_default("control-btn", isPip && "is-active"),
|
|
12290
12315
|
onClick: togglePip,
|
|
12291
12316
|
"aria-label": isPip ? "PIP \uC885\uB8CC" : "PIP",
|
|
12292
|
-
children: /* @__PURE__ */ (0,
|
|
12317
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime355.jsx)(PipIcon, {})
|
|
12293
12318
|
}
|
|
12294
12319
|
),
|
|
12295
|
-
showDownload && /* @__PURE__ */ (0,
|
|
12320
|
+
showDownload && /* @__PURE__ */ (0, import_jsx_runtime355.jsx)(
|
|
12296
12321
|
"a",
|
|
12297
12322
|
{
|
|
12298
12323
|
className: "control-btn",
|
|
12299
12324
|
href: src,
|
|
12300
12325
|
download: downloadFileName ?? true,
|
|
12301
12326
|
"aria-label": "\uB2E4\uC6B4\uB85C\uB4DC",
|
|
12302
|
-
children: /* @__PURE__ */ (0,
|
|
12327
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime355.jsx)(DownloadIcon_default, {})
|
|
12303
12328
|
}
|
|
12304
12329
|
),
|
|
12305
|
-
/* @__PURE__ */ (0,
|
|
12330
|
+
/* @__PURE__ */ (0, import_jsx_runtime355.jsx)(
|
|
12306
12331
|
"button",
|
|
12307
12332
|
{
|
|
12308
12333
|
type: "button",
|
|
12309
12334
|
className: "control-btn",
|
|
12310
12335
|
onClick: toggleFullscreen,
|
|
12311
12336
|
"aria-label": isFullscreen ? "\uC804\uCCB4\uD654\uBA74 \uC885\uB8CC" : "\uC804\uCCB4\uD654\uBA74",
|
|
12312
|
-
children: isFullscreen ? /* @__PURE__ */ (0,
|
|
12337
|
+
children: isFullscreen ? /* @__PURE__ */ (0, import_jsx_runtime355.jsx)(MinimizeIcon_default, {}) : /* @__PURE__ */ (0, import_jsx_runtime355.jsx)(MaximizeIcon_default, {})
|
|
12313
12338
|
}
|
|
12314
12339
|
)
|
|
12315
12340
|
] })
|
|
@@ -12322,7 +12347,7 @@ Video.displayName = "Video";
|
|
|
12322
12347
|
var Video_default = Video;
|
|
12323
12348
|
|
|
12324
12349
|
// src/layout/Grid/FullGrid/FullGrid.tsx
|
|
12325
|
-
var
|
|
12350
|
+
var import_jsx_runtime356 = require("react/jsx-runtime");
|
|
12326
12351
|
var GAP_MAP = {
|
|
12327
12352
|
none: "var(--spacing-space-none)",
|
|
12328
12353
|
xs: "var(--spacing-space-1)",
|
|
@@ -12335,13 +12360,13 @@ var GAP_MAP = {
|
|
|
12335
12360
|
var FullGrid = (props) => {
|
|
12336
12361
|
const { children, gap } = props;
|
|
12337
12362
|
const style = gap != null ? { gap: GAP_MAP[gap] } : void 0;
|
|
12338
|
-
return /* @__PURE__ */ (0,
|
|
12363
|
+
return /* @__PURE__ */ (0, import_jsx_runtime356.jsx)("div", { className: "lib-xplat-full-grid", style, children });
|
|
12339
12364
|
};
|
|
12340
12365
|
FullGrid.displayName = "FullGrid";
|
|
12341
12366
|
var FullGrid_default = FullGrid;
|
|
12342
12367
|
|
|
12343
12368
|
// src/layout/Grid/FullScreen/FullScreen.tsx
|
|
12344
|
-
var
|
|
12369
|
+
var import_jsx_runtime357 = require("react/jsx-runtime");
|
|
12345
12370
|
var GAP_MAP2 = {
|
|
12346
12371
|
none: "var(--spacing-space-none)",
|
|
12347
12372
|
xs: "var(--spacing-space-1)",
|
|
@@ -12354,13 +12379,13 @@ var GAP_MAP2 = {
|
|
|
12354
12379
|
var FullScreen = (props) => {
|
|
12355
12380
|
const { children, gap } = props;
|
|
12356
12381
|
const style = gap != null ? { gap: GAP_MAP2[gap] } : void 0;
|
|
12357
|
-
return /* @__PURE__ */ (0,
|
|
12382
|
+
return /* @__PURE__ */ (0, import_jsx_runtime357.jsx)("div", { className: "lib-xplat-full-screen", style, children });
|
|
12358
12383
|
};
|
|
12359
12384
|
FullScreen.displayName = "FullScreen";
|
|
12360
12385
|
var FullScreen_default = FullScreen;
|
|
12361
12386
|
|
|
12362
12387
|
// src/layout/Grid/Item/Item.tsx
|
|
12363
|
-
var
|
|
12388
|
+
var import_jsx_runtime358 = require("react/jsx-runtime");
|
|
12364
12389
|
var calculateSpans = (column) => {
|
|
12365
12390
|
const spans = {};
|
|
12366
12391
|
let inherited = column.default;
|
|
@@ -12377,35 +12402,35 @@ var GridItem = ({ column, children, className }) => {
|
|
|
12377
12402
|
Object.entries(spans).forEach(([key, value]) => {
|
|
12378
12403
|
style[`--column-${key}`] = value;
|
|
12379
12404
|
});
|
|
12380
|
-
return /* @__PURE__ */ (0,
|
|
12405
|
+
return /* @__PURE__ */ (0, import_jsx_runtime358.jsx)("div", { className: clsx_default("lib-xplat-grid-item", className), style, children });
|
|
12381
12406
|
};
|
|
12382
12407
|
GridItem.displayName = "GridItem";
|
|
12383
12408
|
var Item_default = GridItem;
|
|
12384
12409
|
|
|
12385
12410
|
// src/layout/Header/Header.tsx
|
|
12386
|
-
var
|
|
12411
|
+
var import_jsx_runtime359 = require("react/jsx-runtime");
|
|
12387
12412
|
var Header = ({
|
|
12388
12413
|
logo,
|
|
12389
12414
|
centerContent,
|
|
12390
12415
|
rightContent
|
|
12391
12416
|
}) => {
|
|
12392
|
-
return /* @__PURE__ */ (0,
|
|
12393
|
-
/* @__PURE__ */ (0,
|
|
12394
|
-
/* @__PURE__ */ (0,
|
|
12395
|
-
/* @__PURE__ */ (0,
|
|
12417
|
+
return /* @__PURE__ */ (0, import_jsx_runtime359.jsxs)("div", { className: "lib-xplat-layout-header", children: [
|
|
12418
|
+
/* @__PURE__ */ (0, import_jsx_runtime359.jsx)("div", { children: logo }),
|
|
12419
|
+
/* @__PURE__ */ (0, import_jsx_runtime359.jsx)("div", { children: centerContent }),
|
|
12420
|
+
/* @__PURE__ */ (0, import_jsx_runtime359.jsx)("div", { children: rightContent })
|
|
12396
12421
|
] });
|
|
12397
12422
|
};
|
|
12398
12423
|
Header.displayName = "Header";
|
|
12399
12424
|
var Header_default = Header;
|
|
12400
12425
|
|
|
12401
12426
|
// src/layout/Layout/Layout.tsx
|
|
12402
|
-
var
|
|
12427
|
+
var import_jsx_runtime360 = require("react/jsx-runtime");
|
|
12403
12428
|
var Layout = (props) => {
|
|
12404
12429
|
const { header, sideBar, children } = props;
|
|
12405
|
-
return /* @__PURE__ */ (0,
|
|
12406
|
-
sideBar && /* @__PURE__ */ (0,
|
|
12407
|
-
/* @__PURE__ */ (0,
|
|
12408
|
-
header && /* @__PURE__ */ (0,
|
|
12430
|
+
return /* @__PURE__ */ (0, import_jsx_runtime360.jsx)("div", { className: "lib-xplat-layout", children: /* @__PURE__ */ (0, import_jsx_runtime360.jsxs)("div", { className: "lib-xplat-layout-content-wrapper", children: [
|
|
12431
|
+
sideBar && /* @__PURE__ */ (0, import_jsx_runtime360.jsx)(import_jsx_runtime360.Fragment, { children: sideBar }),
|
|
12432
|
+
/* @__PURE__ */ (0, import_jsx_runtime360.jsxs)("div", { className: "lib-xplat-layout-content", children: [
|
|
12433
|
+
header && /* @__PURE__ */ (0, import_jsx_runtime360.jsx)("div", { className: "lib-xplat-layout-conent-header", children: header }),
|
|
12409
12434
|
children
|
|
12410
12435
|
] })
|
|
12411
12436
|
] }) });
|
|
@@ -12427,18 +12452,18 @@ var useSideBarContext = () => {
|
|
|
12427
12452
|
var SideBarContext_default = SideBarContext;
|
|
12428
12453
|
|
|
12429
12454
|
// src/layout/SideBar/SideBar.tsx
|
|
12430
|
-
var
|
|
12455
|
+
var import_jsx_runtime361 = require("react/jsx-runtime");
|
|
12431
12456
|
var SideBar = (props) => {
|
|
12432
12457
|
const { children, className } = props;
|
|
12433
12458
|
const [isOpen, setIsOpen] = import_react45.default.useState(true);
|
|
12434
12459
|
const handleSwitchSideBar = () => {
|
|
12435
12460
|
setIsOpen((prev) => !prev);
|
|
12436
12461
|
};
|
|
12437
|
-
return /* @__PURE__ */ (0,
|
|
12462
|
+
return /* @__PURE__ */ (0, import_jsx_runtime361.jsx)(
|
|
12438
12463
|
SideBarContext_default.Provider,
|
|
12439
12464
|
{
|
|
12440
12465
|
value: { isSidebarOpen: isOpen, handleSwitchSideBar },
|
|
12441
|
-
children: /* @__PURE__ */ (0,
|
|
12466
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime361.jsx)(
|
|
12442
12467
|
"div",
|
|
12443
12468
|
{
|
|
12444
12469
|
className: clsx_default(
|
|
@@ -12773,6 +12798,7 @@ var SideBar_default = SideBar;
|
|
|
12773
12798
|
ThumbsUpIcon,
|
|
12774
12799
|
TimePicker,
|
|
12775
12800
|
ToastProvider,
|
|
12801
|
+
ToggleChip,
|
|
12776
12802
|
ToggleLeftIcon,
|
|
12777
12803
|
ToggleRightIcon,
|
|
12778
12804
|
ToolIcon,
|
package/dist/index.css
CHANGED
|
@@ -5806,6 +5806,43 @@
|
|
|
5806
5806
|
}
|
|
5807
5807
|
}
|
|
5808
5808
|
|
|
5809
|
+
/* src/components/ToggleChip/togglechip.scss */
|
|
5810
|
+
.lib-xplat-toggle-chip {
|
|
5811
|
+
cursor: pointer;
|
|
5812
|
+
font-family: inherit;
|
|
5813
|
+
transition:
|
|
5814
|
+
background-color 0.28s cubic-bezier(0.25, 0.46, 0.45, 0.94),
|
|
5815
|
+
border-color 0.28s cubic-bezier(0.25, 0.46, 0.45, 0.94),
|
|
5816
|
+
color 0.28s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
|
5817
|
+
}
|
|
5818
|
+
.lib-xplat-toggle-chip.unselected {
|
|
5819
|
+
color: var(--semantic-text-secondary);
|
|
5820
|
+
background-color: var(--semantic-surface-neutral-primary);
|
|
5821
|
+
border: 1px solid var(--semantic-border-primary);
|
|
5822
|
+
}
|
|
5823
|
+
.lib-xplat-toggle-chip.unselected:hover:not(:disabled) {
|
|
5824
|
+
color: var(--semantic-text-primary);
|
|
5825
|
+
background-color: var(--semantic-surface-neutral-secondary);
|
|
5826
|
+
}
|
|
5827
|
+
.lib-xplat-toggle-chip {
|
|
5828
|
+
}
|
|
5829
|
+
.lib-xplat-toggle-chip.selected {
|
|
5830
|
+
color: var(--semantic-text-brand-primary);
|
|
5831
|
+
background-color: var(--semantic-surface-brand-subtle);
|
|
5832
|
+
border: 1px solid var(--semantic-border-brand-primary);
|
|
5833
|
+
}
|
|
5834
|
+
.lib-xplat-toggle-chip.selected:hover:not(:disabled) {
|
|
5835
|
+
background-color: var(--semantic-surface-brand-secondary);
|
|
5836
|
+
}
|
|
5837
|
+
.lib-xplat-toggle-chip:focus-visible {
|
|
5838
|
+
outline: 2px solid var(--semantic-interaction-focus-ring);
|
|
5839
|
+
outline-offset: 2px;
|
|
5840
|
+
}
|
|
5841
|
+
.lib-xplat-toggle-chip:disabled {
|
|
5842
|
+
cursor: not-allowed;
|
|
5843
|
+
opacity: 0.4;
|
|
5844
|
+
}
|
|
5845
|
+
|
|
5809
5846
|
/* src/components/Video/video.scss */
|
|
5810
5847
|
.lib-xplat-video {
|
|
5811
5848
|
position: relative;
|