@linyao.tw/ui 1.0.0 → 1.2.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.
Files changed (178) hide show
  1. package/README.md +9 -1
  2. package/dist/components/date-time/calendar.js +8 -6
  3. package/dist/components/date-time/calendar.js.map +1 -1
  4. package/dist/components/date-time/date-field.js +10 -8
  5. package/dist/components/date-time/date-field.js.map +1 -1
  6. package/dist/components/date-time/date-picker.js +8 -6
  7. package/dist/components/date-time/date-picker.js.map +1 -1
  8. package/dist/components/date-time/date-range-picker.js +8 -6
  9. package/dist/components/date-time/date-range-picker.js.map +1 -1
  10. package/dist/components/date-time/index.js +1 -1
  11. package/dist/components/date-time/shared.d.ts +0 -1
  12. package/dist/components/date-time/shared.js +7 -9
  13. package/dist/components/date-time/shared.js.map +1 -1
  14. package/dist/components/date-time/time-field.js +8 -6
  15. package/dist/components/date-time/time-field.js.map +1 -1
  16. package/dist/components/feedback/alert.js +35 -34
  17. package/dist/components/feedback/alert.js.map +1 -1
  18. package/dist/components/feedback/banner.js +15 -14
  19. package/dist/components/feedback/banner.js.map +1 -1
  20. package/dist/components/feedback/empty-state.d.ts +2 -1
  21. package/dist/components/feedback/empty-state.js +31 -31
  22. package/dist/components/feedback/empty-state.js.map +1 -1
  23. package/dist/components/feedback/feedback.types.d.ts +0 -1
  24. package/dist/components/feedback/feedback.types.js +3 -5
  25. package/dist/components/feedback/feedback.types.js.map +1 -1
  26. package/dist/components/feedback/index.d.ts +8 -8
  27. package/dist/components/feedback/meter.js +21 -21
  28. package/dist/components/feedback/meter.js.map +1 -1
  29. package/dist/components/feedback/progress.js +21 -21
  30. package/dist/components/feedback/progress.js.map +1 -1
  31. package/dist/components/feedback/skeleton.js +11 -11
  32. package/dist/components/feedback/skeleton.js.map +1 -1
  33. package/dist/components/feedback/spinner.js +25 -25
  34. package/dist/components/feedback/spinner.js.map +1 -1
  35. package/dist/components/feedback/toast.js +23 -21
  36. package/dist/components/feedback/toast.js.map +1 -1
  37. package/dist/components/forms/{CodeField.d.ts → code-field.d.ts} +1 -1
  38. package/dist/components/forms/code-field.js +66 -0
  39. package/dist/components/forms/code-field.js.map +1 -0
  40. package/dist/components/forms/{FileUpload.d.ts → file-upload.d.ts} +1 -1
  41. package/dist/components/forms/{FileUpload.js → file-upload.js} +128 -111
  42. package/dist/components/forms/file-upload.js.map +1 -0
  43. package/dist/components/forms/index.d.ts +6 -6
  44. package/dist/components/forms/{Input.js → input.js} +4 -3
  45. package/dist/components/forms/input.js.map +1 -0
  46. package/dist/components/forms/internal.d.ts +0 -2
  47. package/dist/components/forms/internal.js +22 -25
  48. package/dist/components/forms/internal.js.map +1 -1
  49. package/dist/components/forms/number-field.js +74 -0
  50. package/dist/components/forms/number-field.js.map +1 -0
  51. package/dist/components/forms/otp-field.js +58 -0
  52. package/dist/components/forms/otp-field.js.map +1 -0
  53. package/dist/components/forms/{TextField.d.ts → text-field.d.ts} +5 -0
  54. package/dist/components/forms/text-field.js +201 -0
  55. package/dist/components/forms/text-field.js.map +1 -0
  56. package/dist/components/foundations/{Avatar.js → avatar.js} +13 -10
  57. package/dist/components/foundations/avatar.js.map +1 -0
  58. package/dist/components/foundations/{Badge.d.ts → badge.d.ts} +1 -1
  59. package/dist/components/foundations/{Badge.js → badge.js} +4 -3
  60. package/dist/components/foundations/badge.js.map +1 -0
  61. package/dist/components/foundations/{Button.js → button.js} +4 -3
  62. package/dist/components/foundations/button.js.map +1 -0
  63. package/dist/components/foundations/{Card.d.ts → card.d.ts} +9 -2
  64. package/dist/components/foundations/{Card.js → card.js} +6 -5
  65. package/dist/components/foundations/card.js.map +1 -0
  66. package/dist/components/foundations/{IconButton.d.ts → icon-button.d.ts} +2 -8
  67. package/dist/components/foundations/{IconButton.js → icon-button.js} +5 -4
  68. package/dist/components/foundations/icon-button.js.map +1 -0
  69. package/dist/components/foundations/index.d.ts +9 -9
  70. package/dist/components/foundations/{Link.d.ts → link.d.ts} +1 -1
  71. package/dist/components/foundations/link.js +47 -0
  72. package/dist/components/foundations/link.js.map +1 -0
  73. package/dist/components/foundations/{ListCell.d.ts → list-cell.d.ts} +1 -8
  74. package/dist/components/foundations/{ListCell.js → list-cell.js} +4 -3
  75. package/dist/components/foundations/list-cell.js.map +1 -0
  76. package/dist/components/foundations/{SectionHeading.d.ts → section-heading.d.ts} +5 -2
  77. package/dist/components/foundations/{SectionHeading.js → section-heading.js} +4 -3
  78. package/dist/components/foundations/section-heading.js.map +1 -0
  79. package/dist/components/foundations/{Separator.js → separator.js} +4 -3
  80. package/dist/components/foundations/separator.js.map +1 -0
  81. package/dist/components/navigation-data/breadcrumb-pagination.js +89 -81
  82. package/dist/components/navigation-data/breadcrumb-pagination.js.map +1 -1
  83. package/dist/components/navigation-data/command-palette.d.ts +26 -0
  84. package/dist/components/navigation-data/command-palette.js +101 -72
  85. package/dist/components/navigation-data/command-palette.js.map +1 -1
  86. package/dist/components/navigation-data/header-tab-bar.js +50 -46
  87. package/dist/components/navigation-data/header-tab-bar.js.map +1 -1
  88. package/dist/components/navigation-data/index.d.ts +7 -7
  89. package/dist/components/navigation-data/menubar-toolbar.js +2 -1
  90. package/dist/components/navigation-data/menubar-toolbar.js.map +1 -1
  91. package/dist/components/navigation-data/navigation-menu.js +2 -1
  92. package/dist/components/navigation-data/navigation-menu.js.map +1 -1
  93. package/dist/components/navigation-data/scroll-area.js +2 -1
  94. package/dist/components/navigation-data/scroll-area.js.map +1 -1
  95. package/dist/components/navigation-data/table-collection.d.ts +12 -3
  96. package/dist/components/navigation-data/table-collection.js +12 -9
  97. package/dist/components/navigation-data/table-collection.js.map +1 -1
  98. package/dist/components/overlays/dialog.d.ts +23 -3
  99. package/dist/components/overlays/dialog.js +138 -130
  100. package/dist/components/overlays/dialog.js.map +1 -1
  101. package/dist/components/overlays/disclosure.js +2 -1
  102. package/dist/components/overlays/disclosure.js.map +1 -1
  103. package/dist/components/overlays/drawer.d.ts +9 -2
  104. package/dist/components/overlays/drawer.js +158 -151
  105. package/dist/components/overlays/drawer.js.map +1 -1
  106. package/dist/components/overlays/floating.js +116 -113
  107. package/dist/components/overlays/floating.js.map +1 -1
  108. package/dist/components/overlays/index.d.ts +4 -4
  109. package/dist/components/selection/combobox.js +94 -93
  110. package/dist/components/selection/combobox.js.map +1 -1
  111. package/dist/components/selection/controls.d.ts +4 -1
  112. package/dist/components/selection/controls.js +141 -118
  113. package/dist/components/selection/controls.js.map +1 -1
  114. package/dist/components/selection/menu.js +121 -121
  115. package/dist/components/selection/menu.js.map +1 -1
  116. package/dist/components/selection/select.js +108 -107
  117. package/dist/components/selection/select.js.map +1 -1
  118. package/dist/fonts.css +13 -0
  119. package/dist/index.d.ts +1 -0
  120. package/dist/index.js +39 -33
  121. package/dist/internal/accessible-name.d.ts +12 -0
  122. package/dist/internal/class-names.d.ts +12 -0
  123. package/dist/{components/selection/classnames.js → internal/class-names.js} +4 -3
  124. package/dist/internal/class-names.js.map +1 -0
  125. package/dist/internal/index.d.ts +3 -0
  126. package/dist/{components/foundations/shared.d.ts → internal/render.d.ts} +2 -1
  127. package/dist/intl/index.d.ts +3 -0
  128. package/dist/intl/linyao-provider.d.ts +38 -0
  129. package/dist/intl/linyao-provider.js +27 -0
  130. package/dist/intl/linyao-provider.js.map +1 -0
  131. package/dist/intl/messages.d.ts +48 -0
  132. package/dist/intl/messages.js +81 -0
  133. package/dist/intl/messages.js.map +1 -0
  134. package/dist/intl/provider.d.ts +18 -0
  135. package/dist/intl/provider.js +31 -0
  136. package/dist/intl/provider.js.map +1 -0
  137. package/dist/styles.css +1 -1
  138. package/package.json +6 -4
  139. package/dist/components/feedback/feedback.module.js +0 -42
  140. package/dist/components/feedback/feedback.module.js.map +0 -1
  141. package/dist/components/forms/CodeField.js +0 -63
  142. package/dist/components/forms/CodeField.js.map +0 -1
  143. package/dist/components/forms/FileUpload.js.map +0 -1
  144. package/dist/components/forms/Input.js.map +0 -1
  145. package/dist/components/forms/NumberField.js +0 -71
  146. package/dist/components/forms/NumberField.js.map +0 -1
  147. package/dist/components/forms/OTPField.js +0 -54
  148. package/dist/components/forms/OTPField.js.map +0 -1
  149. package/dist/components/forms/TextField.js +0 -199
  150. package/dist/components/forms/TextField.js.map +0 -1
  151. package/dist/components/foundations/Avatar.js.map +0 -1
  152. package/dist/components/foundations/Badge.js.map +0 -1
  153. package/dist/components/foundations/Button.js.map +0 -1
  154. package/dist/components/foundations/Card.js.map +0 -1
  155. package/dist/components/foundations/IconButton.js.map +0 -1
  156. package/dist/components/foundations/Link.js +0 -40
  157. package/dist/components/foundations/Link.js.map +0 -1
  158. package/dist/components/foundations/ListCell.js.map +0 -1
  159. package/dist/components/foundations/SectionHeading.js.map +0 -1
  160. package/dist/components/foundations/Separator.js.map +0 -1
  161. package/dist/components/foundations/shared.js +0 -8
  162. package/dist/components/foundations/shared.js.map +0 -1
  163. package/dist/components/navigation-data/utils.d.ts +0 -2
  164. package/dist/components/navigation-data/utils.js +0 -11
  165. package/dist/components/navigation-data/utils.js.map +0 -1
  166. package/dist/components/overlays/class-names.d.ts +0 -6
  167. package/dist/components/overlays/class-names.js +0 -11
  168. package/dist/components/overlays/class-names.js.map +0 -1
  169. package/dist/components/selection/classnames.d.ts +0 -4
  170. package/dist/components/selection/classnames.js.map +0 -1
  171. package/dist/components/selection/selection.module.js +0 -51
  172. package/dist/components/selection/selection.module.js.map +0 -1
  173. /package/dist/components/forms/{Input.d.ts → input.d.ts} +0 -0
  174. /package/dist/components/forms/{NumberField.d.ts → number-field.d.ts} +0 -0
  175. /package/dist/components/forms/{OTPField.d.ts → otp-field.d.ts} +0 -0
  176. /package/dist/components/foundations/{Avatar.d.ts → avatar.d.ts} +0 -0
  177. /package/dist/components/foundations/{Button.d.ts → button.d.ts} +0 -0
  178. /package/dist/components/foundations/{Separator.d.ts → separator.d.ts} +0 -0
