@linyao.tw/ui 0.0.0-snapshot.07df57

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 (169) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +85 -0
  3. package/dist/components/date-time/calendar.d.ts +20 -0
  4. package/dist/components/date-time/calendar.js +102 -0
  5. package/dist/components/date-time/calendar.js.map +1 -0
  6. package/dist/components/date-time/date-field.d.ts +11 -0
  7. package/dist/components/date-time/date-field.js +44 -0
  8. package/dist/components/date-time/date-field.js.map +1 -0
  9. package/dist/components/date-time/date-picker.d.ts +28 -0
  10. package/dist/components/date-time/date-picker.js +74 -0
  11. package/dist/components/date-time/date-picker.js.map +1 -0
  12. package/dist/components/date-time/date-range-picker.d.ts +11 -0
  13. package/dist/components/date-time/date-range-picker.js +79 -0
  14. package/dist/components/date-time/date-range-picker.js.map +1 -0
  15. package/dist/components/date-time/date-types.d.ts +110 -0
  16. package/dist/components/date-time/index.d.ts +8 -0
  17. package/dist/components/date-time/index.js +8 -0
  18. package/dist/components/date-time/shared.d.ts +25 -0
  19. package/dist/components/date-time/shared.js +53 -0
  20. package/dist/components/date-time/shared.js.map +1 -0
  21. package/dist/components/date-time/time-field.d.ts +13 -0
  22. package/dist/components/date-time/time-field.js +52 -0
  23. package/dist/components/date-time/time-field.js.map +1 -0
  24. package/dist/components/feedback/alert.d.ts +21 -0
  25. package/dist/components/feedback/alert.js +44 -0
  26. package/dist/components/feedback/alert.js.map +1 -0
  27. package/dist/components/feedback/banner.d.ts +8 -0
  28. package/dist/components/feedback/banner.js +20 -0
  29. package/dist/components/feedback/banner.js.map +1 -0
  30. package/dist/components/feedback/empty-state.d.ts +12 -0
  31. package/dist/components/feedback/empty-state.js +48 -0
  32. package/dist/components/feedback/empty-state.js.map +1 -0
  33. package/dist/components/feedback/feedback.module.js +42 -0
  34. package/dist/components/feedback/feedback.module.js.map +1 -0
  35. package/dist/components/feedback/feedback.types.d.ts +8 -0
  36. package/dist/components/feedback/feedback.types.js +24 -0
  37. package/dist/components/feedback/feedback.types.js.map +1 -0
  38. package/dist/components/feedback/index.d.ts +9 -0
  39. package/dist/components/feedback/meter.d.ts +12 -0
  40. package/dist/components/feedback/meter.js +28 -0
  41. package/dist/components/feedback/meter.js.map +1 -0
  42. package/dist/components/feedback/progress.d.ts +12 -0
  43. package/dist/components/feedback/progress.js +28 -0
  44. package/dist/components/feedback/progress.js.map +1 -0
  45. package/dist/components/feedback/skeleton.d.ts +5 -0
  46. package/dist/components/feedback/skeleton.js +18 -0
  47. package/dist/components/feedback/skeleton.js.map +1 -0
  48. package/dist/components/feedback/spinner.d.ts +23 -0
  49. package/dist/components/feedback/spinner.js +35 -0
  50. package/dist/components/feedback/spinner.js.map +1 -0
  51. package/dist/components/feedback/toast.d.ts +33 -0
  52. package/dist/components/feedback/toast.js +76 -0
  53. package/dist/components/feedback/toast.js.map +1 -0
  54. package/dist/components/forms/CodeField.d.ts +23 -0
  55. package/dist/components/forms/CodeField.js +63 -0
  56. package/dist/components/forms/CodeField.js.map +1 -0
  57. package/dist/components/forms/FileUpload.d.ts +34 -0
  58. package/dist/components/forms/FileUpload.js +319 -0
  59. package/dist/components/forms/FileUpload.js.map +1 -0
  60. package/dist/components/forms/Input.d.ts +14 -0
  61. package/dist/components/forms/Input.js +33 -0
  62. package/dist/components/forms/Input.js.map +1 -0
  63. package/dist/components/forms/NumberField.d.ts +15 -0
  64. package/dist/components/forms/NumberField.js +71 -0
  65. package/dist/components/forms/NumberField.js.map +1 -0
  66. package/dist/components/forms/OTPField.d.ts +15 -0
  67. package/dist/components/forms/OTPField.js +54 -0
  68. package/dist/components/forms/OTPField.js.map +1 -0
  69. package/dist/components/forms/TextField.d.ts +61 -0
  70. package/dist/components/forms/TextField.js +199 -0
  71. package/dist/components/forms/TextField.js.map +1 -0
  72. package/dist/components/forms/index.d.ts +7 -0
  73. package/dist/components/forms/internal.d.ts +33 -0
  74. package/dist/components/forms/internal.js +61 -0
  75. package/dist/components/forms/internal.js.map +1 -0
  76. package/dist/components/foundations/Avatar.d.ts +33 -0
  77. package/dist/components/foundations/Avatar.js +45 -0
  78. package/dist/components/foundations/Avatar.js.map +1 -0
  79. package/dist/components/foundations/Badge.d.ts +15 -0
  80. package/dist/components/foundations/Badge.js +32 -0
  81. package/dist/components/foundations/Badge.js.map +1 -0
  82. package/dist/components/foundations/Button.d.ts +18 -0
  83. package/dist/components/foundations/Button.js +47 -0
  84. package/dist/components/foundations/Button.js.map +1 -0
  85. package/dist/components/foundations/Card.d.ts +47 -0
  86. package/dist/components/foundations/Card.js +57 -0
  87. package/dist/components/foundations/Card.js.map +1 -0
  88. package/dist/components/foundations/IconButton.d.ts +25 -0
  89. package/dist/components/foundations/IconButton.js +19 -0
  90. package/dist/components/foundations/IconButton.js.map +1 -0
  91. package/dist/components/foundations/Link.d.ts +19 -0
  92. package/dist/components/foundations/Link.js +40 -0
  93. package/dist/components/foundations/Link.js.map +1 -0
  94. package/dist/components/foundations/ListCell.d.ts +68 -0
  95. package/dist/components/foundations/ListCell.js +105 -0
  96. package/dist/components/foundations/ListCell.js.map +1 -0
  97. package/dist/components/foundations/SectionHeading.d.ts +17 -0
  98. package/dist/components/foundations/SectionHeading.js +50 -0
  99. package/dist/components/foundations/SectionHeading.js.map +1 -0
  100. package/dist/components/foundations/Separator.d.ts +11 -0
  101. package/dist/components/foundations/Separator.js +21 -0
  102. package/dist/components/foundations/Separator.js.map +1 -0
  103. package/dist/components/foundations/index.d.ts +9 -0
  104. package/dist/components/foundations/shared.d.ts +5 -0
  105. package/dist/components/foundations/shared.js +8 -0
  106. package/dist/components/foundations/shared.js.map +1 -0
  107. package/dist/components/navigation-data/breadcrumb-pagination.d.ts +34 -0
  108. package/dist/components/navigation-data/breadcrumb-pagination.js +161 -0
  109. package/dist/components/navigation-data/breadcrumb-pagination.js.map +1 -0
  110. package/dist/components/navigation-data/command-palette.d.ts +35 -0
  111. package/dist/components/navigation-data/command-palette.js +151 -0
  112. package/dist/components/navigation-data/command-palette.js.map +1 -0
  113. package/dist/components/navigation-data/header-tab-bar.d.ts +23 -0
  114. package/dist/components/navigation-data/header-tab-bar.js +102 -0
  115. package/dist/components/navigation-data/header-tab-bar.js.map +1 -0
  116. package/dist/components/navigation-data/index.d.ts +7 -0
  117. package/dist/components/navigation-data/menubar-toolbar.d.ts +26 -0
  118. package/dist/components/navigation-data/menubar-toolbar.js +161 -0
  119. package/dist/components/navigation-data/menubar-toolbar.js.map +1 -0
  120. package/dist/components/navigation-data/navigation-menu.d.ts +14 -0
  121. package/dist/components/navigation-data/navigation-menu.js +87 -0
  122. package/dist/components/navigation-data/navigation-menu.js.map +1 -0
  123. package/dist/components/navigation-data/scroll-area.d.ts +6 -0
  124. package/dist/components/navigation-data/scroll-area.js +52 -0
  125. package/dist/components/navigation-data/scroll-area.js.map +1 -0
  126. package/dist/components/navigation-data/table-collection.d.ts +61 -0
  127. package/dist/components/navigation-data/table-collection.js +181 -0
  128. package/dist/components/navigation-data/table-collection.js.map +1 -0
  129. package/dist/components/navigation-data/utils.d.ts +2 -0
  130. package/dist/components/navigation-data/utils.js +11 -0
  131. package/dist/components/navigation-data/utils.js.map +1 -0
  132. package/dist/components/overlays/class-names.d.ts +6 -0
  133. package/dist/components/overlays/class-names.js +11 -0
  134. package/dist/components/overlays/class-names.js.map +1 -0
  135. package/dist/components/overlays/dialog.d.ts +98 -0
  136. package/dist/components/overlays/dialog.js +158 -0
  137. package/dist/components/overlays/dialog.js.map +1 -0
  138. package/dist/components/overlays/disclosure.d.ts +40 -0
  139. package/dist/components/overlays/disclosure.js +138 -0
  140. package/dist/components/overlays/disclosure.js.map +1 -0
  141. package/dist/components/overlays/drawer.d.ts +88 -0
  142. package/dist/components/overlays/drawer.js +192 -0
  143. package/dist/components/overlays/drawer.js.map +1 -0
  144. package/dist/components/overlays/floating.d.ts +83 -0
  145. package/dist/components/overlays/floating.js +220 -0
  146. package/dist/components/overlays/floating.js.map +1 -0
  147. package/dist/components/overlays/index.d.ts +4 -0
  148. package/dist/components/selection/classnames.d.ts +4 -0
  149. package/dist/components/selection/classnames.js +14 -0
  150. package/dist/components/selection/classnames.js.map +1 -0
  151. package/dist/components/selection/combobox.d.ts +118 -0
  152. package/dist/components/selection/combobox.js +284 -0
  153. package/dist/components/selection/combobox.js.map +1 -0
  154. package/dist/components/selection/controls.d.ts +65 -0
  155. package/dist/components/selection/controls.js +171 -0
  156. package/dist/components/selection/controls.js.map +1 -0
  157. package/dist/components/selection/index.d.ts +7 -0
  158. package/dist/components/selection/menu.d.ts +87 -0
  159. package/dist/components/selection/menu.js +157 -0
  160. package/dist/components/selection/menu.js.map +1 -0
  161. package/dist/components/selection/select.d.ts +55 -0
  162. package/dist/components/selection/select.js +138 -0
  163. package/dist/components/selection/select.js.map +1 -0
  164. package/dist/components/selection/selection.module.js +51 -0
  165. package/dist/components/selection/selection.module.js.map +1 -0
  166. package/dist/index.d.ts +7 -0
  167. package/dist/index.js +52 -0
  168. package/dist/styles.css +2 -0
  169. package/package.json +74 -0
