@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 @@
1
+ {"version":3,"file":"table-collection.js","names":[],"sources":["../../../src/components/navigation-data/table-collection.tsx"],"sourcesContent":["import {\n\tforwardRef,\n\ttype AnchorHTMLAttributes,\n\ttype ButtonHTMLAttributes,\n\ttype HTMLAttributes,\n\ttype LiHTMLAttributes,\n\ttype OlHTMLAttributes,\n\ttype TableHTMLAttributes,\n\ttype TdHTMLAttributes,\n\ttype ThHTMLAttributes\n} from \"react\";\n\nimport { cx } from \"./utils.js\";\n\nexport const TableFrame = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(function TableFrame({ className, ...props }, ref) {\n\treturn <div ref={ref} className={cx(\"lyds-table-frame\", className)} {...props} />;\n});\n\nexport const Table = forwardRef<HTMLTableElement, TableHTMLAttributes<HTMLTableElement>>(function Table({ className, ...props }, ref) {\n\treturn <table ref={ref} className={cx(\"lyds-table\", className)} {...props} />;\n});\n\nexport const TableCaption = forwardRef<HTMLTableCaptionElement, HTMLAttributes<HTMLTableCaptionElement>>(function TableCaption({ className, ...props }, ref) {\n\treturn <caption ref={ref} className={cx(\"lyds-table__caption\", className)} {...props} />;\n});\n\nexport const TableHeader = forwardRef<HTMLTableSectionElement, HTMLAttributes<HTMLTableSectionElement>>(function TableHeader({ className, ...props }, ref) {\n\treturn <thead ref={ref} className={cx(\"lyds-table__header\", className)} {...props} />;\n});\n\nexport const TableBody = forwardRef<HTMLTableSectionElement, HTMLAttributes<HTMLTableSectionElement>>(function TableBody({ className, ...props }, ref) {\n\treturn <tbody ref={ref} className={cx(\"lyds-table__body\", className)} {...props} />;\n});\n\nexport const TableFooter = forwardRef<HTMLTableSectionElement, HTMLAttributes<HTMLTableSectionElement>>(function TableFooter({ className, ...props }, ref) {\n\treturn <tfoot ref={ref} className={cx(\"lyds-table__footer\", className)} {...props} />;\n});\n\nexport const TableRow = forwardRef<HTMLTableRowElement, HTMLAttributes<HTMLTableRowElement>>(function TableRow({ className, ...props }, ref) {\n\treturn <tr ref={ref} className={cx(\"lyds-table__row\", className)} {...props} />;\n});\n\nexport interface TableHeadProps extends ThHTMLAttributes<HTMLTableCellElement> {\n\ttextAlign?: \"start\" | \"center\" | \"end\";\n}\n\nexport const TableHead = forwardRef<HTMLTableCellElement, TableHeadProps>(function TableHead({ className, scope = \"col\", textAlign = \"start\", ...props }, ref) {\n\treturn <th ref={ref} className={cx(\"lyds-table__head\", className)} data-align={textAlign} scope={scope} {...props} />;\n});\n\nexport interface TableCellProps extends TdHTMLAttributes<HTMLTableCellElement> {\n\ttextAlign?: \"start\" | \"center\" | \"end\";\n\tnumeric?: boolean;\n}\n\nexport const TableCell = forwardRef<HTMLTableCellElement, TableCellProps>(function TableCell({ className, textAlign = \"start\", numeric = false, ...props }, ref) {\n\treturn <td ref={ref} className={cx(\"lyds-table__cell\", className)} data-align={textAlign} data-numeric={numeric ? \"\" : undefined} {...props} />;\n});\n\n/** 純呈現用結構。資料擷取、排序、篩選與分頁由使用端負責。 */\nexport const DataTable = forwardRef<HTMLElement, HTMLAttributes<HTMLElement>>(function DataTable({ className, ...props }, ref) {\n\treturn <section ref={ref} className={cx(\"lyds-data-table\", className)} {...props} />;\n});\n\nexport const DataTableHeader = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(function DataTableHeader({ className, ...props }, ref) {\n\treturn <div ref={ref} className={cx(\"lyds-data-table__header\", className)} {...props} />;\n});\n\nexport const DataTableTitle = forwardRef<HTMLHeadingElement, HTMLAttributes<HTMLHeadingElement>>(function DataTableTitle({ children, className, ...props }, ref) {\n\treturn (\n\t\t<h2 ref={ref} className={cx(\"lyds-data-table__title\", className)} {...props}>\n\t\t\t{children}\n\t\t</h2>\n\t);\n});\n\nexport const DataTableDescription = forwardRef<HTMLParagraphElement, HTMLAttributes<HTMLParagraphElement>>(function DataTableDescription({ className, ...props }, ref) {\n\treturn <p ref={ref} className={cx(\"lyds-data-table__description\", className)} {...props} />;\n});\n\nexport const DataTableControls = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(function DataTableControls({ className, ...props }, ref) {\n\treturn <div ref={ref} className={cx(\"lyds-data-table__controls\", className)} {...props} />;\n});\n\nexport interface DataTableRegionProps extends HTMLAttributes<HTMLDivElement> {\n\tlabel?: string;\n}\n\nexport const DataTableRegion = forwardRef<HTMLDivElement, DataTableRegionProps>(function DataTableRegion({ className, label, ...props }, ref) {\n\treturn <div ref={ref} aria-label={label} className={cx(\"lyds-data-table__region\", className)} role={label ? \"region\" : undefined} {...props} />;\n});\n\nexport const DataTableStatus = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(function DataTableStatus({ className, ...props }, ref) {\n\treturn <div ref={ref} className={cx(\"lyds-data-table__status\", className)} {...props} />;\n});\n\nexport interface CollectionProps extends HTMLAttributes<HTMLUListElement> {\n\tdensity?: \"comfortable\" | \"compact\";\n}\n\nexport const Collection = forwardRef<HTMLUListElement, CollectionProps>(function Collection({ className, density = \"comfortable\", ...props }, ref) {\n\treturn <ul ref={ref} className={cx(\"lyds-collection\", className)} data-density={density} {...props} />;\n});\n\nexport interface OrderedCollectionProps extends OlHTMLAttributes<HTMLOListElement> {\n\tdensity?: \"comfortable\" | \"compact\";\n}\n\nexport const OrderedCollection = forwardRef<HTMLOListElement, OrderedCollectionProps>(function OrderedCollection({ className, density = \"comfortable\", ...props }, ref) {\n\treturn <ol ref={ref} className={cx(\"lyds-collection\", className)} data-density={density} {...props} />;\n});\n\nexport type CollectionItemProps = LiHTMLAttributes<HTMLLIElement>;\n\nexport const CollectionItem = forwardRef<HTMLLIElement, CollectionItemProps>(function CollectionItem({ className, ...props }, ref) {\n\treturn <li ref={ref} className={cx(\"lyds-collection__item\", className)} {...props} />;\n});\n\nexport const CollectionContent = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(function CollectionContent({ className, ...props }, ref) {\n\treturn <div ref={ref} className={cx(\"lyds-collection__content\", className)} {...props} />;\n});\n\nexport const CollectionHeading = forwardRef<HTMLHeadingElement, HTMLAttributes<HTMLHeadingElement>>(function CollectionHeading({ children, className, ...props }, ref) {\n\treturn (\n\t\t<h3 ref={ref} className={cx(\"lyds-collection__heading\", className)} {...props}>\n\t\t\t{children}\n\t\t</h3>\n\t);\n});\n\nexport const CollectionDescription = forwardRef<HTMLParagraphElement, HTMLAttributes<HTMLParagraphElement>>(function CollectionDescription({ className, ...props }, ref) {\n\treturn <p ref={ref} className={cx(\"lyds-collection__description\", className)} {...props} />;\n});\n\nexport const CollectionMeta = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(function CollectionMeta({ className, ...props }, ref) {\n\treturn <div ref={ref} className={cx(\"lyds-collection__meta\", className)} {...props} />;\n});\n\nexport const CollectionActions = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(function CollectionActions({ className, ...props }, ref) {\n\treturn <div ref={ref} className={cx(\"lyds-collection__actions\", className)} {...props} />;\n});\n\nexport interface CollectionLinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {\n\tselected?: boolean;\n}\n\nexport const CollectionLink = forwardRef<HTMLAnchorElement, CollectionLinkProps>(function CollectionLink({ children, className, selected = false, ...props }, ref) {\n\treturn (\n\t\t<a ref={ref} aria-current={selected ? \"page\" : undefined} className={cx(\"lyds-collection__interactive\", className)} data-selected={selected ? \"\" : undefined} {...props}>\n\t\t\t{children}\n\t\t</a>\n\t);\n});\n\nexport interface CollectionButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n\tselected?: boolean;\n}\n\nexport const CollectionButton = forwardRef<HTMLButtonElement, CollectionButtonProps>(function CollectionButton({ className, selected = false, type = \"button\", ...props }, ref) {\n\treturn <button ref={ref} aria-pressed={selected} className={cx(\"lyds-collection__interactive\", className)} data-selected={selected ? \"\" : undefined} type={type} {...props} />;\n});\n\nexport const List = Collection;\nexport const OrderedList = OrderedCollection;\nexport const ListItem = CollectionItem;\nexport const ListContent = CollectionContent;\nexport const ListHeading = CollectionHeading;\nexport const ListDescription = CollectionDescription;\nexport const ListMeta = CollectionMeta;\nexport const ListActions = CollectionActions;\nexport const ListLink = CollectionLink;\nexport const ListButton = CollectionButton;\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function cx(...classes: Array<string | false | null | undefined>): string;
2
+ export declare function withBaseClass<State>(baseClassName: string, className?: string | ((state: State) => string | undefined)): string | ((state: State) => string);
@@ -0,0 +1,11 @@
1
+ //#region src/components/navigation-data/utils.ts
2
+ function e(...e) {
3
+ return e.filter(Boolean).join(" ");
4
+ }
5
+ function t(t, n) {
6
+ return typeof n == "function" ? (r) => e(t, n(r)) : e(t, n);
7
+ }
8
+ //#endregion
9
+ export { e as cx, t as withBaseClass };
10
+
11
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","names":[],"sources":["../../../src/components/navigation-data/utils.ts"],"sourcesContent":["export function cx(...classes: Array<string | false | null | undefined>): string {\n\treturn classes.filter(Boolean).join(\" \");\n}\n\nexport function withBaseClass<State>(baseClassName: string, className?: string | ((state: State) => string | undefined)): string | ((state: State) => string) {\n\tif (typeof className === \"function\") {\n\t\treturn state => cx(baseClassName, className(state));\n\t}\n\n\treturn cx(baseClassName, className);\n}\n"],"mappings":";AAAA,SAAgB,EAAG,GAAG,GAA2D;CAChF,OAAO,EAAQ,OAAO,OAAO,CAAC,CAAC,KAAK,GAAG;AACxC;AAEA,SAAgB,EAAqB,GAAuB,GAAkG;CAK7J,OAJI,OAAO,KAAc,cACjB,MAAS,EAAG,GAAe,EAAU,CAAK,CAAC,IAG5C,EAAG,GAAe,CAAS;AACnC"}
@@ -0,0 +1,6 @@
1
+ type StatefulClassName<State> = string | ((state: State) => string | undefined) | undefined;
2
+ /**
3
+ * 加入 Linyao Design System 的 CSS 類別,並保留 Base UI 可依狀態計算的 className API。
4
+ */
5
+ export declare function mergeClassName<State>(lydsClassName: string, className: StatefulClassName<State>): string | ((state: State) => string);
6
+ export {};
@@ -0,0 +1,11 @@
1
+ //#region src/components/overlays/class-names.ts
2
+ function e(e, t) {
3
+ return typeof t == "function" ? (n) => {
4
+ let r = t(n);
5
+ return r ? `${e} ${r}` : e;
6
+ } : t ? `${e} ${t}` : e;
7
+ }
8
+ //#endregion
9
+ export { e as mergeClassName };
10
+
11
+ //# sourceMappingURL=class-names.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"class-names.js","names":[],"sources":["../../../src/components/overlays/class-names.ts"],"sourcesContent":["type StatefulClassName<State> = string | ((state: State) => string | undefined) | undefined;\n\n/**\n * 加入 Linyao Design System 的 CSS 類別,並保留 Base UI 可依狀態計算的 className API。\n */\nexport function mergeClassName<State>(lydsClassName: string, className: StatefulClassName<State>): string | ((state: State) => string) {\n\tif (typeof className === \"function\") {\n\t\treturn state => {\n\t\t\tconst resolvedClassName = className(state);\n\t\t\treturn resolvedClassName ? `${lydsClassName} ${resolvedClassName}` : lydsClassName;\n\t\t};\n\t}\n\n\treturn className ? `${lydsClassName} ${className}` : lydsClassName;\n}\n"],"mappings":";AAKA,SAAgB,EAAsB,GAAuB,GAA0E;CAQtI,OAPI,OAAO,KAAc,cACjB,MAAS;EACf,IAAM,IAAoB,EAAU,CAAK;EACzC,OAAO,IAAoB,GAAG,EAAc,GAAG,MAAsB;CACtE,IAGM,IAAY,GAAG,EAAc,GAAG,MAAc;AACtD"}
@@ -0,0 +1,98 @@
1
+ import { AlertDialog as BaseAlertDialog, AlertDialogRootProps, AlertDialogTriggerProps } from '@base-ui/react/alert-dialog';
2
+ import { Dialog as BaseDialog, DialogCloseProps as BaseDialogCloseProps, DialogPopupProps as BaseDialogPopupProps, DialogBackdropProps, DialogDescriptionProps, DialogPortalProps, DialogRootProps, DialogTitleProps, DialogTriggerProps, DialogViewportProps } from '@base-ui/react/dialog';
3
+ import { HTMLAttributes, JSX, ReactNode, RefAttributes } from 'react';
4
+ export type { AlertDialogRootChangeEventDetails } from '@base-ui/react/alert-dialog';
5
+ export type { DialogRootChangeEventDetails } from '@base-ui/react/dialog';
6
+ export declare function DialogRoot<Payload = unknown>(props: DialogRootProps<Payload>): JSX.Element;
7
+ export declare function DialogTrigger<Payload = unknown>({ className, ...props }: DialogTriggerProps<Payload> & RefAttributes<HTMLElement>): JSX.Element;
8
+ export declare const DialogPortal: import('react').ForwardRefExoticComponent<Omit<DialogPortalProps, "ref"> & RefAttributes<HTMLDivElement>>;
9
+ export declare const DialogBackdrop: import('react').ForwardRefExoticComponent<Omit<DialogBackdropProps, "ref"> & RefAttributes<HTMLDivElement>>;
10
+ export declare const DialogViewport: import('react').ForwardRefExoticComponent<Omit<DialogViewportProps, "ref"> & RefAttributes<HTMLDivElement>>;
11
+ export interface DialogPopupProps extends BaseDialogPopupProps {
12
+ /** 內建關閉控制項的無障礙標籤。 */
13
+ closeLabel?: string;
14
+ /** 傳給內建關閉控制項的屬性。 */
15
+ closeProps?: Omit<DialogCloseProps, "children">;
16
+ /** 僅在彈出內容另有可存取的 Dialog.Close 時設定。 */
17
+ hasCustomClose?: boolean;
18
+ }
19
+ export declare const DialogPopup: import('react').ForwardRefExoticComponent<Omit<DialogPopupProps, "ref"> & RefAttributes<HTMLDivElement>>;
20
+ export declare const DialogTitle: import('react').ForwardRefExoticComponent<Omit<DialogTitleProps, "ref"> & RefAttributes<HTMLHeadingElement>>;
21
+ export declare const DialogDescription: import('react').ForwardRefExoticComponent<Omit<DialogDescriptionProps, "ref"> & RefAttributes<HTMLParagraphElement>>;
22
+ export interface DialogCloseProps extends BaseDialogCloseProps {
23
+ /** 圖示控制項位於面板角落;動作控制項則參與內容排版。 */
24
+ variant?: "icon" | "action";
25
+ }
26
+ export declare const DialogClose: import('react').ForwardRefExoticComponent<Omit<DialogCloseProps, "ref"> & RefAttributes<HTMLButtonElement>>;
27
+ export type DialogHeaderProps = HTMLAttributes<HTMLDivElement>;
28
+ export declare const DialogHeader: import('react').ForwardRefExoticComponent<DialogHeaderProps & RefAttributes<HTMLDivElement>>;
29
+ export type DialogBodyProps = HTMLAttributes<HTMLDivElement>;
30
+ export declare const DialogBody: import('react').ForwardRefExoticComponent<DialogBodyProps & RefAttributes<HTMLDivElement>>;
31
+ export type DialogFooterProps = HTMLAttributes<HTMLDivElement>;
32
+ export declare const DialogFooter: import('react').ForwardRefExoticComponent<DialogFooterProps & RefAttributes<HTMLDivElement>>;
33
+ export declare const Dialog: {
34
+ readonly Root: typeof DialogRoot;
35
+ readonly Trigger: typeof DialogTrigger;
36
+ readonly Portal: import('react').ForwardRefExoticComponent<Omit<DialogPortalProps, "ref"> & RefAttributes<HTMLDivElement>>;
37
+ readonly Backdrop: import('react').ForwardRefExoticComponent<Omit<DialogBackdropProps, "ref"> & RefAttributes<HTMLDivElement>>;
38
+ readonly Viewport: import('react').ForwardRefExoticComponent<Omit<DialogViewportProps, "ref"> & RefAttributes<HTMLDivElement>>;
39
+ readonly Popup: import('react').ForwardRefExoticComponent<Omit<DialogPopupProps, "ref"> & RefAttributes<HTMLDivElement>>;
40
+ readonly Header: import('react').ForwardRefExoticComponent<DialogHeaderProps & RefAttributes<HTMLDivElement>>;
41
+ readonly Body: import('react').ForwardRefExoticComponent<DialogBodyProps & RefAttributes<HTMLDivElement>>;
42
+ readonly Footer: import('react').ForwardRefExoticComponent<DialogFooterProps & RefAttributes<HTMLDivElement>>;
43
+ readonly Title: import('react').ForwardRefExoticComponent<Omit<DialogTitleProps, "ref"> & RefAttributes<HTMLHeadingElement>>;
44
+ readonly Description: import('react').ForwardRefExoticComponent<Omit<DialogDescriptionProps, "ref"> & RefAttributes<HTMLParagraphElement>>;
45
+ readonly Close: import('react').ForwardRefExoticComponent<Omit<DialogCloseProps, "ref"> & RefAttributes<HTMLButtonElement>>;
46
+ readonly createHandle: typeof BaseDialog.createHandle;
47
+ readonly Handle: typeof BaseDialog.Handle;
48
+ };
49
+ /** Base UI 的 Dialog 預設為強制回應;Modal 是用途明確的別名。 */
50
+ export declare const Modal: {
51
+ readonly Root: typeof DialogRoot;
52
+ readonly Trigger: typeof DialogTrigger;
53
+ readonly Portal: import('react').ForwardRefExoticComponent<Omit<DialogPortalProps, "ref"> & RefAttributes<HTMLDivElement>>;
54
+ readonly Backdrop: import('react').ForwardRefExoticComponent<Omit<DialogBackdropProps, "ref"> & RefAttributes<HTMLDivElement>>;
55
+ readonly Viewport: import('react').ForwardRefExoticComponent<Omit<DialogViewportProps, "ref"> & RefAttributes<HTMLDivElement>>;
56
+ readonly Popup: import('react').ForwardRefExoticComponent<Omit<DialogPopupProps, "ref"> & RefAttributes<HTMLDivElement>>;
57
+ readonly Header: import('react').ForwardRefExoticComponent<DialogHeaderProps & RefAttributes<HTMLDivElement>>;
58
+ readonly Body: import('react').ForwardRefExoticComponent<DialogBodyProps & RefAttributes<HTMLDivElement>>;
59
+ readonly Footer: import('react').ForwardRefExoticComponent<DialogFooterProps & RefAttributes<HTMLDivElement>>;
60
+ readonly Title: import('react').ForwardRefExoticComponent<Omit<DialogTitleProps, "ref"> & RefAttributes<HTMLHeadingElement>>;
61
+ readonly Description: import('react').ForwardRefExoticComponent<Omit<DialogDescriptionProps, "ref"> & RefAttributes<HTMLParagraphElement>>;
62
+ readonly Close: import('react').ForwardRefExoticComponent<Omit<DialogCloseProps, "ref"> & RefAttributes<HTMLButtonElement>>;
63
+ readonly createHandle: typeof BaseDialog.createHandle;
64
+ readonly Handle: typeof BaseDialog.Handle;
65
+ };
66
+ export declare function AlertDialogRoot<Payload = unknown>(props: AlertDialogRootProps<Payload>): JSX.Element;
67
+ export declare function AlertDialogTrigger<Payload = unknown>({ className, ...props }: AlertDialogTriggerProps<Payload> & RefAttributes<HTMLElement>): JSX.Element;
68
+ export interface AlertDialogPopupProps extends BaseDialogPopupProps {
69
+ /** 內建取消/關閉控制項的無障礙標籤。 */
70
+ closeLabel?: string;
71
+ /** 傳給內建取消/關閉控制項的屬性。 */
72
+ closeProps?: Omit<DialogCloseProps, "children">;
73
+ /** 僅在彈出內容另有可存取的 AlertDialog.Close 時設定。 */
74
+ hasCustomClose?: boolean;
75
+ }
76
+ export declare const AlertDialogPopup: import('react').ForwardRefExoticComponent<Omit<AlertDialogPopupProps, "ref"> & RefAttributes<HTMLDivElement>>;
77
+ export declare const AlertDialogClose: import('react').ForwardRefExoticComponent<Omit<DialogCloseProps, "ref"> & RefAttributes<HTMLButtonElement>>;
78
+ export interface AlertDialogActionsProps extends HTMLAttributes<HTMLDivElement> {
79
+ children?: ReactNode;
80
+ }
81
+ export declare const AlertDialogActions: import('react').ForwardRefExoticComponent<AlertDialogActionsProps & RefAttributes<HTMLDivElement>>;
82
+ export declare const AlertDialog: {
83
+ readonly Root: typeof AlertDialogRoot;
84
+ readonly Trigger: typeof AlertDialogTrigger;
85
+ readonly Portal: import('react').ForwardRefExoticComponent<Omit<DialogPortalProps, "ref"> & RefAttributes<HTMLDivElement>>;
86
+ readonly Backdrop: import('react').ForwardRefExoticComponent<Omit<DialogBackdropProps, "ref"> & RefAttributes<HTMLDivElement>>;
87
+ readonly Viewport: import('react').ForwardRefExoticComponent<Omit<DialogViewportProps, "ref"> & RefAttributes<HTMLDivElement>>;
88
+ readonly Popup: import('react').ForwardRefExoticComponent<Omit<AlertDialogPopupProps, "ref"> & RefAttributes<HTMLDivElement>>;
89
+ readonly Header: import('react').ForwardRefExoticComponent<DialogHeaderProps & RefAttributes<HTMLDivElement>>;
90
+ readonly Body: import('react').ForwardRefExoticComponent<DialogBodyProps & RefAttributes<HTMLDivElement>>;
91
+ readonly Footer: import('react').ForwardRefExoticComponent<DialogFooterProps & RefAttributes<HTMLDivElement>>;
92
+ readonly Actions: import('react').ForwardRefExoticComponent<AlertDialogActionsProps & RefAttributes<HTMLDivElement>>;
93
+ readonly Title: import('react').ForwardRefExoticComponent<Omit<DialogTitleProps, "ref"> & RefAttributes<HTMLHeadingElement>>;
94
+ readonly Description: import('react').ForwardRefExoticComponent<Omit<DialogDescriptionProps, "ref"> & RefAttributes<HTMLParagraphElement>>;
95
+ readonly Close: import('react').ForwardRefExoticComponent<Omit<DialogCloseProps, "ref"> & RefAttributes<HTMLButtonElement>>;
96
+ readonly createHandle: typeof BaseAlertDialog.createHandle;
97
+ readonly Handle: typeof BaseAlertDialog.Handle;
98
+ };
@@ -0,0 +1,158 @@
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";
7
+ //#region src/components/overlays/dialog.tsx
8
+ function s() {
9
+ return /* @__PURE__ */ n(i, {
10
+ "aria-hidden": "true",
11
+ className: "lyds-overlayClose__glyph",
12
+ weight: "bold"
13
+ });
14
+ }
15
+ function c(e) {
16
+ return /* @__PURE__ */ n(a.Root, { ...e });
17
+ }
18
+ function l({ className: t, ...r }) {
19
+ return /* @__PURE__ */ n(a.Trigger, {
20
+ ...r,
21
+ className: e("lyds-dialog__trigger", t)
22
+ });
23
+ }
24
+ var u = t(function(e, t) {
25
+ return /* @__PURE__ */ n(a.Portal, {
26
+ ...e,
27
+ ref: t
28
+ });
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)
40
+ });
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)
56
+ });
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)
62
+ });
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, {
65
+ ...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"
76
+ });
77
+ }), v = t(function({ className: e, ...t }, r) {
78
+ return /* @__PURE__ */ n("div", {
79
+ ...t,
80
+ ref: r,
81
+ className: e ? `lyds-dialog__body ${e}` : "lyds-dialog__body"
82
+ });
83
+ }), y = t(function({ className: e, ...t }, r) {
84
+ return /* @__PURE__ */ n("div", {
85
+ ...t,
86
+ 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, {
110
+ ...r,
111
+ className: e("lyds-alertDialog__trigger", t)
112
+ });
113
+ }
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,
117
+ 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
154
+ };
155
+ //#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 };
157
+
158
+ //# sourceMappingURL=dialog.js.map
@@ -0,0 +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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"}
@@ -0,0 +1,40 @@
1
+ import { AccordionHeaderProps, AccordionItemProps, AccordionPanelProps, AccordionRootProps, AccordionTriggerProps } from '@base-ui/react/accordion';
2
+ import { CollapsiblePanelProps, CollapsibleRootProps, CollapsibleTriggerProps } from '@base-ui/react/collapsible';
3
+ import { TabsIndicatorProps, TabsListProps, TabsPanelProps, TabsRootProps, TabsTabProps } from '@base-ui/react/tabs';
4
+ import { JSX } from 'react';
5
+ export type { AccordionRootChangeEventDetails } from '@base-ui/react/accordion';
6
+ export type { CollapsibleRootChangeEventDetails } from '@base-ui/react/collapsible';
7
+ export type { TabsRootChangeEventDetails } from '@base-ui/react/tabs';
8
+ export declare function AccordionRoot<Value = string>(props: AccordionRootProps<Value>): JSX.Element;
9
+ export declare const AccordionItem: import('react').ForwardRefExoticComponent<Omit<AccordionItemProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
10
+ export declare const AccordionHeader: import('react').ForwardRefExoticComponent<Omit<AccordionHeaderProps, "ref"> & import('react').RefAttributes<HTMLHeadingElement>>;
11
+ export declare const AccordionTrigger: import('react').ForwardRefExoticComponent<Omit<AccordionTriggerProps, "ref"> & import('react').RefAttributes<HTMLElement>>;
12
+ export declare const AccordionPanel: import('react').ForwardRefExoticComponent<Omit<AccordionPanelProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
13
+ export declare const Accordion: {
14
+ readonly Root: typeof AccordionRoot;
15
+ readonly Item: import('react').ForwardRefExoticComponent<Omit<AccordionItemProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
16
+ readonly Header: import('react').ForwardRefExoticComponent<Omit<AccordionHeaderProps, "ref"> & import('react').RefAttributes<HTMLHeadingElement>>;
17
+ readonly Trigger: import('react').ForwardRefExoticComponent<Omit<AccordionTriggerProps, "ref"> & import('react').RefAttributes<HTMLElement>>;
18
+ readonly Panel: import('react').ForwardRefExoticComponent<Omit<AccordionPanelProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
19
+ };
20
+ export declare const CollapsibleRoot: import('react').ForwardRefExoticComponent<Omit<CollapsibleRootProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
21
+ export declare const CollapsibleTrigger: import('react').ForwardRefExoticComponent<Omit<CollapsibleTriggerProps, "ref"> & import('react').RefAttributes<HTMLButtonElement>>;
22
+ export declare const CollapsiblePanel: import('react').ForwardRefExoticComponent<Omit<CollapsiblePanelProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
23
+ export declare const Collapsible: {
24
+ readonly Root: import('react').ForwardRefExoticComponent<Omit<CollapsibleRootProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
25
+ readonly Trigger: import('react').ForwardRefExoticComponent<Omit<CollapsibleTriggerProps, "ref"> & import('react').RefAttributes<HTMLButtonElement>>;
26
+ readonly Panel: import('react').ForwardRefExoticComponent<Omit<CollapsiblePanelProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
27
+ };
28
+ export declare const TabsRoot: import('react').ForwardRefExoticComponent<Omit<TabsRootProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
29
+ export declare const TabsList: import('react').ForwardRefExoticComponent<Omit<TabsListProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
30
+ export declare const TabsTab: import('react').ForwardRefExoticComponent<Omit<TabsTabProps, "ref"> & import('react').RefAttributes<HTMLElement>>;
31
+ /** Base UI 指示器的進階自訂介面。作用中的分頁已有自身選取樣式,因此 Linyao Design System 預設隱藏此元件。 */
32
+ export declare const TabsIndicator: import('react').ForwardRefExoticComponent<Omit<TabsIndicatorProps, "ref"> & import('react').RefAttributes<HTMLSpanElement>>;
33
+ export declare const TabsPanel: import('react').ForwardRefExoticComponent<Omit<TabsPanelProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
34
+ export declare const Tabs: {
35
+ readonly Root: import('react').ForwardRefExoticComponent<Omit<TabsRootProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
36
+ readonly List: import('react').ForwardRefExoticComponent<Omit<TabsListProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
37
+ readonly Tab: import('react').ForwardRefExoticComponent<Omit<TabsTabProps, "ref"> & import('react').RefAttributes<HTMLElement>>;
38
+ readonly Indicator: import('react').ForwardRefExoticComponent<Omit<TabsIndicatorProps, "ref"> & import('react').RefAttributes<HTMLSpanElement>>;
39
+ readonly Panel: import('react').ForwardRefExoticComponent<Omit<TabsPanelProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
40
+ };
@@ -0,0 +1,138 @@
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 { CaretDownIcon as i } from "@phosphor-icons/react/dist/csr/CaretDown";
5
+ import { Accordion as a } from "@base-ui/react/accordion";
6
+ import { Collapsible as o } from "@base-ui/react/collapsible";
7
+ import { Tabs as s } from "@base-ui/react/tabs";
8
+ //#region src/components/overlays/disclosure.tsx
9
+ function c(t) {
10
+ let { className: r, ...i } = t;
11
+ return /* @__PURE__ */ n(a.Root, {
12
+ ...i,
13
+ className: e("lyds-accordion", r)
14
+ });
15
+ }
16
+ var l = t(function({ className: t, ...r }, i) {
17
+ return /* @__PURE__ */ n(a.Item, {
18
+ ...r,
19
+ ref: i,
20
+ className: e("lyds-accordion__item", t)
21
+ });
22
+ }), u = t(function({ className: t, ...r }, i) {
23
+ return /* @__PURE__ */ n(a.Header, {
24
+ ...r,
25
+ ref: i,
26
+ className: e("lyds-accordion__header", t)
27
+ });
28
+ }), d = t(function({ children: t, className: o, ...s }, c) {
29
+ return /* @__PURE__ */ r(a.Trigger, {
30
+ ...s,
31
+ ref: c,
32
+ className: e("lyds-accordion__trigger", o),
33
+ children: [/* @__PURE__ */ n("span", {
34
+ className: "lyds-accordion__label",
35
+ children: t
36
+ }), /* @__PURE__ */ n("span", {
37
+ className: "lyds-accordion__indicator",
38
+ "aria-hidden": "true",
39
+ children: /* @__PURE__ */ n(i, {
40
+ "aria-hidden": "true",
41
+ weight: "bold"
42
+ })
43
+ })]
44
+ });
45
+ }), f = t(function({ children: t, className: r, ...i }, o) {
46
+ return /* @__PURE__ */ n(a.Panel, {
47
+ ...i,
48
+ ref: o,
49
+ className: e("lyds-accordion__panel", r),
50
+ children: /* @__PURE__ */ n("div", {
51
+ className: "lyds-accordion__panelContent",
52
+ children: t
53
+ })
54
+ });
55
+ }), p = {
56
+ Root: c,
57
+ Item: l,
58
+ Header: u,
59
+ Trigger: d,
60
+ Panel: f
61
+ }, m = t(function({ className: t, ...r }, i) {
62
+ return /* @__PURE__ */ n(o.Root, {
63
+ ...r,
64
+ ref: i,
65
+ className: e("lyds-collapsible", t)
66
+ });
67
+ }), h = t(function({ children: t, className: a, ...s }, c) {
68
+ return /* @__PURE__ */ r(o.Trigger, {
69
+ ...s,
70
+ ref: c,
71
+ className: e("lyds-collapsible__trigger", a),
72
+ children: [/* @__PURE__ */ n("span", {
73
+ className: "lyds-collapsible__label",
74
+ children: t
75
+ }), /* @__PURE__ */ n("span", {
76
+ className: "lyds-collapsible__indicator",
77
+ "aria-hidden": "true",
78
+ children: /* @__PURE__ */ n(i, {
79
+ "aria-hidden": "true",
80
+ weight: "bold"
81
+ })
82
+ })]
83
+ });
84
+ }), g = t(function({ children: t, className: r, ...i }, a) {
85
+ return /* @__PURE__ */ n(o.Panel, {
86
+ ...i,
87
+ ref: a,
88
+ className: e("lyds-collapsible__panel", r),
89
+ children: /* @__PURE__ */ n("div", {
90
+ className: "lyds-collapsible__panelContent",
91
+ children: t
92
+ })
93
+ });
94
+ }), _ = {
95
+ Root: m,
96
+ Trigger: h,
97
+ Panel: g
98
+ }, v = t(function({ className: t, ...r }, i) {
99
+ return /* @__PURE__ */ n(s.Root, {
100
+ ...r,
101
+ ref: i,
102
+ className: e("lyds-tabs", t)
103
+ });
104
+ }), y = t(function({ className: t, ...r }, i) {
105
+ return /* @__PURE__ */ n(s.List, {
106
+ ...r,
107
+ ref: i,
108
+ className: e("lyds-tabs__list", t)
109
+ });
110
+ }), b = t(function({ className: t, ...r }, i) {
111
+ return /* @__PURE__ */ n(s.Tab, {
112
+ ...r,
113
+ ref: i,
114
+ className: e("lyds-tabs__tab", t)
115
+ });
116
+ }), x = t(function({ className: t, ...r }, i) {
117
+ return /* @__PURE__ */ n(s.Indicator, {
118
+ ...r,
119
+ ref: i,
120
+ className: e("lyds-tabs__indicator", t)
121
+ });
122
+ }), S = t(function({ className: t, ...r }, i) {
123
+ return /* @__PURE__ */ n(s.Panel, {
124
+ ...r,
125
+ ref: i,
126
+ className: e("lyds-tabs__panel", t)
127
+ });
128
+ }), C = {
129
+ Root: v,
130
+ List: y,
131
+ Tab: b,
132
+ Indicator: x,
133
+ Panel: S
134
+ };
135
+ //#endregion
136
+ export { p as Accordion, u as AccordionHeader, l as AccordionItem, f as AccordionPanel, c as AccordionRoot, d as AccordionTrigger, _ as Collapsible, g as CollapsiblePanel, m as CollapsibleRoot, h as CollapsibleTrigger, C as Tabs, x as TabsIndicator, y as TabsList, S as TabsPanel, v as TabsRoot, b as TabsTab };
137
+
138
+ //# sourceMappingURL=disclosure.js.map
@@ -0,0 +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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"}