@@ -1,158 +1,166 @@
1
- import { mergeClassName as e } from "./class-names.js";
2
- import { forwardRef as t } from "react";
3
- import { jsx as n, jsxs as r } from "react/jsx-runtime";
4
- import { XIcon as i } from "@phosphor-icons/react/dist/csr/X";
5
- import { Dialog as a } from "@base-ui/react/dialog";
6
- import { AlertDialog as o } from "@base-ui/react/alert-dialog";
1
+ "use client";
2
+ import { cx as e, withStateClassName as t } from "../../internal/class-names.js";
3
+ import { useMessages as n } from "../../intl/provider.js";
4
+ import { forwardRef as r } from "react";
5
+ import { jsx as i, jsxs as a } from "react/jsx-runtime";
6
+ import { XIcon as o } from "@phosphor-icons/react/dist/csr/X";
7
+ import { Dialog as s } from "@base-ui/react/dialog";
8
+ import { AlertDialog as c } from "@base-ui/react/alert-dialog";
7
9
  //#region src/components/overlays/dialog.tsx
8
- function s() {
9
- return /* @__PURE__ */ n(i, {
10
+ function l() {
11
+ return /* @__PURE__ */ i(o, {
10
12
  "aria-hidden": "true",
11
13
  className: "lyds-overlayClose__glyph",
12
14
  weight: "bold"
13
15
  });
14
16
  }
15
- function c(e) {
16
- return /* @__PURE__ */ n(a.Root, { ...e });
17
+ function u(e) {
18
+ return /* @__PURE__ */ i(s.Root, { ...e });
17
19
  }
18
- function l({ className: t, ...r }) {
19
- return /* @__PURE__ */ n(a.Trigger, {
20
- ...r,
21
- className: e("lyds-dialog__trigger", t)
20
+ function d({ className: e, ...n }) {
21
+ return /* @__PURE__ */ i(s.Trigger, {
22
+ ...n,
23
+ className: t("lyds-dialog__trigger", e)
22
24
  });
23
25
  }
24
- var u = t(function(e, t) {
25
- return /* @__PURE__ */ n(a.Portal, {
26
+ var f = r(function(e, t) {
27
+ return /* @__PURE__ */ i(s.Portal, {
26
28
  ...e,
27
29
  ref: t
28
30
  });
29
- }), d = t(function({ className: t, ...r }, i) {
30
- return /* @__PURE__ */ n(a.Backdrop, {
31
- ...r,
32
- ref: i,
33
- className: e("lyds-dialog__backdrop", t)
34
- });
35
- }), f = t(function({ className: t, ...r }, i) {
36
- return /* @__PURE__ */ n(a.Viewport, {
37
- ...r,
38
- ref: i,
39
- className: e("lyds-dialog__viewport", t)
31
+ }), p = r(function({ className: e, ...n }, r) {
32
+ return /* @__PURE__ */ i(s.Backdrop, {
33
+ ...n,
34
+ ref: r,
35
+ className: t("lyds-dialog__backdrop", e)
40
36
  });
41
- }), p = t(function({ children: t, className: i, closeLabel: o = "關閉對話框", closeProps: s, hasCustomClose: c = !1, ...l }, u) {
42
- return /* @__PURE__ */ r(a.Popup, {
43
- ...l,
44
- ref: u,
45
- className: e("lyds-dialog__popup", i),
46
- children: [t, c ? null : /* @__PURE__ */ n(g, {
47
- ...s,
48
- "aria-label": o
49
- })]
50
- });
51
- }), m = t(function({ className: t, ...r }, i) {
52
- return /* @__PURE__ */ n(a.Title, {
53
- ...r,
54
- ref: i,
55
- className: e("lyds-dialog__title", t)
37
+ }), m = r(function({ className: e, ...n }, r) {
38
+ return /* @__PURE__ */ i(s.Viewport, {
39
+ ...n,
40
+ ref: r,
41
+ className: t("lyds-dialog__viewport", e)
42
+ });
43
+ }), h = r(function({ children: e, className: r, closeButton: o, closeLabel: c, closeProps: l, hasCustomClose: u = !1, ...d }, f) {
44
+ let p = n(), m = o ?? !u;
45
+ return /* @__PURE__ */ a(s.Popup, {
46
+ ...d,
47
+ ref: f,
48
+ className: t("lyds-dialog__popup", r),
49
+ children: [m ? /* @__PURE__ */ i(v, {
50
+ ...l,
51
+ "aria-label": c ?? p.dialogClose
52
+ }) : null, e]
53
+ });
54
+ }), g = r(function({ className: e, ...n }, r) {
55
+ return /* @__PURE__ */ i(s.Title, {
56
+ ...n,
57
+ ref: r,
58
+ className: t("lyds-dialog__title", e)
56
59
  });
57
- }), h = t(function({ className: t, ...r }, i) {
58
- return /* @__PURE__ */ n(a.Description, {
59
- ...r,
60
- ref: i,
61
- className: e("lyds-dialog__description", t)
60
+ }), _ = r(function({ className: e, ...n }, r) {
61
+ return /* @__PURE__ */ i(s.Description, {
62
+ ...n,
63
+ ref: r,
64
+ className: t("lyds-dialog__description", e)
62
65
  });
63
- }), g = t(function({ "aria-label": t, children: r, className: i, variant: o = r == null ? "icon" : "action", ...c }, l) {
64
- return /* @__PURE__ */ n(a.Close, {
66
+ }), v = r(function({ "aria-label": e, children: r, className: a, variant: o = r == null ? "icon" : "action", ...c }, u) {
67
+ let d = n();
68
+ return /* @__PURE__ */ i(s.Close, {
65
69
  ...c,
66
- ref: l,
67
- "aria-label": t ?? (r == null ? "關閉對話框" : void 0),
68
- className: e(o === "icon" ? "lyds-overlayClose" : "lyds-overlayCloseAction", i),
69
- children: r ?? /* @__PURE__ */ n(s, {})
70
- });
71
- }), _ = t(function({ className: e, ...t }, r) {
72
- return /* @__PURE__ */ n("div", {
73
- ...t,
74
- ref: r,
75
- className: e ? `lyds-dialog__header ${e}` : "lyds-dialog__header"
70
+ ref: u,
71
+ "aria-label": e ?? (r == null ? d.dialogClose : void 0),
72
+ className: t(o === "icon" ? "lyds-overlayClose" : "lyds-overlayCloseAction", a),
73
+ children: r ?? /* @__PURE__ */ i(l, {})
76
74
  });
77
- }), v = t(function({ className: e, ...t }, r) {
78
- return /* @__PURE__ */ n("div", {
79
- ...t,
75
+ }), y = r(function({ className: t, ...n }, r) {
76
+ return /* @__PURE__ */ i("div", {
77
+ ...n,
80
78
  ref: r,
81
- className: e ? `lyds-dialog__body ${e}` : "lyds-dialog__body"
79
+ className: e("lyds-dialog__header", t)
82
80
  });
83
- }), y = t(function({ className: e, ...t }, r) {
84
- return /* @__PURE__ */ n("div", {
85
- ...t,
81
+ }), b = r(function({ className: t, ...n }, r) {
82
+ return /* @__PURE__ */ i("div", {
83
+ ...n,
86
84
  ref: r,
87
- className: e ? `lyds-dialog__footer ${e}` : "lyds-dialog__footer"
88
- });
89
- }), b = {
90
- Root: c,
91
- Trigger: l,
92
- Portal: u,
93
- Backdrop: d,
94
- Viewport: f,
95
- Popup: p,
96
- Header: _,
97
- Body: v,
98
- Footer: y,
99
- Title: m,
100
- Description: h,
101
- Close: g,
102
- createHandle: a.createHandle,
103
- Handle: a.Handle
104
- }, x = b;
105
- function S(e) {
106
- return /* @__PURE__ */ n(o.Root, { ...e });
107
- }
108
- function C({ className: t, ...r }) {
109
- return /* @__PURE__ */ n(o.Trigger, {
85
+ className: e("lyds-dialog__body", t)
86
+ });
87
+ }), x = r(function({ align: t = "stretch", className: n, ...r }, a) {
88
+ return /* @__PURE__ */ i("div", {
110
89
  ...r,
111
- className: e("lyds-alertDialog__trigger", t)
90
+ ref: a,
91
+ "data-align": t,
92
+ className: e("lyds-dialog__footer", n)
93
+ });
94
+ }), S = {
95
+ Root: u,
96
+ Trigger: d,
97
+ Portal: f,
98
+ Backdrop: p,
99
+ Viewport: m,
100
+ Popup: h,
101
+ Header: y,
102
+ Body: b,
103
+ Footer: x,
104
+ Title: g,
105
+ Description: _,
106
+ Close: v,
107
+ createHandle: s.createHandle,
108
+ Handle: s.Handle
109
+ }, C = S;
110
+ function w(e) {
111
+ return /* @__PURE__ */ i(c.Root, { ...e });
112
+ }
113
+ function T({ className: e, ...n }) {
114
+ return /* @__PURE__ */ i(c.Trigger, {
115
+ ...n,
116
+ className: t("lyds-alertDialog__trigger", e)
112
117
  });
113
118
  }
114
- var w = t(function({ children: t, className: i, closeLabel: a = "取消並關閉警示", closeProps: s, hasCustomClose: c = !1, ...l }, u) {
115
- return /* @__PURE__ */ r(o.Popup, {
116
- ...l,
119
+ var E = r(function({ children: e, className: r, closeButton: o, closeLabel: s, closeProps: l, hasCustomClose: u, ...d }, f) {
120
+ let p = n(), m = o ?? u === !1;
121
+ return /* @__PURE__ */ a(c.Popup, {
122
+ ...d,
123
+ ref: f,
124
+ className: t("lyds-dialog__popup lyds-alertDialog__popup", r),
125
+ children: [m ? /* @__PURE__ */ i(D, {
126
+ ...l,
127
+ "aria-label": s ?? p.alertDialogClose
128
+ }) : null, e]
129
+ });
130
+ }), D = r(function({ "aria-label": e, children: r, className: a, variant: o = r == null ? "icon" : "action", ...s }, u) {
131
+ let d = n();
132
+ return /* @__PURE__ */ i(c.Close, {
133
+ ...s,
117
134
  ref: u,
118
- className: e("lyds-dialog__popup lyds-alertDialog__popup", i),
119
- children: [t, c ? null : /* @__PURE__ */ n(T, {
120
- ...s,
121
- "aria-label": a
122
- })]
123
- });
124
- }), T = t(function({ "aria-label": t, children: r, className: i, variant: a = r == null ? "icon" : "action", ...c }, l) {
125
- return /* @__PURE__ */ n(o.Close, {
126
- ...c,
127
- ref: l,
128
- "aria-label": t ?? (r == null ? "取消並關閉警示" : void 0),
129
- className: e(a === "icon" ? "lyds-overlayClose" : "lyds-overlayCloseAction", i),
130
- children: r ?? /* @__PURE__ */ n(s, {})
131
- });
132
- }), E = t(function({ className: e, ...t }, r) {
133
- return /* @__PURE__ */ n("div", {
134
- ...t,
135
- ref: r,
136
- className: e ? `lyds-dialog__footer lyds-alertDialog__actions ${e}` : "lyds-dialog__footer lyds-alertDialog__actions"
137
- });
138
- }), D = {
139
- Root: S,
140
- Trigger: C,
141
- Portal: u,
142
- Backdrop: d,
143
- Viewport: f,
144
- Popup: w,
145
- Header: _,
146
- Body: v,
147
- Footer: y,
148
- Actions: E,
149
- Title: m,
150
- Description: h,
151
- Close: T,
152
- createHandle: o.createHandle,
153
- Handle: o.Handle
135
+ "aria-label": e ?? (r == null ? d.alertDialogClose : void 0),
136
+ className: t(o === "icon" ? "lyds-overlayClose" : "lyds-overlayCloseAction", a),
137
+ children: r ?? /* @__PURE__ */ i(l, {})
138
+ });
139
+ }), O = r(function({ align: t = "stretch", className: n, ...r }, a) {
140
+ return /* @__PURE__ */ i("div", {
141
+ ...r,
142
+ ref: a,
143
+ "data-align": t,
144
+ className: e("lyds-dialog__footer lyds-alertDialog__actions", n)
145
+ });
146
+ }), k = {
147
+ Root: w,
148
+ Trigger: T,
149
+ Portal: f,
150
+ Backdrop: p,
151
+ Viewport: m,
152
+ Popup: E,
153
+ Header: y,
154
+ Body: b,
155
+ Footer: x,
156
+ Actions: O,
157
+ Title: g,
158
+ Description: _,
159
+ Close: D,
160
+ createHandle: c.createHandle,
161
+ Handle: c.Handle
154
162
  };
155
163
  //#endregion
156
- export { D as AlertDialog, E as AlertDialogActions, T as AlertDialogClose, w as AlertDialogPopup, S as AlertDialogRoot, C as AlertDialogTrigger, b as Dialog, d as DialogBackdrop, v as DialogBody, g as DialogClose, h as DialogDescription, y as DialogFooter, _ as DialogHeader, p as DialogPopup, u as DialogPortal, c as DialogRoot, m as DialogTitle, l as DialogTrigger, f as DialogViewport, x as Modal };
164
+ export { k as AlertDialog, O as AlertDialogActions, D as AlertDialogClose, E as AlertDialogPopup, w as AlertDialogRoot, T as AlertDialogTrigger, S as Dialog, p as DialogBackdrop, b as DialogBody, v as DialogClose, _ as DialogDescription, x as DialogFooter, y as DialogHeader, h as DialogPopup, f as DialogPortal, u as DialogRoot, g as DialogTitle, d as DialogTrigger, m as DialogViewport, C as Modal };
157
165
 
158
166
  //# sourceMappingURL=dialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.js","names":[],"sources":["../../../src/components/overlays/dialog.tsx"],"sourcesContent":["import { AlertDialog as BaseAlertDialog, type AlertDialogRootProps, type AlertDialogTriggerProps } from \"@base-ui/react/alert-dialog\";\nimport {\n\tDialog as BaseDialog,\n\ttype DialogCloseProps as BaseDialogCloseProps,\n\ttype DialogPopupProps as BaseDialogPopupProps,\n\ttype DialogBackdropProps,\n\ttype DialogDescriptionProps,\n\ttype DialogPortalProps,\n\ttype DialogRootProps,\n\ttype DialogTitleProps,\n\ttype DialogTriggerProps,\n\ttype DialogViewportProps\n} from \"@base-ui/react/dialog\";\nimport { XIcon } from \"@phosphor-icons/react/dist/csr/X\";\nimport { forwardRef, type HTMLAttributes, type JSX, type ReactNode, type RefAttributes } from \"react\";\n\nimport { mergeClassName } from \"./class-names\";\n\nexport type { AlertDialogRootChangeEventDetails } from \"@base-ui/react/alert-dialog\";\nexport type { DialogRootChangeEventDetails } from \"@base-ui/react/dialog\";\n\nfunction CloseGlyph(): JSX.Element {\n\treturn <XIcon aria-hidden=\"true\" className=\"lyds-overlayClose__glyph\" weight=\"bold\" />;\n}\n\nexport function DialogRoot<Payload = unknown>(props: DialogRootProps<Payload>): JSX.Element {\n\treturn <BaseDialog.Root {...props} />;\n}\n\nexport function DialogTrigger<Payload = unknown>({ className, ...props }: DialogTriggerProps<Payload> & RefAttributes<HTMLElement>): JSX.Element {\n\treturn <BaseDialog.Trigger {...props} className={mergeClassName(\"lyds-dialog__trigger\", className)} />;\n}\n\nexport const DialogPortal = forwardRef<HTMLDivElement, DialogPortalProps>(function DialogPortal(props, ref) {\n\treturn <BaseDialog.Portal {...props} ref={ref} />;\n});\n\nexport const DialogBackdrop = forwardRef<HTMLDivElement, DialogBackdropProps>(function DialogBackdrop({ className, ...props }, ref) {\n\treturn <BaseDialog.Backdrop {...props} ref={ref} className={mergeClassName(\"lyds-dialog__backdrop\", className)} />;\n});\n\nexport const DialogViewport = forwardRef<HTMLDivElement, DialogViewportProps>(function DialogViewport({ className, ...props }, ref) {\n\treturn <BaseDialog.Viewport {...props} ref={ref} className={mergeClassName(\"lyds-dialog__viewport\", className)} />;\n});\n\nexport interface DialogPopupProps extends BaseDialogPopupProps {\n\t/** 內建關閉控制項的無障礙標籤。 */\n\tcloseLabel?: string;\n\t/** 傳給內建關閉控制項的屬性。 */\n\tcloseProps?: Omit<DialogCloseProps, \"children\">;\n\t/** 僅在彈出內容另有可存取的 Dialog.Close 時設定。 */\n\thasCustomClose?: boolean;\n}\n\nexport const DialogPopup = forwardRef<HTMLDivElement, DialogPopupProps>(function DialogPopup({ children, className, closeLabel = \"關閉對話框\", closeProps, hasCustomClose = false, ...props }, ref) {\n\treturn (\n\t\t<BaseDialog.Popup {...props} ref={ref} className={mergeClassName(\"lyds-dialog__popup\", className)}>\n\t\t\t{children}\n\t\t\t{hasCustomClose ? null : <DialogClose {...closeProps} aria-label={closeLabel} />}\n\t\t</BaseDialog.Popup>\n\t);\n});\n\nexport const DialogTitle = forwardRef<HTMLHeadingElement, DialogTitleProps>(function DialogTitle({ className, ...props }, ref) {\n\treturn <BaseDialog.Title {...props} ref={ref} className={mergeClassName(\"lyds-dialog__title\", className)} />;\n});\n\nexport const DialogDescription = forwardRef<HTMLParagraphElement, DialogDescriptionProps>(function DialogDescription({ className, ...props }, ref) {\n\treturn <BaseDialog.Description {...props} ref={ref} className={mergeClassName(\"lyds-dialog__description\", className)} />;\n});\n\nexport interface DialogCloseProps extends BaseDialogCloseProps {\n\t/** 圖示控制項位於面板角落;動作控制項則參與內容排版。 */\n\tvariant?: \"icon\" | \"action\";\n}\n\nexport const DialogClose = forwardRef<HTMLButtonElement, DialogCloseProps>(function DialogClose(\n\t{ \"aria-label\": ariaLabel, children, className, variant = children == null ? \"icon\" : \"action\", ...props },\n\tref\n) {\n\treturn (\n\t\t<BaseDialog.Close\n\t\t\t{...props}\n\t\t\tref={ref}\n\t\t\taria-label={ariaLabel ?? (children == null ? \"關閉對話框\" : undefined)}\n\t\t\tclassName={mergeClassName(variant === \"icon\" ? \"lyds-overlayClose\" : \"lyds-overlayCloseAction\", className)}\n\t\t>\n\t\t\t{children ?? <CloseGlyph />}\n\t\t</BaseDialog.Close>\n\t);\n});\n\nexport type DialogHeaderProps = HTMLAttributes<HTMLDivElement>;\n\nexport const DialogHeader = forwardRef<HTMLDivElement, DialogHeaderProps>(function DialogHeader({ className, ...props }, ref) {\n\treturn <div {...props} ref={ref} className={className ? `lyds-dialog__header ${className}` : \"lyds-dialog__header\"} />;\n});\n\nexport type DialogBodyProps = HTMLAttributes<HTMLDivElement>;\n\nexport const DialogBody = forwardRef<HTMLDivElement, DialogBodyProps>(function DialogBody({ className, ...props }, ref) {\n\treturn <div {...props} ref={ref} className={className ? `lyds-dialog__body ${className}` : \"lyds-dialog__body\"} />;\n});\n\nexport type DialogFooterProps = HTMLAttributes<HTMLDivElement>;\n\nexport const DialogFooter = forwardRef<HTMLDivElement, DialogFooterProps>(function DialogFooter({ className, ...props }, ref) {\n\treturn <div {...props} ref={ref} className={className ? `lyds-dialog__footer ${className}` : \"lyds-dialog__footer\"} />;\n});\n\nexport const Dialog = {\n\tRoot: DialogRoot,\n\tTrigger: DialogTrigger,\n\tPortal: DialogPortal,\n\tBackdrop: DialogBackdrop,\n\tViewport: DialogViewport,\n\tPopup: DialogPopup,\n\tHeader: DialogHeader,\n\tBody: DialogBody,\n\tFooter: DialogFooter,\n\tTitle: DialogTitle,\n\tDescription: DialogDescription,\n\tClose: DialogClose,\n\tcreateHandle: BaseDialog.createHandle,\n\tHandle: BaseDialog.Handle\n} as const;\n\n/** Base UI 的 Dialog 預設為強制回應;Modal 是用途明確的別名。 */\nexport const Modal = Dialog;\n\nexport function AlertDialogRoot<Payload = unknown>(props: AlertDialogRootProps<Payload>): JSX.Element {\n\treturn <BaseAlertDialog.Root {...props} />;\n}\n\nexport function AlertDialogTrigger<Payload = unknown>({ className, ...props }: AlertDialogTriggerProps<Payload> & RefAttributes<HTMLElement>): JSX.Element {\n\treturn <BaseAlertDialog.Trigger {...props} className={mergeClassName(\"lyds-alertDialog__trigger\", className)} />;\n}\n\nexport interface AlertDialogPopupProps extends BaseDialogPopupProps {\n\t/** 內建取消/關閉控制項的無障礙標籤。 */\n\tcloseLabel?: string;\n\t/** 傳給內建取消/關閉控制項的屬性。 */\n\tcloseProps?: Omit<DialogCloseProps, \"children\">;\n\t/** 僅在彈出內容另有可存取的 AlertDialog.Close 時設定。 */\n\thasCustomClose?: boolean;\n}\n\nexport const AlertDialogPopup = forwardRef<HTMLDivElement, AlertDialogPopupProps>(function AlertDialogPopup(\n\t{ children, className, closeLabel = \"取消並關閉警示\", closeProps, hasCustomClose = false, ...props },\n\tref\n) {\n\treturn (\n\t\t<BaseAlertDialog.Popup {...props} ref={ref} className={mergeClassName(\"lyds-dialog__popup lyds-alertDialog__popup\", className)}>\n\t\t\t{children}\n\t\t\t{hasCustomClose ? null : <AlertDialogClose {...closeProps} aria-label={closeLabel} />}\n\t\t</BaseAlertDialog.Popup>\n\t);\n});\n\nexport const AlertDialogClose = forwardRef<HTMLButtonElement, DialogCloseProps>(function AlertDialogClose(\n\t{ \"aria-label\": ariaLabel, children, className, variant = children == null ? \"icon\" : \"action\", ...props },\n\tref\n) {\n\treturn (\n\t\t<BaseAlertDialog.Close\n\t\t\t{...props}\n\t\t\tref={ref}\n\t\t\taria-label={ariaLabel ?? (children == null ? \"取消並關閉警示\" : undefined)}\n\t\t\tclassName={mergeClassName(variant === \"icon\" ? \"lyds-overlayClose\" : \"lyds-overlayCloseAction\", className)}\n\t\t>\n\t\t\t{children ?? <CloseGlyph />}\n\t\t</BaseAlertDialog.Close>\n\t);\n});\n\nexport interface AlertDialogActionsProps extends HTMLAttributes<HTMLDivElement> {\n\tchildren?: ReactNode;\n}\n\nexport const AlertDialogActions = forwardRef<HTMLDivElement, AlertDialogActionsProps>(function AlertDialogActions({ className, ...props }, ref) {\n\treturn <div {...props} ref={ref} className={className ? `lyds-dialog__footer lyds-alertDialog__actions ${className}` : \"lyds-dialog__footer lyds-alertDialog__actions\"} />;\n});\n\nexport const AlertDialog = {\n\tRoot: AlertDialogRoot,\n\tTrigger: AlertDialogTrigger,\n\tPortal: DialogPortal,\n\tBackdrop: DialogBackdrop,\n\tViewport: DialogViewport,\n\tPopup: AlertDialogPopup,\n\tHeader: DialogHeader,\n\tBody: DialogBody,\n\tFooter: DialogFooter,\n\tActions: AlertDialogActions,\n\tTitle: DialogTitle,\n\tDescription: DialogDescription,\n\tClose: AlertDialogClose,\n\tcreateHandle: BaseAlertDialog.createHandle,\n\tHandle: BaseAlertDialog.Handle\n} as const;\n"],"mappings":"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"}
1
+ {"version":3,"file":"dialog.js","names":[],"sources":["../../../src/components/overlays/dialog.tsx"],"sourcesContent":["import { AlertDialog as BaseAlertDialog, type AlertDialogRootProps, type AlertDialogTriggerProps } from \"@base-ui/react/alert-dialog\";\nimport {\n\tDialog as BaseDialog,\n\ttype DialogCloseProps as BaseDialogCloseProps,\n\ttype DialogPopupProps as BaseDialogPopupProps,\n\ttype DialogBackdropProps,\n\ttype DialogDescriptionProps,\n\ttype DialogPortalProps,\n\ttype DialogRootProps,\n\ttype DialogTitleProps,\n\ttype DialogTriggerProps,\n\ttype DialogViewportProps\n} from \"@base-ui/react/dialog\";\nimport { XIcon } from \"@phosphor-icons/react/dist/csr/X\";\nimport { forwardRef, type HTMLAttributes, type JSX, type ReactNode, type RefAttributes } from \"react\";\n\nimport { cx, withStateClassName } from \"@/internal\";\nimport { useMessages } from \"@/intl\";\nexport type { AlertDialogRootChangeEventDetails } from \"@base-ui/react/alert-dialog\";\nexport type { DialogRootChangeEventDetails } from \"@base-ui/react/dialog\";\n\nfunction CloseGlyph(): JSX.Element {\n\treturn <XIcon aria-hidden=\"true\" className=\"lyds-overlayClose__glyph\" weight=\"bold\" />;\n}\n\nexport function DialogRoot<Payload = unknown>(props: DialogRootProps<Payload>): JSX.Element {\n\treturn <BaseDialog.Root {...props} />;\n}\n\nexport function DialogTrigger<Payload = unknown>({ className, ...props }: DialogTriggerProps<Payload> & RefAttributes<HTMLElement>): JSX.Element {\n\treturn <BaseDialog.Trigger {...props} className={withStateClassName(\"lyds-dialog__trigger\", className)} />;\n}\n\nexport const DialogPortal = forwardRef<HTMLDivElement, DialogPortalProps>(function DialogPortal(props, ref) {\n\treturn <BaseDialog.Portal {...props} ref={ref} />;\n});\n\nexport const DialogBackdrop = forwardRef<HTMLDivElement, DialogBackdropProps>(function DialogBackdrop({ className, ...props }, ref) {\n\treturn <BaseDialog.Backdrop {...props} ref={ref} className={withStateClassName(\"lyds-dialog__backdrop\", className)} />;\n});\n\nexport const DialogViewport = forwardRef<HTMLDivElement, DialogViewportProps>(function DialogViewport({ className, ...props }, ref) {\n\treturn <BaseDialog.Viewport {...props} ref={ref} className={withStateClassName(\"lyds-dialog__viewport\", className)} />;\n});\n\nexport interface DialogPopupProps extends BaseDialogPopupProps {\n\t/** 內建關閉控制項的無障礙標籤。 */\n\tcloseLabel?: string;\n\t/** 傳給內建關閉控制項的屬性。 */\n\tcloseProps?: Omit<DialogCloseProps, \"children\">;\n\t/** Renders the built-in corner close control. */\n\tcloseButton?: boolean;\n\t/**\n\t * @deprecated Pass `closeButton={false}` instead. Kept so existing call sites keep working.\n\t */\n\thasCustomClose?: boolean;\n}\n\nexport const DialogPopup = forwardRef<HTMLDivElement, DialogPopupProps>(function DialogPopup({ children, className, closeButton, closeLabel, closeProps, hasCustomClose = false, ...props }, ref) {\n\tconst messages = useMessages();\n\tconst showCloseButton = closeButton ?? !hasCustomClose;\n\n\treturn (\n\t\t<BaseDialog.Popup {...props} ref={ref} className={withStateClassName(\"lyds-dialog__popup\", className)}>\n\t\t\t{showCloseButton ? <DialogClose {...closeProps} aria-label={closeLabel ?? messages.dialogClose} /> : null}\n\t\t\t{children}\n\t\t</BaseDialog.Popup>\n\t);\n});\n\nexport const DialogTitle = forwardRef<HTMLHeadingElement, DialogTitleProps>(function DialogTitle({ className, ...props }, ref) {\n\treturn <BaseDialog.Title {...props} ref={ref} className={withStateClassName(\"lyds-dialog__title\", className)} />;\n});\n\nexport const DialogDescription = forwardRef<HTMLParagraphElement, DialogDescriptionProps>(function DialogDescription({ className, ...props }, ref) {\n\treturn <BaseDialog.Description {...props} ref={ref} className={withStateClassName(\"lyds-dialog__description\", className)} />;\n});\n\nexport interface DialogCloseProps extends BaseDialogCloseProps {\n\t/** 圖示控制項位於面板角落;動作控制項則參與內容排版。 */\n\tvariant?: \"icon\" | \"action\";\n}\n\nexport const DialogClose = forwardRef<HTMLButtonElement, DialogCloseProps>(function DialogClose(\n\t{ \"aria-label\": ariaLabel, children, className, variant = children == null ? \"icon\" : \"action\", ...props },\n\tref\n) {\n\tconst messages = useMessages();\n\n\treturn (\n\t\t<BaseDialog.Close\n\t\t\t{...props}\n\t\t\tref={ref}\n\t\t\taria-label={ariaLabel ?? (children == null ? messages.dialogClose : undefined)}\n\t\t\tclassName={withStateClassName(variant === \"icon\" ? \"lyds-overlayClose\" : \"lyds-overlayCloseAction\", className)}\n\t\t>\n\t\t\t{children ?? <CloseGlyph />}\n\t\t</BaseDialog.Close>\n\t);\n});\n\nexport type DialogHeaderProps = HTMLAttributes<HTMLDivElement>;\n\nexport const DialogHeader = forwardRef<HTMLDivElement, DialogHeaderProps>(function DialogHeader({ className, ...props }, ref) {\n\treturn <div {...props} ref={ref} className={cx(\"lyds-dialog__header\", className)} />;\n});\n\nexport type DialogBodyProps = HTMLAttributes<HTMLDivElement>;\n\nexport const DialogBody = forwardRef<HTMLDivElement, DialogBodyProps>(function DialogBody({ className, ...props }, ref) {\n\treturn <div {...props} ref={ref} className={cx(\"lyds-dialog__body\", className)} />;\n});\n\n/**\n * `stretch`, the default, gives every child an equal column so a Cancel/Confirm pair reads as\n * one balanced decision. `end` sizes the actions to their own labels and puts them at the end\n * of the row; `between` separates supporting copy from the actions.\n */\nexport type OverlayFooterAlign = \"end\" | \"between\" | \"stretch\";\n\nexport interface DialogFooterProps extends HTMLAttributes<HTMLDivElement> {\n\talign?: OverlayFooterAlign;\n}\n\nexport const DialogFooter = forwardRef<HTMLDivElement, DialogFooterProps>(function DialogFooter({ align = \"stretch\", className, ...props }, ref) {\n\treturn <div {...props} ref={ref} data-align={align} className={cx(\"lyds-dialog__footer\", className)} />;\n});\n\nexport const Dialog = {\n\tRoot: DialogRoot,\n\tTrigger: DialogTrigger,\n\tPortal: DialogPortal,\n\tBackdrop: DialogBackdrop,\n\tViewport: DialogViewport,\n\tPopup: DialogPopup,\n\tHeader: DialogHeader,\n\tBody: DialogBody,\n\tFooter: DialogFooter,\n\tTitle: DialogTitle,\n\tDescription: DialogDescription,\n\tClose: DialogClose,\n\tcreateHandle: BaseDialog.createHandle,\n\tHandle: BaseDialog.Handle\n} as const;\n\n/** Base UI 的 Dialog 預設為強制回應;Modal 是用途明確的別名。 */\nexport const Modal = Dialog;\n\nexport function AlertDialogRoot<Payload = unknown>(props: AlertDialogRootProps<Payload>): JSX.Element {\n\treturn <BaseAlertDialog.Root {...props} />;\n}\n\nexport function AlertDialogTrigger<Payload = unknown>({ className, ...props }: AlertDialogTriggerProps<Payload> & RefAttributes<HTMLElement>): JSX.Element {\n\treturn <BaseAlertDialog.Trigger {...props} className={withStateClassName(\"lyds-alertDialog__trigger\", className)} />;\n}\n\nexport interface AlertDialogPopupProps extends BaseDialogPopupProps {\n\t/** 內建取消/關閉控制項的無障礙標籤。 */\n\tcloseLabel?: string;\n\t/** 傳給內建取消/關閉控制項的屬性。 */\n\tcloseProps?: Omit<DialogCloseProps, \"children\">;\n\t/**\n\t * Renders the built-in corner close control. An alert dialog asks for a deliberate choice, so\n\t * this defaults to `false` and the popup should carry its own confirm and cancel actions.\n\t */\n\tcloseButton?: boolean;\n\t/**\n\t * @deprecated Pass `closeButton` instead. Kept so existing call sites keep working.\n\t */\n\thasCustomClose?: boolean;\n}\n\nexport const AlertDialogPopup = forwardRef<HTMLDivElement, AlertDialogPopupProps>(function AlertDialogPopup(\n\t{ children, className, closeButton, closeLabel, closeProps, hasCustomClose, ...props },\n\tref\n) {\n\tconst messages = useMessages();\n\t// The historic default injected a dismiss control; only an explicit hasCustomClose={false} still asks for one.\n\tconst showCloseButton = closeButton ?? hasCustomClose === false;\n\n\treturn (\n\t\t<BaseAlertDialog.Popup {...props} ref={ref} className={withStateClassName(\"lyds-dialog__popup lyds-alertDialog__popup\", className)}>\n\t\t\t{showCloseButton ? <AlertDialogClose {...closeProps} aria-label={closeLabel ?? messages.alertDialogClose} /> : null}\n\t\t\t{children}\n\t\t</BaseAlertDialog.Popup>\n\t);\n});\n\nexport const AlertDialogClose = forwardRef<HTMLButtonElement, DialogCloseProps>(function AlertDialogClose(\n\t{ \"aria-label\": ariaLabel, children, className, variant = children == null ? \"icon\" : \"action\", ...props },\n\tref\n) {\n\tconst messages = useMessages();\n\n\treturn (\n\t\t<BaseAlertDialog.Close\n\t\t\t{...props}\n\t\t\tref={ref}\n\t\t\taria-label={ariaLabel ?? (children == null ? messages.alertDialogClose : undefined)}\n\t\t\tclassName={withStateClassName(variant === \"icon\" ? \"lyds-overlayClose\" : \"lyds-overlayCloseAction\", className)}\n\t\t>\n\t\t\t{children ?? <CloseGlyph />}\n\t\t</BaseAlertDialog.Close>\n\t);\n});\n\nexport interface AlertDialogActionsProps extends HTMLAttributes<HTMLDivElement> {\n\tchildren?: ReactNode;\n\talign?: OverlayFooterAlign;\n}\n\nexport const AlertDialogActions = forwardRef<HTMLDivElement, AlertDialogActionsProps>(function AlertDialogActions({ align = \"stretch\", className, ...props }, ref) {\n\treturn <div {...props} ref={ref} data-align={align} className={cx(\"lyds-dialog__footer lyds-alertDialog__actions\", className)} />;\n});\n\nexport const AlertDialog = {\n\tRoot: AlertDialogRoot,\n\tTrigger: AlertDialogTrigger,\n\tPortal: DialogPortal,\n\tBackdrop: DialogBackdrop,\n\tViewport: DialogViewport,\n\tPopup: AlertDialogPopup,\n\tHeader: DialogHeader,\n\tBody: DialogBody,\n\tFooter: DialogFooter,\n\tActions: AlertDialogActions,\n\tTitle: DialogTitle,\n\tDescription: DialogDescription,\n\tClose: AlertDialogClose,\n\tcreateHandle: BaseAlertDialog.createHandle,\n\tHandle: BaseAlertDialog.Handle\n} as const;\n"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { mergeClassName as e } from "./class-names.js";
1
+ "use client";
2
+ import { withStateClassName as e } from "../../internal/class-names.js";
2
3
  import { forwardRef as t } from "react";
3
4
  import { jsx as n, jsxs as r } from "react/jsx-runtime";
4
5
  import { CaretDownIcon as i } from "@phosphor-icons/react/dist/csr/CaretDown";
@@ -1 +1 @@
1
- {"version":3,"file":"disclosure.js","names":[],"sources":["../../../src/components/overlays/disclosure.tsx"],"sourcesContent":["import {\n\tAccordion as BaseAccordion,\n\ttype AccordionHeaderProps,\n\ttype AccordionItemProps,\n\ttype AccordionPanelProps,\n\ttype AccordionRootProps,\n\ttype AccordionTriggerProps\n} from \"@base-ui/react/accordion\";\nimport { Collapsible as BaseCollapsible, type CollapsiblePanelProps, type CollapsibleRootProps, type CollapsibleTriggerProps } from \"@base-ui/react/collapsible\";\nimport { Tabs as BaseTabs, type TabsIndicatorProps, type TabsListProps, type TabsPanelProps, type TabsRootProps, type TabsTabProps } from \"@base-ui/react/tabs\";\nimport { CaretDownIcon } from \"@phosphor-icons/react/dist/csr/CaretDown\";\nimport { forwardRef, type JSX } from \"react\";\n\nimport { mergeClassName } from \"./class-names\";\n\nexport type { AccordionRootChangeEventDetails } from \"@base-ui/react/accordion\";\nexport type { CollapsibleRootChangeEventDetails } from \"@base-ui/react/collapsible\";\nexport type { TabsRootChangeEventDetails } from \"@base-ui/react/tabs\";\n\nexport function AccordionRoot<Value = string>(props: AccordionRootProps<Value>): JSX.Element {\n\tconst { className, ...rootProps } = props;\n\n\treturn <BaseAccordion.Root {...rootProps} className={mergeClassName(\"lyds-accordion\", className)} />;\n}\n\nexport const AccordionItem = forwardRef<HTMLDivElement, AccordionItemProps>(function AccordionItem({ className, ...props }, ref) {\n\treturn <BaseAccordion.Item {...props} ref={ref} className={mergeClassName(\"lyds-accordion__item\", className)} />;\n});\n\nexport const AccordionHeader = forwardRef<HTMLHeadingElement, AccordionHeaderProps>(function AccordionHeader({ className, ...props }, ref) {\n\treturn <BaseAccordion.Header {...props} ref={ref} className={mergeClassName(\"lyds-accordion__header\", className)} />;\n});\n\nexport const AccordionTrigger = forwardRef<HTMLElement, AccordionTriggerProps>(function AccordionTrigger({ children, className, ...props }, ref) {\n\treturn (\n\t\t<BaseAccordion.Trigger {...props} ref={ref} className={mergeClassName(\"lyds-accordion__trigger\", className)}>\n\t\t\t<span className=\"lyds-accordion__label\">{children}</span>\n\t\t\t<span className=\"lyds-accordion__indicator\" aria-hidden=\"true\">\n\t\t\t\t<CaretDownIcon aria-hidden=\"true\" weight=\"bold\" />\n\t\t\t</span>\n\t\t</BaseAccordion.Trigger>\n\t);\n});\n\nexport const AccordionPanel = forwardRef<HTMLDivElement, AccordionPanelProps>(function AccordionPanel({ children, className, ...props }, ref) {\n\treturn (\n\t\t<BaseAccordion.Panel {...props} ref={ref} className={mergeClassName(\"lyds-accordion__panel\", className)}>\n\t\t\t<div className=\"lyds-accordion__panelContent\">{children}</div>\n\t\t</BaseAccordion.Panel>\n\t);\n});\n\nexport const Accordion = {\n\tRoot: AccordionRoot,\n\tItem: AccordionItem,\n\tHeader: AccordionHeader,\n\tTrigger: AccordionTrigger,\n\tPanel: AccordionPanel\n} as const;\n\nexport const CollapsibleRoot = forwardRef<HTMLDivElement, CollapsibleRootProps>(function CollapsibleRoot({ className, ...props }, ref) {\n\treturn <BaseCollapsible.Root {...props} ref={ref} className={mergeClassName(\"lyds-collapsible\", className)} />;\n});\n\nexport const CollapsibleTrigger = forwardRef<HTMLButtonElement, CollapsibleTriggerProps>(function CollapsibleTrigger({ children, className, ...props }, ref) {\n\treturn (\n\t\t<BaseCollapsible.Trigger {...props} ref={ref} className={mergeClassName(\"lyds-collapsible__trigger\", className)}>\n\t\t\t<span className=\"lyds-collapsible__label\">{children}</span>\n\t\t\t<span className=\"lyds-collapsible__indicator\" aria-hidden=\"true\">\n\t\t\t\t<CaretDownIcon aria-hidden=\"true\" weight=\"bold\" />\n\t\t\t</span>\n\t\t</BaseCollapsible.Trigger>\n\t);\n});\n\nexport const CollapsiblePanel = forwardRef<HTMLDivElement, CollapsiblePanelProps>(function CollapsiblePanel({ children, className, ...props }, ref) {\n\treturn (\n\t\t<BaseCollapsible.Panel {...props} ref={ref} className={mergeClassName(\"lyds-collapsible__panel\", className)}>\n\t\t\t<div className=\"lyds-collapsible__panelContent\">{children}</div>\n\t\t</BaseCollapsible.Panel>\n\t);\n});\n\nexport const Collapsible = {\n\tRoot: CollapsibleRoot,\n\tTrigger: CollapsibleTrigger,\n\tPanel: CollapsiblePanel\n} as const;\n\nexport const TabsRoot = forwardRef<HTMLDivElement, TabsRootProps>(function TabsRoot({ className, ...props }, ref) {\n\treturn <BaseTabs.Root {...props} ref={ref} className={mergeClassName(\"lyds-tabs\", className)} />;\n});\n\nexport const TabsList = forwardRef<HTMLDivElement, TabsListProps>(function TabsList({ className, ...props }, ref) {\n\treturn <BaseTabs.List {...props} ref={ref} className={mergeClassName(\"lyds-tabs__list\", className)} />;\n});\n\nexport const TabsTab = forwardRef<HTMLElement, TabsTabProps>(function TabsTab({ className, ...props }, ref) {\n\treturn <BaseTabs.Tab {...props} ref={ref} className={mergeClassName(\"lyds-tabs__tab\", className)} />;\n});\n\n/** Base UI 指示器的進階自訂介面。作用中的分頁已有自身選取樣式,因此 Linyao Design System 預設隱藏此元件。 */\nexport const TabsIndicator = forwardRef<HTMLSpanElement, TabsIndicatorProps>(function TabsIndicator({ className, ...props }, ref) {\n\treturn <BaseTabs.Indicator {...props} ref={ref} className={mergeClassName(\"lyds-tabs__indicator\", className)} />;\n});\n\nexport const TabsPanel = forwardRef<HTMLDivElement, TabsPanelProps>(function TabsPanel({ className, ...props }, ref) {\n\treturn <BaseTabs.Panel {...props} ref={ref} className={mergeClassName(\"lyds-tabs__panel\", className)} />;\n});\n\nexport const Tabs = {\n\tRoot: TabsRoot,\n\tList: TabsList,\n\tTab: TabsTab,\n\tIndicator: TabsIndicator,\n\tPanel: TabsPanel\n} as const;\n"],"mappings":"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"}
1
+ {"version":3,"file":"disclosure.js","names":[],"sources":["../../../src/components/overlays/disclosure.tsx"],"sourcesContent":["import {\n\tAccordion as BaseAccordion,\n\ttype AccordionHeaderProps,\n\ttype AccordionItemProps,\n\ttype AccordionPanelProps,\n\ttype AccordionRootProps,\n\ttype AccordionTriggerProps\n} from \"@base-ui/react/accordion\";\nimport { Collapsible as BaseCollapsible, type CollapsiblePanelProps, type CollapsibleRootProps, type CollapsibleTriggerProps } from \"@base-ui/react/collapsible\";\nimport { Tabs as BaseTabs, type TabsIndicatorProps, type TabsListProps, type TabsPanelProps, type TabsRootProps, type TabsTabProps } from \"@base-ui/react/tabs\";\nimport { CaretDownIcon } from \"@phosphor-icons/react/dist/csr/CaretDown\";\nimport { forwardRef, type JSX } from \"react\";\n\nimport { withStateClassName } from \"@/internal\";\nexport type { AccordionRootChangeEventDetails } from \"@base-ui/react/accordion\";\nexport type { CollapsibleRootChangeEventDetails } from \"@base-ui/react/collapsible\";\nexport type { TabsRootChangeEventDetails } from \"@base-ui/react/tabs\";\n\nexport function AccordionRoot<Value = string>(props: AccordionRootProps<Value>): JSX.Element {\n\tconst { className, ...rootProps } = props;\n\n\treturn <BaseAccordion.Root {...rootProps} className={withStateClassName(\"lyds-accordion\", className)} />;\n}\n\nexport const AccordionItem = forwardRef<HTMLDivElement, AccordionItemProps>(function AccordionItem({ className, ...props }, ref) {\n\treturn <BaseAccordion.Item {...props} ref={ref} className={withStateClassName(\"lyds-accordion__item\", className)} />;\n});\n\nexport const AccordionHeader = forwardRef<HTMLHeadingElement, AccordionHeaderProps>(function AccordionHeader({ className, ...props }, ref) {\n\treturn <BaseAccordion.Header {...props} ref={ref} className={withStateClassName(\"lyds-accordion__header\", className)} />;\n});\n\nexport const AccordionTrigger = forwardRef<HTMLElement, AccordionTriggerProps>(function AccordionTrigger({ children, className, ...props }, ref) {\n\treturn (\n\t\t<BaseAccordion.Trigger {...props} ref={ref} className={withStateClassName(\"lyds-accordion__trigger\", className)}>\n\t\t\t<span className=\"lyds-accordion__label\">{children}</span>\n\t\t\t<span className=\"lyds-accordion__indicator\" aria-hidden=\"true\">\n\t\t\t\t<CaretDownIcon aria-hidden=\"true\" weight=\"bold\" />\n\t\t\t</span>\n\t\t</BaseAccordion.Trigger>\n\t);\n});\n\nexport const AccordionPanel = forwardRef<HTMLDivElement, AccordionPanelProps>(function AccordionPanel({ children, className, ...props }, ref) {\n\treturn (\n\t\t<BaseAccordion.Panel {...props} ref={ref} className={withStateClassName(\"lyds-accordion__panel\", className)}>\n\t\t\t<div className=\"lyds-accordion__panelContent\">{children}</div>\n\t\t</BaseAccordion.Panel>\n\t);\n});\n\nexport const Accordion = {\n\tRoot: AccordionRoot,\n\tItem: AccordionItem,\n\tHeader: AccordionHeader,\n\tTrigger: AccordionTrigger,\n\tPanel: AccordionPanel\n} as const;\n\nexport const CollapsibleRoot = forwardRef<HTMLDivElement, CollapsibleRootProps>(function CollapsibleRoot({ className, ...props }, ref) {\n\treturn <BaseCollapsible.Root {...props} ref={ref} className={withStateClassName(\"lyds-collapsible\", className)} />;\n});\n\nexport const CollapsibleTrigger = forwardRef<HTMLButtonElement, CollapsibleTriggerProps>(function CollapsibleTrigger({ children, className, ...props }, ref) {\n\treturn (\n\t\t<BaseCollapsible.Trigger {...props} ref={ref} className={withStateClassName(\"lyds-collapsible__trigger\", className)}>\n\t\t\t<span className=\"lyds-collapsible__label\">{children}</span>\n\t\t\t<span className=\"lyds-collapsible__indicator\" aria-hidden=\"true\">\n\t\t\t\t<CaretDownIcon aria-hidden=\"true\" weight=\"bold\" />\n\t\t\t</span>\n\t\t</BaseCollapsible.Trigger>\n\t);\n});\n\nexport const CollapsiblePanel = forwardRef<HTMLDivElement, CollapsiblePanelProps>(function CollapsiblePanel({ children, className, ...props }, ref) {\n\treturn (\n\t\t<BaseCollapsible.Panel {...props} ref={ref} className={withStateClassName(\"lyds-collapsible__panel\", className)}>\n\t\t\t<div className=\"lyds-collapsible__panelContent\">{children}</div>\n\t\t</BaseCollapsible.Panel>\n\t);\n});\n\nexport const Collapsible = {\n\tRoot: CollapsibleRoot,\n\tTrigger: CollapsibleTrigger,\n\tPanel: CollapsiblePanel\n} as const;\n\nexport const TabsRoot = forwardRef<HTMLDivElement, TabsRootProps>(function TabsRoot({ className, ...props }, ref) {\n\treturn <BaseTabs.Root {...props} ref={ref} className={withStateClassName(\"lyds-tabs\", className)} />;\n});\n\nexport const TabsList = forwardRef<HTMLDivElement, TabsListProps>(function TabsList({ className, ...props }, ref) {\n\treturn <BaseTabs.List {...props} ref={ref} className={withStateClassName(\"lyds-tabs__list\", className)} />;\n});\n\nexport const TabsTab = forwardRef<HTMLElement, TabsTabProps>(function TabsTab({ className, ...props }, ref) {\n\treturn <BaseTabs.Tab {...props} ref={ref} className={withStateClassName(\"lyds-tabs__tab\", className)} />;\n});\n\n/** Base UI 指示器的進階自訂介面。作用中的分頁已有自身選取樣式,因此 Linyao Design System 預設隱藏此元件。 */\nexport const TabsIndicator = forwardRef<HTMLSpanElement, TabsIndicatorProps>(function TabsIndicator({ className, ...props }, ref) {\n\treturn <BaseTabs.Indicator {...props} ref={ref} className={withStateClassName(\"lyds-tabs__indicator\", className)} />;\n});\n\nexport const TabsPanel = forwardRef<HTMLDivElement, TabsPanelProps>(function TabsPanel({ className, ...props }, ref) {\n\treturn <BaseTabs.Panel {...props} ref={ref} className={withStateClassName(\"lyds-tabs__panel\", className)} />;\n});\n\nexport const Tabs = {\n\tRoot: TabsRoot,\n\tList: TabsList,\n\tTab: TabsTab,\n\tIndicator: TabsIndicator,\n\tPanel: TabsPanel\n} as const;\n"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { Drawer as BaseDrawer, DrawerCloseProps as BaseDrawerCloseProps, DrawerPopupProps as BaseDrawerPopupProps, DrawerBackdropProps, DrawerContentProps, DrawerDescriptionProps, DrawerPortalProps, DrawerRootProps, DrawerSwipeAreaProps, DrawerTitleProps, DrawerTriggerProps, DrawerViewportProps } from '@base-ui/react/drawer';
2
2
  import { HTMLAttributes, JSX, RefAttributes } from 'react';
3
+ import { OverlayFooterAlign } from './dialog.js';
3
4
  export type { DrawerRootChangeEventDetails } from '@base-ui/react/drawer';
4
5
  export declare function DrawerRoot<Payload = unknown>({ swipeDirection, ...props }: DrawerRootProps<Payload>): JSX.Element;
5
6
  export declare function DrawerTrigger<Payload = unknown>({ className, ...props }: DrawerTriggerProps<Payload> & RefAttributes<HTMLElement>): JSX.Element;
@@ -11,7 +12,11 @@ export interface DrawerPopupProps extends BaseDrawerPopupProps {
11
12
  closeLabel?: string;
12
13
  /** 傳給內建關閉控制項的屬性。 */
13
14
  closeProps?: Omit<DrawerCloseProps, "children">;
14
- /** 僅在彈出內容另有可存取的 Drawer.Close 時設定。 */
15
+ /** Renders the built-in corner close control. */
16
+ closeButton?: boolean;
17
+ /**
18
+ * @deprecated Pass `closeButton={false}` instead. Kept so existing call sites keep working.
19
+ */
15
20
  hasCustomClose?: boolean;
16
21
  }
17
22
  export declare const DrawerPopup: import('react').ForwardRefExoticComponent<Omit<DrawerPopupProps, "ref"> & RefAttributes<HTMLDivElement>>;
@@ -28,7 +33,9 @@ export type DrawerHeaderProps = HTMLAttributes<HTMLDivElement>;
28
33
  export declare const DrawerHeader: import('react').ForwardRefExoticComponent<DrawerHeaderProps & RefAttributes<HTMLDivElement>>;
29
34
  export type DrawerBodyProps = HTMLAttributes<HTMLDivElement>;
30
35
  export declare const DrawerBody: import('react').ForwardRefExoticComponent<DrawerBodyProps & RefAttributes<HTMLDivElement>>;
31
- export type DrawerFooterProps = HTMLAttributes<HTMLDivElement>;
36
+ export interface DrawerFooterProps extends HTMLAttributes<HTMLDivElement> {
37
+ align?: OverlayFooterAlign;
38
+ }
32
39
  export declare const DrawerFooter: import('react').ForwardRefExoticComponent<DrawerFooterProps & RefAttributes<HTMLDivElement>>;
33
40
  export declare const Drawer: {
34
41
  readonly Root: typeof DrawerRoot;