@@ -0,0 +1,161 @@
1
+ import { cx as e } from "./utils.js";
2
+ import { CaretRightIcon as t } from "@phosphor-icons/react/dist/csr/CaretRight";
3
+ import { forwardRef as n } from "react";
4
+ import { jsx as r, jsxs as i } from "react/jsx-runtime";
5
+ import { ArrowLeftIcon as a } from "@phosphor-icons/react/dist/csr/ArrowLeft";
6
+ import { ArrowRightIcon as o } from "@phosphor-icons/react/dist/csr/ArrowRight";
7
+ import { DotsThreeIcon as s } from "@phosphor-icons/react/dist/csr/DotsThree";
8
+ //#region src/components/navigation-data/breadcrumb-pagination.tsx
9
+ var c = n(function({ className: t, label: n = "麵包屑導覽", ...i }, a) {
10
+ return /* @__PURE__ */ r("nav", {
11
+ ref: a,
12
+ "aria-label": n,
13
+ className: e("lyds-breadcrumb", t),
14
+ ...i
15
+ });
16
+ }), l = n(function({ className: t, ...n }, i) {
17
+ return /* @__PURE__ */ r("ol", {
18
+ ref: i,
19
+ className: e("lyds-breadcrumb__list", t),
20
+ ...n
21
+ });
22
+ }), u = n(function({ className: t, ...n }, i) {
23
+ return /* @__PURE__ */ r("li", {
24
+ ref: i,
25
+ className: e("lyds-breadcrumb__item", t),
26
+ ...n
27
+ });
28
+ }), d = n(function({ children: t, className: n, ...i }, a) {
29
+ return /* @__PURE__ */ r("a", {
30
+ ref: a,
31
+ className: e("lyds-breadcrumb__link", n),
32
+ ...i,
33
+ children: t
34
+ });
35
+ }), f = n(function({ className: t, ...n }, i) {
36
+ return /* @__PURE__ */ r("span", {
37
+ ref: i,
38
+ "aria-current": "page",
39
+ className: e("lyds-breadcrumb__page", t),
40
+ ...n
41
+ });
42
+ }), p = n(function({ children: n, className: i, ...a }, o) {
43
+ return /* @__PURE__ */ r("span", {
44
+ ref: o,
45
+ "aria-hidden": "true",
46
+ className: e("lyds-breadcrumb__separator", i),
47
+ ...a,
48
+ children: n ?? /* @__PURE__ */ r(t, {
49
+ "aria-hidden": "true",
50
+ weight: "bold"
51
+ })
52
+ });
53
+ }), m = n(function({ "aria-label": t = "更多頁面", className: n, children: a, ...o }, c) {
54
+ return /* @__PURE__ */ i("span", {
55
+ ref: c,
56
+ className: e("lyds-breadcrumb__ellipsis", n),
57
+ ...o,
58
+ children: [a ? /* @__PURE__ */ r("span", {
59
+ "aria-hidden": "true",
60
+ children: a
61
+ }) : /* @__PURE__ */ r(s, {
62
+ "aria-hidden": "true",
63
+ weight: "bold"
64
+ }), /* @__PURE__ */ r("span", {
65
+ className: "lyds-sr-only",
66
+ children: t
67
+ })]
68
+ });
69
+ }), h = n(function({ className: t, label: n = "分頁導覽", ...i }, a) {
70
+ return /* @__PURE__ */ r("nav", {
71
+ ref: a,
72
+ "aria-label": n,
73
+ className: e("lyds-pagination", t),
74
+ ...i
75
+ });
76
+ }), g = n(function({ className: t, ...n }, i) {
77
+ return /* @__PURE__ */ r("ul", {
78
+ ref: i,
79
+ className: e("lyds-pagination__list", t),
80
+ ...n
81
+ });
82
+ }), _ = n(function({ className: t, ...n }, i) {
83
+ return /* @__PURE__ */ r("li", {
84
+ ref: i,
85
+ className: e("lyds-pagination__item", t),
86
+ ...n
87
+ });
88
+ }), v = n(function({ children: t, className: n, current: i = !1, disabled: a = !1, href: o, onClick: s, tabIndex: c, ...l }, u) {
89
+ let d = {
90
+ onClick: (e) => {
91
+ if (a) {
92
+ e.preventDefault();
93
+ return;
94
+ }
95
+ s?.(e);
96
+ },
97
+ tabIndex: a ? -1 : c
98
+ };
99
+ return /* @__PURE__ */ r("a", {
100
+ ...l,
101
+ ref: u,
102
+ "aria-current": i ? "page" : void 0,
103
+ "aria-disabled": a || void 0,
104
+ className: e("lyds-pagination__control", n),
105
+ "data-current": i ? "" : void 0,
106
+ "data-disabled": a ? "" : void 0,
107
+ href: a ? void 0 : o,
108
+ role: a ? "link" : void 0,
109
+ ...d,
110
+ children: t
111
+ });
112
+ }), y = n(function({ className: t, current: n = !1, type: i = "button", ...a }, o) {
113
+ return /* @__PURE__ */ r("button", {
114
+ ref: o,
115
+ "aria-current": n ? "page" : void 0,
116
+ className: e("lyds-pagination__control", t),
117
+ "data-current": n ? "" : void 0,
118
+ type: i,
119
+ ...a
120
+ });
121
+ }), b = n(function({ "aria-label": e = "上一頁", children: t, ...n }, i) {
122
+ return /* @__PURE__ */ r(v, {
123
+ ref: i,
124
+ "aria-label": e,
125
+ ...n,
126
+ children: t ?? /* @__PURE__ */ r(a, {
127
+ "aria-hidden": "true",
128
+ weight: "bold"
129
+ })
130
+ });
131
+ }), x = n(function({ "aria-label": e = "下一頁", children: t, ...n }, i) {
132
+ return /* @__PURE__ */ r(v, {
133
+ ref: i,
134
+ "aria-label": e,
135
+ ...n,
136
+ children: t ?? /* @__PURE__ */ r(o, {
137
+ "aria-hidden": "true",
138
+ weight: "bold"
139
+ })
140
+ });
141
+ }), S = n(function({ "aria-label": t = "更多頁面", children: n, className: a, ...o }, c) {
142
+ return /* @__PURE__ */ i("span", {
143
+ ref: c,
144
+ className: e("lyds-pagination__ellipsis", a),
145
+ ...o,
146
+ children: [n ? /* @__PURE__ */ r("span", {
147
+ "aria-hidden": "true",
148
+ children: n
149
+ }) : /* @__PURE__ */ r(s, {
150
+ "aria-hidden": "true",
151
+ weight: "bold"
152
+ }), /* @__PURE__ */ r("span", {
153
+ className: "lyds-sr-only",
154
+ children: t
155
+ })]
156
+ });
157
+ });
158
+ //#endregion
159
+ export { c as Breadcrumb, m as BreadcrumbEllipsis, u as BreadcrumbItem, d as BreadcrumbLink, l as BreadcrumbList, f as BreadcrumbPage, p as BreadcrumbSeparator, h as Pagination, y as PaginationButton, S as PaginationEllipsis, _ as PaginationItem, v as PaginationLink, g as PaginationList, x as PaginationNext, b as PaginationPrevious };
160
+
161
+ //# sourceMappingURL=breadcrumb-pagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breadcrumb-pagination.js","names":[],"sources":["../../../src/components/navigation-data/breadcrumb-pagination.tsx"],"sourcesContent":["import { ArrowLeftIcon } from \"@phosphor-icons/react/dist/csr/ArrowLeft\";\nimport { ArrowRightIcon } from \"@phosphor-icons/react/dist/csr/ArrowRight\";\nimport { CaretRightIcon } from \"@phosphor-icons/react/dist/csr/CaretRight\";\nimport { DotsThreeIcon } from \"@phosphor-icons/react/dist/csr/DotsThree\";\nimport { forwardRef, type AnchorHTMLAttributes, type ButtonHTMLAttributes, type HTMLAttributes, type LiHTMLAttributes, type MouseEvent, type ReactNode } from \"react\";\n\nimport { cx } from \"./utils.js\";\n\nexport interface BreadcrumbProps extends HTMLAttributes<HTMLElement> {\n\t/** 麵包屑導覽區域的無障礙名稱。 */\n\tlabel?: string;\n}\n\nexport const Breadcrumb = forwardRef<HTMLElement, BreadcrumbProps>(function Breadcrumb({ className, label = \"麵包屑導覽\", ...props }, ref) {\n\treturn <nav ref={ref} aria-label={label} className={cx(\"lyds-breadcrumb\", className)} {...props} />;\n});\n\nexport const BreadcrumbList = forwardRef<HTMLOListElement, HTMLAttributes<HTMLOListElement>>(function BreadcrumbList({ className, ...props }, ref) {\n\treturn <ol ref={ref} className={cx(\"lyds-breadcrumb__list\", className)} {...props} />;\n});\n\nexport const BreadcrumbItem = forwardRef<HTMLLIElement, LiHTMLAttributes<HTMLLIElement>>(function BreadcrumbItem({ className, ...props }, ref) {\n\treturn <li ref={ref} className={cx(\"lyds-breadcrumb__item\", className)} {...props} />;\n});\n\nexport const BreadcrumbLink = forwardRef<HTMLAnchorElement, AnchorHTMLAttributes<HTMLAnchorElement>>(function BreadcrumbLink({ children, className, ...props }, ref) {\n\treturn (\n\t\t<a ref={ref} className={cx(\"lyds-breadcrumb__link\", className)} {...props}>\n\t\t\t{children}\n\t\t</a>\n\t);\n});\n\nexport const BreadcrumbPage = forwardRef<HTMLSpanElement, HTMLAttributes<HTMLSpanElement>>(function BreadcrumbPage({ className, ...props }, ref) {\n\treturn <span ref={ref} aria-current=\"page\" className={cx(\"lyds-breadcrumb__page\", className)} {...props} />;\n});\n\nexport interface BreadcrumbSeparatorProps extends HTMLAttributes<HTMLSpanElement> {\n\tchildren?: ReactNode;\n}\n\nexport const BreadcrumbSeparator = forwardRef<HTMLSpanElement, BreadcrumbSeparatorProps>(function BreadcrumbSeparator({ children, className, ...props }, ref) {\n\treturn (\n\t\t<span ref={ref} aria-hidden=\"true\" className={cx(\"lyds-breadcrumb__separator\", className)} {...props}>\n\t\t\t{children ?? <CaretRightIcon aria-hidden=\"true\" weight=\"bold\" />}\n\t\t</span>\n\t);\n});\n\nexport const BreadcrumbEllipsis = forwardRef<HTMLSpanElement, HTMLAttributes<HTMLSpanElement>>(function BreadcrumbEllipsis(\n\t{ \"aria-label\": ariaLabel = \"更多頁面\", className, children, ...props },\n\tref\n) {\n\treturn (\n\t\t<span ref={ref} className={cx(\"lyds-breadcrumb__ellipsis\", className)} {...props}>\n\t\t\t{children ? <span aria-hidden=\"true\">{children}</span> : <DotsThreeIcon aria-hidden=\"true\" weight=\"bold\" />}\n\t\t\t<span className=\"lyds-sr-only\">{ariaLabel}</span>\n\t\t</span>\n\t);\n});\n\nexport interface PaginationProps extends HTMLAttributes<HTMLElement> {\n\t/** 分頁導覽區域的無障礙名稱。 */\n\tlabel?: string;\n}\n\nexport const Pagination = forwardRef<HTMLElement, PaginationProps>(function Pagination({ className, label = \"分頁導覽\", ...props }, ref) {\n\treturn <nav ref={ref} aria-label={label} className={cx(\"lyds-pagination\", className)} {...props} />;\n});\n\nexport const PaginationList = forwardRef<HTMLUListElement, HTMLAttributes<HTMLUListElement>>(function PaginationList({ className, ...props }, ref) {\n\treturn <ul ref={ref} className={cx(\"lyds-pagination__list\", className)} {...props} />;\n});\n\nexport const PaginationItem = forwardRef<HTMLLIElement, LiHTMLAttributes<HTMLLIElement>>(function PaginationItem({ className, ...props }, ref) {\n\treturn <li ref={ref} className={cx(\"lyds-pagination__item\", className)} {...props} />;\n});\n\nexport interface PaginationLinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {\n\tcurrent?: boolean;\n\tdisabled?: boolean;\n}\n\nexport const PaginationLink = forwardRef<HTMLAnchorElement, PaginationLinkProps>(function PaginationLink(\n\t{ children, className, current = false, disabled = false, href, onClick, tabIndex, ...props },\n\tref\n) {\n\tconst interactionProps = {\n\t\tonClick: (event: MouseEvent<HTMLAnchorElement>) => {\n\t\t\tif (disabled) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonClick?.(event);\n\t\t},\n\t\ttabIndex: disabled ? -1 : tabIndex\n\t};\n\n\treturn (\n\t\t<a\n\t\t\t{...props}\n\t\t\tref={ref}\n\t\t\taria-current={current ? \"page\" : undefined}\n\t\t\taria-disabled={disabled || undefined}\n\t\t\tclassName={cx(\"lyds-pagination__control\", className)}\n\t\t\tdata-current={current ? \"\" : undefined}\n\t\t\tdata-disabled={disabled ? \"\" : undefined}\n\t\t\thref={disabled ? undefined : href}\n\t\t\trole={disabled ? \"link\" : undefined}\n\t\t\t{...interactionProps}\n\t\t>\n\t\t\t{children}\n\t\t</a>\n\t);\n});\n\nexport interface PaginationButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n\tcurrent?: boolean;\n}\n\nexport const PaginationButton = forwardRef<HTMLButtonElement, PaginationButtonProps>(function PaginationButton({ className, current = false, type = \"button\", ...props }, ref) {\n\treturn <button ref={ref} aria-current={current ? \"page\" : undefined} className={cx(\"lyds-pagination__control\", className)} data-current={current ? \"\" : undefined} type={type} {...props} />;\n});\n\nexport const PaginationPrevious = forwardRef<HTMLAnchorElement, PaginationLinkProps>(function PaginationPrevious({ \"aria-label\": ariaLabel = \"上一頁\", children, ...props }, ref) {\n\treturn (\n\t\t<PaginationLink ref={ref} aria-label={ariaLabel} {...props}>\n\t\t\t{children ?? <ArrowLeftIcon aria-hidden=\"true\" weight=\"bold\" />}\n\t\t</PaginationLink>\n\t);\n});\n\nexport const PaginationNext = forwardRef<HTMLAnchorElement, PaginationLinkProps>(function PaginationNext({ \"aria-label\": ariaLabel = \"下一頁\", children, ...props }, ref) {\n\treturn (\n\t\t<PaginationLink ref={ref} aria-label={ariaLabel} {...props}>\n\t\t\t{children ?? <ArrowRightIcon aria-hidden=\"true\" weight=\"bold\" />}\n\t\t</PaginationLink>\n\t);\n});\n\nexport const PaginationEllipsis = forwardRef<HTMLSpanElement, HTMLAttributes<HTMLSpanElement>>(function PaginationEllipsis(\n\t{ \"aria-label\": ariaLabel = \"更多頁面\", children, className, ...props },\n\tref\n) {\n\treturn (\n\t\t<span ref={ref} className={cx(\"lyds-pagination__ellipsis\", className)} {...props}>\n\t\t\t{children ? <span aria-hidden=\"true\">{children}</span> : <DotsThreeIcon aria-hidden=\"true\" weight=\"bold\" />}\n\t\t\t<span className=\"lyds-sr-only\">{ariaLabel}</span>\n\t\t</span>\n\t);\n});\n"],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import { Combobox as BaseCombobox } from '@base-ui/react/combobox';
2
+ import { Dialog as BaseDialog } from '@base-ui/react/dialog';
3
+ import { HTMLAttributes, ReactNode } from 'react';
4
+ export interface CommandPaletteProps<Value> extends Omit<BaseCombobox.Root.Props<Value, false>, "autoComplete" | "children" | "defaultOpen" | "inline" | "modal" | "onOpenChange" | "open"> {
5
+ children: ReactNode;
6
+ defaultOpen?: boolean;
7
+ modal?: BaseDialog.Root.Props["modal"];
8
+ onOpenChange?: (open: boolean, eventDetails: CommandPaletteOpenChangeDetails) => void;
9
+ open?: boolean;
10
+ }
11
+ export type CommandPaletteOpenChangeDetails = BaseDialog.Root.ChangeEventDetails | BaseCombobox.Root.ChangeEventDetails;
12
+ /**
13
+ * 用於指令介面的 Dialog 與行內 Combobox 組合。
14
+ * Linyao Design System 僅管理焦點與開啟狀態;指令資料、篩選及執行由使用端負責。
15
+ */
16
+ export declare function CommandPalette<Value>({ children, defaultOpen, modal, onOpenChange, open, ...comboboxProps }: CommandPaletteProps<Value>): import("react").JSX.Element;
17
+ export declare const CommandPaletteTrigger: import('react').ForwardRefExoticComponent<Omit<BaseDialog.Trigger.Props<unknown>, "ref"> & import('react').RefAttributes<HTMLButtonElement>>;
18
+ export declare const CommandPalettePortal: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').AlertDialogPortalProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
19
+ export declare const CommandPaletteBackdrop: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').AlertDialogBackdropProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
20
+ export declare const CommandPaletteViewport: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').AlertDialogViewportProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
21
+ export declare const CommandPalettePopup: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').AlertDialogPopupProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
22
+ export declare const CommandPaletteTitle: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').AlertDialogTitleProps, "ref"> & import('react').RefAttributes<HTMLHeadingElement>>;
23
+ export declare const CommandPaletteDescription: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').AlertDialogDescriptionProps, "ref"> & import('react').RefAttributes<HTMLParagraphElement>>;
24
+ export declare const CommandPaletteClose: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').AlertDialogCloseProps, "ref"> & import('react').RefAttributes<HTMLButtonElement>>;
25
+ export declare const CommandPaletteLabel: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').ComboboxLabelProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
26
+ export declare const CommandPaletteInput: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').AutocompleteInputProps, "ref"> & import('react').RefAttributes<HTMLInputElement>>;
27
+ export declare const CommandPaletteList: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').AutocompleteListProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
28
+ export declare const CommandPaletteItem: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').ComboboxItemProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
29
+ export declare const CommandPaletteItemIndicator: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').ComboboxItemIndicatorProps, "ref"> & import('react').RefAttributes<HTMLSpanElement>>;
30
+ export declare const CommandPaletteGroup: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').AutocompleteGroupProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
31
+ export declare const CommandPaletteGroupLabel: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').AutocompleteGroupLabelProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
32
+ export declare const CommandPaletteEmpty: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').AutocompleteEmptyProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
33
+ export declare const CommandPaletteSeparator: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').ComboboxSeparatorProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
34
+ export declare const CommandPaletteStatus: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').AutocompleteStatusProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
35
+ export declare const CommandPaletteShortcut: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & import('react').RefAttributes<HTMLElement>>;
@@ -0,0 +1,151 @@
1
+ import { cx as e, withBaseClass as t } from "./utils.js";
2
+ import { forwardRef as n, useCallback as r, useImperativeHandle as i, useRef as a, useState as o } from "react";
3
+ import { jsx as s } from "react/jsx-runtime";
4
+ import { Combobox as c } from "@base-ui/react/combobox";
5
+ import { Dialog as l } from "@base-ui/react/dialog";
6
+ import { CheckIcon as u } from "@phosphor-icons/react/dist/csr/Check";
7
+ //#region src/components/navigation-data/command-palette.tsx
8
+ function d({ children: e, defaultOpen: t = !1, modal: n = !0, onOpenChange: i, open: a, ...u }) {
9
+ let [d, f] = o(t), p = a !== void 0, m = p ? a : d, h = r((e, t) => {
10
+ i?.(e, t), !t.isCanceled && (p || f(e));
11
+ }, [p, i]);
12
+ return /* @__PURE__ */ s(l.Root, {
13
+ modal: n,
14
+ open: m,
15
+ onOpenChange: h,
16
+ children: /* @__PURE__ */ s(c.Root, {
17
+ ...u,
18
+ autoComplete: "none",
19
+ inline: !0,
20
+ open: m,
21
+ onOpenChange: (e, t) => {
22
+ e !== m && h(e, t);
23
+ },
24
+ children: e
25
+ })
26
+ });
27
+ }
28
+ var f = n(function(e, n) {
29
+ let { className: r, ...i } = e;
30
+ return /* @__PURE__ */ s(l.Trigger, {
31
+ ref: n,
32
+ className: t("lyds-command-palette__trigger", r),
33
+ ...i
34
+ });
35
+ }), p = l.Portal, m = n(function(e, n) {
36
+ let { className: r, ...i } = e;
37
+ return /* @__PURE__ */ s(l.Backdrop, {
38
+ ref: n,
39
+ className: t("lyds-command-palette__backdrop", r),
40
+ ...i
41
+ });
42
+ }), h = n(function(e, n) {
43
+ let { className: r, ...i } = e;
44
+ return /* @__PURE__ */ s(l.Viewport, {
45
+ ref: n,
46
+ className: t("lyds-command-palette__viewport", r),
47
+ ...i
48
+ });
49
+ }), g = n(function(e, n) {
50
+ let { className: r, initialFocus: o, ...c } = e, u = a(null);
51
+ return i(n, () => u.current), /* @__PURE__ */ s(l.Popup, {
52
+ ref: u,
53
+ className: t("lyds-command-palette__popup", r),
54
+ initialFocus: o ?? ((e) => e === "touch" ? !0 : u.current?.querySelector(".lyds-command-palette__input") ?? !0),
55
+ ...c
56
+ });
57
+ }), _ = n(function(e, n) {
58
+ let { className: r, ...i } = e;
59
+ return /* @__PURE__ */ s(l.Title, {
60
+ ref: n,
61
+ className: t("lyds-command-palette__title", r),
62
+ ...i
63
+ });
64
+ }), v = n(function(e, n) {
65
+ let { className: r, ...i } = e;
66
+ return /* @__PURE__ */ s(l.Description, {
67
+ ref: n,
68
+ className: t("lyds-command-palette__description", r),
69
+ ...i
70
+ });
71
+ }), y = n(function(e, n) {
72
+ let { className: r, children: i = "關閉", ...a } = e;
73
+ return /* @__PURE__ */ s(l.Close, {
74
+ ref: n,
75
+ className: t("lyds-command-palette__close", r),
76
+ ...a,
77
+ children: i
78
+ });
79
+ }), b = n(function(e, n) {
80
+ let { className: r, ...i } = e;
81
+ return /* @__PURE__ */ s(c.Label, {
82
+ ref: n,
83
+ className: t("lyds-command-palette__label", r),
84
+ ...i
85
+ });
86
+ }), x = n(function(e, n) {
87
+ let { className: r, placeholder: i = "輸入指令…", ...a } = e;
88
+ return /* @__PURE__ */ s(c.Input, {
89
+ ref: n,
90
+ className: t("lyds-command-palette__input", r),
91
+ placeholder: i,
92
+ ...a
93
+ });
94
+ }), S = n(function(e, n) {
95
+ let { className: r, ...i } = e;
96
+ return /* @__PURE__ */ s(c.List, {
97
+ ref: n,
98
+ className: t("lyds-command-palette__list", r),
99
+ ...i
100
+ });
101
+ }), C = n(function(e, n) {
102
+ let { className: r, ...i } = e;
103
+ return /* @__PURE__ */ s(c.Item, {
104
+ ref: n,
105
+ className: t("lyds-command-palette__item", r),
106
+ ...i
107
+ });
108
+ }), w = n(function(e, n) {
109
+ let { className: r, children: i, ...a } = e;
110
+ return /* @__PURE__ */ s(c.ItemIndicator, {
111
+ ref: n,
112
+ className: t("lyds-command-palette__indicator", r),
113
+ ...a,
114
+ children: i ?? /* @__PURE__ */ s(u, {
115
+ "aria-hidden": "true",
116
+ weight: "bold"
117
+ })
118
+ });
119
+ }), T = c.Group, E = n(function(e, n) {
120
+ let { className: r, ...i } = e;
121
+ return /* @__PURE__ */ s(c.GroupLabel, {
122
+ ref: n,
123
+ className: t("lyds-command-palette__group-label", r),
124
+ ...i
125
+ });
126
+ }), D = n(function(e, n) {
127
+ let { className: r, ...i } = e;
128
+ return /* @__PURE__ */ s(c.Empty, {
129
+ ref: n,
130
+ className: t("lyds-command-palette__empty", r),
131
+ ...i
132
+ });
133
+ }), O = n(function(e, n) {
134
+ let { className: r, ...i } = e;
135
+ return /* @__PURE__ */ s(c.Separator, {
136
+ ref: n,
137
+ className: t("lyds-command-palette__separator", r),
138
+ ...i
139
+ });
140
+ }), k = c.Status, A = n(function(t, n) {
141
+ let { className: r, ...i } = t;
142
+ return /* @__PURE__ */ s("kbd", {
143
+ ref: n,
144
+ className: e("lyds-command-palette__shortcut", r),
145
+ ...i
146
+ });
147
+ });
148
+ //#endregion
149
+ export { d as CommandPalette, m as CommandPaletteBackdrop, y as CommandPaletteClose, v as CommandPaletteDescription, D as CommandPaletteEmpty, T as CommandPaletteGroup, E as CommandPaletteGroupLabel, x as CommandPaletteInput, C as CommandPaletteItem, w as CommandPaletteItemIndicator, b as CommandPaletteLabel, S as CommandPaletteList, g as CommandPalettePopup, p as CommandPalettePortal, O as CommandPaletteSeparator, A as CommandPaletteShortcut, k as CommandPaletteStatus, _ as CommandPaletteTitle, f as CommandPaletteTrigger, h as CommandPaletteViewport };
150
+
151
+ //# sourceMappingURL=command-palette.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-palette.js","names":[],"sources":["../../../src/components/navigation-data/command-palette.tsx"],"sourcesContent":["import { Combobox as BaseCombobox } from \"@base-ui/react/combobox\";\nimport { Dialog as BaseDialog } from \"@base-ui/react/dialog\";\nimport { CheckIcon } from \"@phosphor-icons/react/dist/csr/Check\";\nimport { forwardRef, useCallback, useImperativeHandle, useRef, useState, type ComponentRef, type HTMLAttributes, type ReactNode } from \"react\";\n\nimport { cx, withBaseClass } from \"./utils.js\";\n\nexport interface CommandPaletteProps<Value> extends Omit<BaseCombobox.Root.Props<Value, false>, \"autoComplete\" | \"children\" | \"defaultOpen\" | \"inline\" | \"modal\" | \"onOpenChange\" | \"open\"> {\n\tchildren: ReactNode;\n\tdefaultOpen?: boolean;\n\tmodal?: BaseDialog.Root.Props[\"modal\"];\n\tonOpenChange?: (open: boolean, eventDetails: CommandPaletteOpenChangeDetails) => void;\n\topen?: boolean;\n}\n\nexport type CommandPaletteOpenChangeDetails = BaseDialog.Root.ChangeEventDetails | BaseCombobox.Root.ChangeEventDetails;\n\n/**\n * 用於指令介面的 Dialog 與行內 Combobox 組合。\n * Linyao Design System 僅管理焦點與開啟狀態;指令資料、篩選及執行由使用端負責。\n */\nexport function CommandPalette<Value>({ children, defaultOpen = false, modal = true, onOpenChange, open, ...comboboxProps }: CommandPaletteProps<Value>) {\n\tconst [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);\n\tconst isControlled = open !== undefined;\n\tconst resolvedOpen = isControlled ? open : uncontrolledOpen;\n\tconst changeOpen = useCallback(\n\t\t(nextOpen: boolean, eventDetails: CommandPaletteOpenChangeDetails) => {\n\t\t\tonOpenChange?.(nextOpen, eventDetails);\n\t\t\tif (eventDetails.isCanceled) return;\n\t\t\tif (!isControlled) {\n\t\t\t\tsetUncontrolledOpen(nextOpen);\n\t\t\t}\n\t\t},\n\t\t[isControlled, onOpenChange]\n\t);\n\n\treturn (\n\t\t<BaseDialog.Root modal={modal} open={resolvedOpen} onOpenChange={changeOpen}>\n\t\t\t<BaseCombobox.Root\n\t\t\t\t{...comboboxProps}\n\t\t\t\tautoComplete=\"none\"\n\t\t\t\tinline\n\t\t\t\topen={resolvedOpen}\n\t\t\t\tonOpenChange={(nextOpen, eventDetails) => {\n\t\t\t\t\tif (nextOpen !== resolvedOpen) {\n\t\t\t\t\t\tchangeOpen(nextOpen, eventDetails);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</BaseCombobox.Root>\n\t\t</BaseDialog.Root>\n\t);\n}\n\nexport const CommandPaletteTrigger = forwardRef<HTMLButtonElement, BaseDialog.Trigger.Props>(function CommandPaletteTrigger(props, ref) {\n\tconst { className, ...triggerProps } = props;\n\treturn <BaseDialog.Trigger ref={ref} className={withBaseClass<BaseDialog.Trigger.State>(\"lyds-command-palette__trigger\", className)} {...triggerProps} />;\n});\n\nexport const CommandPalettePortal = BaseDialog.Portal;\n\nexport const CommandPaletteBackdrop = forwardRef<ComponentRef<typeof BaseDialog.Backdrop>, BaseDialog.Backdrop.Props>(function CommandPaletteBackdrop(props, ref) {\n\tconst { className, ...backdropProps } = props;\n\treturn <BaseDialog.Backdrop ref={ref} className={withBaseClass<BaseDialog.Backdrop.State>(\"lyds-command-palette__backdrop\", className)} {...backdropProps} />;\n});\n\nexport const CommandPaletteViewport = forwardRef<ComponentRef<typeof BaseDialog.Viewport>, BaseDialog.Viewport.Props>(function CommandPaletteViewport(props, ref) {\n\tconst { className, ...viewportProps } = props;\n\treturn <BaseDialog.Viewport ref={ref} className={withBaseClass<BaseDialog.Viewport.State>(\"lyds-command-palette__viewport\", className)} {...viewportProps} />;\n});\n\nexport const CommandPalettePopup = forwardRef<ComponentRef<typeof BaseDialog.Popup>, BaseDialog.Popup.Props>(function CommandPalettePopup(props, ref) {\n\tconst { className, initialFocus, ...popupProps } = props;\n\tconst popupRef = useRef<ComponentRef<typeof BaseDialog.Popup>>(null);\n\tuseImperativeHandle(ref, () => popupRef.current as ComponentRef<typeof BaseDialog.Popup>);\n\n\treturn (\n\t\t<BaseDialog.Popup\n\t\t\tref={popupRef}\n\t\t\tclassName={withBaseClass<BaseDialog.Popup.State>(\"lyds-command-palette__popup\", className)}\n\t\t\tinitialFocus={\n\t\t\t\tinitialFocus ??\n\t\t\t\t(openType => {\n\t\t\t\t\tif (openType === \"touch\") return true;\n\t\t\t\t\treturn popupRef.current?.querySelector<HTMLElement>(\".lyds-command-palette__input\") ?? true;\n\t\t\t\t})\n\t\t\t}\n\t\t\t{...popupProps}\n\t\t/>\n\t);\n});\n\nexport const CommandPaletteTitle = forwardRef<ComponentRef<typeof BaseDialog.Title>, BaseDialog.Title.Props>(function CommandPaletteTitle(props, ref) {\n\tconst { className, ...titleProps } = props;\n\treturn <BaseDialog.Title ref={ref} className={withBaseClass<BaseDialog.Title.State>(\"lyds-command-palette__title\", className)} {...titleProps} />;\n});\n\nexport const CommandPaletteDescription = forwardRef<ComponentRef<typeof BaseDialog.Description>, BaseDialog.Description.Props>(function CommandPaletteDescription(props, ref) {\n\tconst { className, ...descriptionProps } = props;\n\treturn <BaseDialog.Description ref={ref} className={withBaseClass<BaseDialog.Description.State>(\"lyds-command-palette__description\", className)} {...descriptionProps} />;\n});\n\nexport const CommandPaletteClose = forwardRef<ComponentRef<typeof BaseDialog.Close>, BaseDialog.Close.Props>(function CommandPaletteClose(props, ref) {\n\tconst { className, children = \"關閉\", ...closeProps } = props;\n\treturn (\n\t\t<BaseDialog.Close ref={ref} className={withBaseClass<BaseDialog.Close.State>(\"lyds-command-palette__close\", className)} {...closeProps}>\n\t\t\t{children}\n\t\t</BaseDialog.Close>\n\t);\n});\n\nexport const CommandPaletteLabel = forwardRef<ComponentRef<typeof BaseCombobox.Label>, BaseCombobox.Label.Props>(function CommandPaletteLabel(props, ref) {\n\tconst { className, ...labelProps } = props;\n\treturn <BaseCombobox.Label ref={ref} className={withBaseClass<BaseCombobox.Label.State>(\"lyds-command-palette__label\", className)} {...labelProps} />;\n});\n\nexport const CommandPaletteInput = forwardRef<ComponentRef<typeof BaseCombobox.Input>, BaseCombobox.Input.Props>(function CommandPaletteInput(props, ref) {\n\tconst { className, placeholder = \"輸入指令…\", ...inputProps } = props;\n\treturn <BaseCombobox.Input ref={ref} className={withBaseClass<BaseCombobox.Input.State>(\"lyds-command-palette__input\", className)} placeholder={placeholder} {...inputProps} />;\n});\n\nexport const CommandPaletteList = forwardRef<ComponentRef<typeof BaseCombobox.List>, BaseCombobox.List.Props>(function CommandPaletteList(props, ref) {\n\tconst { className, ...listProps } = props;\n\treturn <BaseCombobox.List ref={ref} className={withBaseClass<BaseCombobox.List.State>(\"lyds-command-palette__list\", className)} {...listProps} />;\n});\n\nexport const CommandPaletteItem = forwardRef<ComponentRef<typeof BaseCombobox.Item>, BaseCombobox.Item.Props>(function CommandPaletteItem(props, ref) {\n\tconst { className, ...itemProps } = props;\n\treturn <BaseCombobox.Item ref={ref} className={withBaseClass<BaseCombobox.Item.State>(\"lyds-command-palette__item\", className)} {...itemProps} />;\n});\n\nexport const CommandPaletteItemIndicator = forwardRef<ComponentRef<typeof BaseCombobox.ItemIndicator>, BaseCombobox.ItemIndicator.Props>(function CommandPaletteItemIndicator(props, ref) {\n\tconst { className, children, ...indicatorProps } = props;\n\treturn (\n\t\t<BaseCombobox.ItemIndicator ref={ref} className={withBaseClass<BaseCombobox.ItemIndicator.State>(\"lyds-command-palette__indicator\", className)} {...indicatorProps}>\n\t\t\t{children ?? <CheckIcon aria-hidden=\"true\" weight=\"bold\" />}\n\t\t</BaseCombobox.ItemIndicator>\n\t);\n});\n\nexport const CommandPaletteGroup = BaseCombobox.Group;\n\nexport const CommandPaletteGroupLabel = forwardRef<ComponentRef<typeof BaseCombobox.GroupLabel>, BaseCombobox.GroupLabel.Props>(function CommandPaletteGroupLabel(props, ref) {\n\tconst { className, ...labelProps } = props;\n\treturn <BaseCombobox.GroupLabel ref={ref} className={withBaseClass<BaseCombobox.GroupLabel.State>(\"lyds-command-palette__group-label\", className)} {...labelProps} />;\n});\n\nexport const CommandPaletteEmpty = forwardRef<ComponentRef<typeof BaseCombobox.Empty>, BaseCombobox.Empty.Props>(function CommandPaletteEmpty(props, ref) {\n\tconst { className, ...emptyProps } = props;\n\treturn <BaseCombobox.Empty ref={ref} className={withBaseClass<BaseCombobox.Empty.State>(\"lyds-command-palette__empty\", className)} {...emptyProps} />;\n});\n\nexport const CommandPaletteSeparator = forwardRef<ComponentRef<typeof BaseCombobox.Separator>, BaseCombobox.Separator.Props>(function CommandPaletteSeparator(props, ref) {\n\tconst { className, ...separatorProps } = props;\n\treturn <BaseCombobox.Separator ref={ref} className={withBaseClass<BaseCombobox.Separator.State>(\"lyds-command-palette__separator\", className)} {...separatorProps} />;\n});\n\nexport const CommandPaletteStatus = BaseCombobox.Status;\n\nexport const CommandPaletteShortcut = forwardRef<HTMLElement, HTMLAttributes<HTMLElement>>(function CommandPaletteShortcut(props, ref) {\n\tconst { className, ...shortcutProps } = props;\n\treturn <kbd ref={ref} className={cx(\"lyds-command-palette__shortcut\", className)} {...shortcutProps} />;\n});\n"],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { AnchorHTMLAttributes, HTMLAttributes, LiHTMLAttributes } from 'react';
2
+ export declare const Header: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & import('react').RefAttributes<HTMLElement>>;
3
+ export declare const HeaderRail: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & import('react').RefAttributes<HTMLDivElement>>;
4
+ export declare const HeaderBrand: import('react').ForwardRefExoticComponent<AnchorHTMLAttributes<HTMLAnchorElement> & import('react').RefAttributes<HTMLAnchorElement>>;
5
+ export interface HeaderNavProps extends HTMLAttributes<HTMLElement> {
6
+ label?: string;
7
+ }
8
+ export declare const HeaderNav: import('react').ForwardRefExoticComponent<HeaderNavProps & import('react').RefAttributes<HTMLElement>>;
9
+ export declare const HeaderActions: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & import('react').RefAttributes<HTMLDivElement>>;
10
+ export declare const HeaderStatus: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & import('react').RefAttributes<HTMLDivElement>>;
11
+ export interface TabBarProps extends HTMLAttributes<HTMLElement> {
12
+ label?: string;
13
+ }
14
+ export declare const TabBar: import('react').ForwardRefExoticComponent<TabBarProps & import('react').RefAttributes<HTMLElement>>;
15
+ export declare const TabBarList: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLUListElement> & import('react').RefAttributes<HTMLUListElement>>;
16
+ export declare const TabBarItem: import('react').ForwardRefExoticComponent<LiHTMLAttributes<HTMLLIElement> & import('react').RefAttributes<HTMLLIElement>>;
17
+ export interface TabBarLinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
18
+ selected?: boolean;
19
+ disabled?: boolean;
20
+ }
21
+ export declare const TabBarLink: import('react').ForwardRefExoticComponent<TabBarLinkProps & import('react').RefAttributes<HTMLAnchorElement>>;
22
+ export declare const TabBarIcon: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & import('react').RefAttributes<HTMLSpanElement>>;
23
+ export declare const TabBarLabel: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & import('react').RefAttributes<HTMLSpanElement>>;
@@ -0,0 +1,102 @@
1
+ import { cx as e } from "./utils.js";
2
+ import { forwardRef as t } from "react";
3
+ import { jsx as n } from "react/jsx-runtime";
4
+ //#region src/components/navigation-data/header-tab-bar.tsx
5
+ var r = t(function({ className: t, ...r }, i) {
6
+ return /* @__PURE__ */ n("header", {
7
+ ref: i,
8
+ className: e("lyds-header", t),
9
+ ...r
10
+ });
11
+ }), i = t(function({ className: t, ...r }, i) {
12
+ return /* @__PURE__ */ n("div", {
13
+ ref: i,
14
+ className: e("lyds-header__rail", t),
15
+ ...r
16
+ });
17
+ }), a = t(function({ children: t, className: r, ...i }, a) {
18
+ return /* @__PURE__ */ n("a", {
19
+ ref: a,
20
+ className: e("lyds-header__brand", r),
21
+ ...i,
22
+ children: t
23
+ });
24
+ }), o = t(function({ className: t, label: r = "主要導覽", ...i }, a) {
25
+ return /* @__PURE__ */ n("nav", {
26
+ ref: a,
27
+ "aria-label": r,
28
+ className: e("lyds-header__nav", t),
29
+ ...i
30
+ });
31
+ }), s = t(function({ className: t, ...r }, i) {
32
+ return /* @__PURE__ */ n("div", {
33
+ ref: i,
34
+ className: e("lyds-header__actions", t),
35
+ ...r
36
+ });
37
+ }), c = t(function({ className: t, ...r }, i) {
38
+ return /* @__PURE__ */ n("div", {
39
+ ref: i,
40
+ className: e("lyds-header__status", t),
41
+ ...r
42
+ });
43
+ }), l = t(function({ className: t, label: r = "應用程式區段", ...i }, a) {
44
+ return /* @__PURE__ */ n("nav", {
45
+ ref: a,
46
+ "aria-label": r,
47
+ className: e("lyds-tab-bar", t),
48
+ ...i
49
+ });
50
+ }), u = t(function({ className: t, ...r }, i) {
51
+ return /* @__PURE__ */ n("ul", {
52
+ ref: i,
53
+ className: e("lyds-tab-bar__list", t),
54
+ ...r
55
+ });
56
+ }), d = t(function({ className: t, ...r }, i) {
57
+ return /* @__PURE__ */ n("li", {
58
+ ref: i,
59
+ className: e("lyds-tab-bar__item", t),
60
+ ...r
61
+ });
62
+ }), f = t(function({ children: t, className: r, selected: i = !1, disabled: a = !1, href: o, onClick: s, tabIndex: c, ...l }, u) {
63
+ let d = {
64
+ onClick: (e) => {
65
+ if (a) {
66
+ e.preventDefault();
67
+ return;
68
+ }
69
+ s?.(e);
70
+ },
71
+ tabIndex: a ? -1 : c
72
+ };
73
+ return /* @__PURE__ */ n("a", {
74
+ ...l,
75
+ ref: u,
76
+ "aria-current": i ? "page" : void 0,
77
+ "aria-disabled": a || void 0,
78
+ className: e("lyds-tab-bar__link", r),
79
+ "data-disabled": a ? "" : void 0,
80
+ "data-selected": i ? "" : void 0,
81
+ href: a ? void 0 : o,
82
+ ...d,
83
+ children: t
84
+ });
85
+ }), p = t(function({ className: t, ...r }, i) {
86
+ return /* @__PURE__ */ n("span", {
87
+ ref: i,
88
+ "aria-hidden": "true",
89
+ className: e("lyds-tab-bar__icon", t),
90
+ ...r
91
+ });
92
+ }), m = t(function({ className: t, ...r }, i) {
93
+ return /* @__PURE__ */ n("span", {
94
+ ref: i,
95
+ className: e("lyds-tab-bar__label", t),
96
+ ...r
97
+ });
98
+ });
99
+ //#endregion
100
+ export { r as Header, s as HeaderActions, a as HeaderBrand, o as HeaderNav, i as HeaderRail, c as HeaderStatus, l as TabBar, p as TabBarIcon, d as TabBarItem, m as TabBarLabel, f as TabBarLink, u as TabBarList };
101
+
102
+ //# sourceMappingURL=header-tab-bar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"header-tab-bar.js","names":[],"sources":["../../../src/components/navigation-data/header-tab-bar.tsx"],"sourcesContent":["import { forwardRef, type AnchorHTMLAttributes, type HTMLAttributes, type LiHTMLAttributes, type MouseEvent } from \"react\";\n\nimport { cx } from \"./utils.js\";\n\nexport const Header = forwardRef<HTMLElement, HTMLAttributes<HTMLElement>>(function Header({ className, ...props }, ref) {\n\treturn <header ref={ref} className={cx(\"lyds-header\", className)} {...props} />;\n});\n\nexport const HeaderRail = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(function HeaderRail({ className, ...props }, ref) {\n\treturn <div ref={ref} className={cx(\"lyds-header__rail\", className)} {...props} />;\n});\n\nexport const HeaderBrand = forwardRef<HTMLAnchorElement, AnchorHTMLAttributes<HTMLAnchorElement>>(function HeaderBrand({ children, className, ...props }, ref) {\n\treturn (\n\t\t<a ref={ref} className={cx(\"lyds-header__brand\", className)} {...props}>\n\t\t\t{children}\n\t\t</a>\n\t);\n});\n\nexport interface HeaderNavProps extends HTMLAttributes<HTMLElement> {\n\tlabel?: string;\n}\n\nexport const HeaderNav = forwardRef<HTMLElement, HeaderNavProps>(function HeaderNav({ className, label = \"主要導覽\", ...props }, ref) {\n\treturn <nav ref={ref} aria-label={label} className={cx(\"lyds-header__nav\", className)} {...props} />;\n});\n\nexport const HeaderActions = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(function HeaderActions({ className, ...props }, ref) {\n\treturn <div ref={ref} className={cx(\"lyds-header__actions\", className)} {...props} />;\n});\n\nexport const HeaderStatus = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(function HeaderStatus({ className, ...props }, ref) {\n\treturn <div ref={ref} className={cx(\"lyds-header__status\", className)} {...props} />;\n});\n\nexport interface TabBarProps extends HTMLAttributes<HTMLElement> {\n\tlabel?: string;\n}\n\nexport const TabBar = forwardRef<HTMLElement, TabBarProps>(function TabBar({ className, label = \"應用程式區段\", ...props }, ref) {\n\treturn <nav ref={ref} aria-label={label} className={cx(\"lyds-tab-bar\", className)} {...props} />;\n});\n\nexport const TabBarList = forwardRef<HTMLUListElement, HTMLAttributes<HTMLUListElement>>(function TabBarList({ className, ...props }, ref) {\n\treturn <ul ref={ref} className={cx(\"lyds-tab-bar__list\", className)} {...props} />;\n});\n\nexport const TabBarItem = forwardRef<HTMLLIElement, LiHTMLAttributes<HTMLLIElement>>(function TabBarItem({ className, ...props }, ref) {\n\treturn <li ref={ref} className={cx(\"lyds-tab-bar__item\", className)} {...props} />;\n});\n\nexport interface TabBarLinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {\n\tselected?: boolean;\n\tdisabled?: boolean;\n}\n\nexport const TabBarLink = forwardRef<HTMLAnchorElement, TabBarLinkProps>(function TabBarLink({ children, className, selected = false, disabled = false, href, onClick, tabIndex, ...props }, ref) {\n\tconst interactionProps = {\n\t\tonClick: (event: MouseEvent<HTMLAnchorElement>) => {\n\t\t\tif (disabled) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonClick?.(event);\n\t\t},\n\t\ttabIndex: disabled ? -1 : tabIndex\n\t};\n\n\treturn (\n\t\t<a\n\t\t\t{...props}\n\t\t\tref={ref}\n\t\t\taria-current={selected ? \"page\" : undefined}\n\t\t\taria-disabled={disabled || undefined}\n\t\t\tclassName={cx(\"lyds-tab-bar__link\", className)}\n\t\t\tdata-disabled={disabled ? \"\" : undefined}\n\t\t\tdata-selected={selected ? \"\" : undefined}\n\t\t\thref={disabled ? undefined : href}\n\t\t\t{...interactionProps}\n\t\t>\n\t\t\t{children}\n\t\t</a>\n\t);\n});\n\nexport const TabBarIcon = forwardRef<HTMLSpanElement, HTMLAttributes<HTMLSpanElement>>(function TabBarIcon({ className, ...props }, ref) {\n\treturn <span ref={ref} aria-hidden=\"true\" className={cx(\"lyds-tab-bar__icon\", className)} {...props} />;\n});\n\nexport const TabBarLabel = forwardRef<HTMLSpanElement, HTMLAttributes<HTMLSpanElement>>(function TabBarLabel({ className, ...props }, ref) {\n\treturn <span ref={ref} className={cx(\"lyds-tab-bar__label\", className)} {...props} />;\n});\n"],"mappings":";;;;AAIA,IAAa,IAAS,EAAqD,SAAgB,EAAE,cAAW,GAAG,KAAS,GAAK;CACxH,OAAO,kBAAC,UAAD;EAAa;EAAK,WAAW,EAAG,eAAe,CAAS;EAAG,GAAI;CAAQ,CAAA;AAC/E,CAAC,GAEY,IAAa,EAA2D,SAAoB,EAAE,cAAW,GAAG,KAAS,GAAK;CACtI,OAAO,kBAAC,OAAD;EAAU;EAAK,WAAW,EAAG,qBAAqB,CAAS;EAAG,GAAI;CAAQ,CAAA;AAClF,CAAC,GAEY,IAAc,EAAuE,SAAqB,EAAE,aAAU,cAAW,GAAG,KAAS,GAAK;CAC9J,OACC,kBAAC,KAAD;EAAQ;EAAK,WAAW,EAAG,sBAAsB,CAAS;EAAG,GAAI;EAC/D;CACC,CAAA;AAEL,CAAC,GAMY,IAAY,EAAwC,SAAmB,EAAE,cAAW,WAAQ,QAAQ,GAAG,KAAS,GAAK;CACjI,OAAO,kBAAC,OAAD;EAAU;EAAK,cAAY;EAAO,WAAW,EAAG,oBAAoB,CAAS;EAAG,GAAI;CAAQ,CAAA;AACpG,CAAC,GAEY,IAAgB,EAA2D,SAAuB,EAAE,cAAW,GAAG,KAAS,GAAK;CAC5I,OAAO,kBAAC,OAAD;EAAU;EAAK,WAAW,EAAG,wBAAwB,CAAS;EAAG,GAAI;CAAQ,CAAA;AACrF,CAAC,GAEY,IAAe,EAA2D,SAAsB,EAAE,cAAW,GAAG,KAAS,GAAK;CAC1I,OAAO,kBAAC,OAAD;EAAU;EAAK,WAAW,EAAG,uBAAuB,CAAS;EAAG,GAAI;CAAQ,CAAA;AACpF,CAAC,GAMY,IAAS,EAAqC,SAAgB,EAAE,cAAW,WAAQ,UAAU,GAAG,KAAS,GAAK;CAC1H,OAAO,kBAAC,OAAD;EAAU;EAAK,cAAY;EAAO,WAAW,EAAG,gBAAgB,CAAS;EAAG,GAAI;CAAQ,CAAA;AAChG,CAAC,GAEY,IAAa,EAA+D,SAAoB,EAAE,cAAW,GAAG,KAAS,GAAK;CAC1I,OAAO,kBAAC,MAAD;EAAS;EAAK,WAAW,EAAG,sBAAsB,CAAS;EAAG,GAAI;CAAQ,CAAA;AAClF,CAAC,GAEY,IAAa,EAA2D,SAAoB,EAAE,cAAW,GAAG,KAAS,GAAK;CACtI,OAAO,kBAAC,MAAD;EAAS;EAAK,WAAW,EAAG,sBAAsB,CAAS;EAAG,GAAI;CAAQ,CAAA;AAClF,CAAC,GAOY,IAAa,EAA+C,SAAoB,EAAE,aAAU,cAAW,cAAW,IAAO,cAAW,IAAO,SAAM,YAAS,aAAU,GAAG,KAAS,GAAK;CACjM,IAAM,IAAmB;EACxB,UAAU,MAAyC;GAClD,IAAI,GAAU;IACb,EAAM,eAAe;IACrB;GACD;GACA,IAAU,CAAK;EAChB;EACA,UAAU,IAAW,KAAK;CAC3B;CAEA,OACC,kBAAC,KAAD;EACC,GAAI;EACC;EACL,gBAAc,IAAW,SAAS,KAAA;EAClC,iBAAe,KAAY,KAAA;EAC3B,WAAW,EAAG,sBAAsB,CAAS;EAC7C,iBAAe,IAAW,KAAK,KAAA;EAC/B,iBAAe,IAAW,KAAK,KAAA;EAC/B,MAAM,IAAW,KAAA,IAAY;EAC7B,GAAI;EAEH;CACC,CAAA;AAEL,CAAC,GAEY,IAAa,EAA6D,SAAoB,EAAE,cAAW,GAAG,KAAS,GAAK;CACxI,OAAO,kBAAC,QAAD;EAAW;EAAK,eAAY;EAAO,WAAW,EAAG,sBAAsB,CAAS;EAAG,GAAI;CAAQ,CAAA;AACvG,CAAC,GAEY,IAAc,EAA6D,SAAqB,EAAE,cAAW,GAAG,KAAS,GAAK;CAC1I,OAAO,kBAAC,QAAD;EAAW;EAAK,WAAW,EAAG,uBAAuB,CAAS;EAAG,GAAI;CAAQ,CAAA;AACrF,CAAC"}
@@ -0,0 +1,7 @@
1
+ export * from './breadcrumb-pagination.js';
2
+ export * from './command-palette.js';
3
+ export * from './header-tab-bar.js';
4
+ export * from './menubar-toolbar.js';
5
+ export * from './navigation-menu.js';
6
+ export * from './scroll-area.js';
7
+ export * from './table-collection.js';
@@ -0,0 +1,26 @@
1
+ import { Menu as BaseMenu } from '@base-ui/react/menu';
2
+ import { ReactElement, RefAttributes } from 'react';
3
+ export declare const Menubar: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').MenubarProps, "ref"> & RefAttributes<HTMLDivElement>>;
4
+ export declare function MenubarMenu<Payload = unknown>(props: BaseMenu.Root.Props<Payload>): import("react").JSX.Element;
5
+ export declare const MenubarTrigger: <Payload = unknown>(props: BaseMenu.Trigger.Props<Payload> & RefAttributes<HTMLButtonElement>) => ReactElement;
6
+ export declare const MenubarPortal: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').ContextMenuPortalProps, "ref"> & RefAttributes<HTMLDivElement>>;
7
+ export declare const MenubarPositioner: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').ContextMenuPositionerProps, "ref"> & RefAttributes<HTMLDivElement>>;
8
+ export declare const MenubarPopup: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').ContextMenuPopupProps, "ref"> & RefAttributes<HTMLDivElement>>;
9
+ export declare const MenubarItem: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').ContextMenuItemProps, "ref"> & RefAttributes<HTMLElement>>;
10
+ export declare const MenubarLinkItem: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').ContextMenuLinkItemProps, "ref"> & RefAttributes<Element>>;
11
+ export declare const MenubarCheckboxItem: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').ContextMenuCheckboxItemProps, "ref"> & RefAttributes<HTMLElement>>;
12
+ export declare const MenubarCheckboxItemIndicator: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').ContextMenuCheckboxItemIndicatorProps, "ref"> & RefAttributes<HTMLSpanElement>>;
13
+ export declare const MenubarRadioGroup: import('react').NamedExoticComponent<Omit<import('@base-ui/react').ContextMenuRadioGroupProps, "ref"> & RefAttributes<HTMLDivElement>>;
14
+ export declare const MenubarRadioItem: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').ContextMenuRadioItemProps, "ref"> & RefAttributes<HTMLElement>>;
15
+ export declare const MenubarRadioItemIndicator: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').ContextMenuRadioItemIndicatorProps, "ref"> & RefAttributes<HTMLSpanElement>>;
16
+ export declare const MenubarGroup: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').ContextMenuGroupProps, "ref"> & RefAttributes<HTMLDivElement>>;
17
+ export declare const MenubarGroupLabel: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').ContextMenuGroupLabelProps, "ref"> & RefAttributes<HTMLDivElement>>;
18
+ export declare const MenubarSeparator: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').SeparatorProps, "ref"> & RefAttributes<HTMLDivElement>>;
19
+ export declare const MenubarSubmenu: typeof BaseMenu.SubmenuRoot;
20
+ export declare const MenubarSubmenuTrigger: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').ContextMenuSubmenuTriggerProps, "ref"> & RefAttributes<HTMLElement>>;
21
+ export declare const Toolbar: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').ToolbarRootProps, "ref"> & RefAttributes<HTMLDivElement>>;
22
+ export declare const ToolbarGroup: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').ToolbarGroupProps, "ref"> & RefAttributes<HTMLDivElement>>;
23
+ export declare const ToolbarButton: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').ToolbarButtonProps, "ref"> & RefAttributes<HTMLButtonElement>>;
24
+ export declare const ToolbarLink: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').ToolbarLinkProps, "ref"> & RefAttributes<HTMLAnchorElement>>;
25
+ export declare const ToolbarInput: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').ToolbarInputProps, "ref"> & RefAttributes<HTMLInputElement>>;
26
+ export declare const ToolbarSeparator: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').ToolbarSeparatorProps, "ref"> & RefAttributes<HTMLDivElement>>;