arxatec-ui 0.1.71 → 0.1.72

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 (203) hide show
  1. package/README.md +277 -9
  2. package/dist/arxatec-ui.css +1 -1
  3. package/dist/components/autosave_field_status/index.d.ts +5 -0
  4. package/dist/components/autosave_field_status/index.js +12 -0
  5. package/dist/components/autosave_field_status/index.js.map +1 -0
  6. package/dist/components/autosave_status/constants/index.d.ts +1 -0
  7. package/dist/components/autosave_status/constants/index.js +6 -0
  8. package/dist/components/autosave_status/constants/index.js.map +1 -0
  9. package/dist/components/autosave_status/index.d.ts +9 -0
  10. package/dist/components/autosave_status/index.js +46 -0
  11. package/dist/components/autosave_status/index.js.map +1 -0
  12. package/dist/components/autosave_status/types/index.d.ts +2 -0
  13. package/dist/components/editable_fields/context/index.d.ts +31 -0
  14. package/dist/components/editable_fields/context/index.js +30 -0
  15. package/dist/components/editable_fields/context/index.js.map +1 -0
  16. package/dist/components/editable_fields/hooks/index.d.ts +1 -0
  17. package/dist/components/editable_fields/hooks/index.js +8 -0
  18. package/dist/components/editable_fields/hooks/index.js.map +1 -0
  19. package/dist/components/editable_fields/index.d.ts +3 -0
  20. package/dist/components/editable_fields/index.js +32 -0
  21. package/dist/components/editable_fields/index.js.map +1 -0
  22. package/dist/components/emoji_picker/components/emoji_picker_content/index.d.ts +3 -1
  23. package/dist/components/emoji_picker/components/emoji_picker_content/index.js +3 -3
  24. package/dist/components/emoji_picker/components/emoji_picker_content/index.js.map +1 -1
  25. package/dist/components/emoji_picker/components/emoji_picker_footer/index.d.ts +3 -1
  26. package/dist/components/emoji_picker/components/emoji_picker_footer/index.js +3 -3
  27. package/dist/components/emoji_picker/components/emoji_picker_footer/index.js.map +1 -1
  28. package/dist/components/file_explorer/constants/index.d.ts +1 -0
  29. package/dist/components/file_explorer/constants/index.js +6 -0
  30. package/dist/components/file_explorer/constants/index.js.map +1 -0
  31. package/dist/components/file_explorer/explorer_breadcrumb/index.d.ts +9 -0
  32. package/dist/components/file_explorer/explorer_breadcrumb/index.js +21 -0
  33. package/dist/components/file_explorer/explorer_breadcrumb/index.js.map +1 -0
  34. package/dist/components/file_explorer/explorer_empty_state/index.d.ts +9 -0
  35. package/dist/components/file_explorer/explorer_empty_state/index.js +32 -0
  36. package/dist/components/file_explorer/explorer_empty_state/index.js.map +1 -0
  37. package/dist/components/file_explorer/explorer_error_state/index.d.ts +6 -0
  38. package/dist/components/file_explorer/explorer_error_state/index.js +18 -0
  39. package/dist/components/file_explorer/explorer_error_state/index.js.map +1 -0
  40. package/dist/components/file_explorer/explorer_grid/index.d.ts +10 -0
  41. package/dist/components/file_explorer/explorer_grid/index.js +21 -0
  42. package/dist/components/file_explorer/explorer_grid/index.js.map +1 -0
  43. package/dist/components/file_explorer/explorer_grid_card/index.d.ts +25 -0
  44. package/dist/components/file_explorer/explorer_grid_card/index.js +79 -0
  45. package/dist/components/file_explorer/explorer_grid_card/index.js.map +1 -0
  46. package/dist/components/file_explorer/explorer_loading_state/index.d.ts +4 -0
  47. package/dist/components/file_explorer/explorer_loading_state/index.js +9 -0
  48. package/dist/components/file_explorer/explorer_loading_state/index.js.map +1 -0
  49. package/dist/components/file_explorer/explorer_name_cell/index.d.ts +12 -0
  50. package/dist/components/file_explorer/explorer_name_cell/index.js +32 -0
  51. package/dist/components/file_explorer/explorer_name_cell/index.js.map +1 -0
  52. package/dist/components/file_explorer/explorer_panel/index.d.ts +11 -0
  53. package/dist/components/file_explorer/explorer_panel/index.js +17 -0
  54. package/dist/components/file_explorer/explorer_panel/index.js.map +1 -0
  55. package/dist/components/file_explorer/explorer_row/index.d.ts +18 -0
  56. package/dist/components/file_explorer/explorer_row/index.js +39 -0
  57. package/dist/components/file_explorer/explorer_row/index.js.map +1 -0
  58. package/dist/components/file_explorer/explorer_table/index.d.ts +20 -0
  59. package/dist/components/file_explorer/explorer_table/index.js +63 -0
  60. package/dist/components/file_explorer/explorer_table/index.js.map +1 -0
  61. package/dist/components/file_explorer/index.d.ts +26 -0
  62. package/dist/components/file_explorer/item_actions/index.d.ts +3 -0
  63. package/dist/components/file_explorer/item_actions/item_actions_context_content/index.d.ts +5 -0
  64. package/dist/components/file_explorer/item_actions/item_actions_context_content/index.js +21 -0
  65. package/dist/components/file_explorer/item_actions/item_actions_context_content/index.js.map +1 -0
  66. package/dist/components/file_explorer/item_actions/item_actions_dropdown/index.d.ts +7 -0
  67. package/dist/components/file_explorer/item_actions/item_actions_dropdown/index.js +38 -0
  68. package/dist/components/file_explorer/item_actions/item_actions_dropdown/index.js.map +1 -0
  69. package/dist/components/file_explorer/item_actions/types/index.d.ts +9 -0
  70. package/dist/components/file_explorer/item_actions/utils/index.d.ts +2 -0
  71. package/dist/components/file_explorer/item_actions/utils/index.js +6 -0
  72. package/dist/components/file_explorer/item_actions/utils/index.js.map +1 -0
  73. package/dist/components/file_explorer/shared/utils/index.d.ts +2 -0
  74. package/dist/components/file_explorer/shared/utils/index.js +8 -0
  75. package/dist/components/file_explorer/shared/utils/index.js.map +1 -0
  76. package/dist/components/file_explorer/types/index.d.ts +1 -0
  77. package/dist/components/file_thumbnail/index.d.ts +12 -0
  78. package/dist/components/file_thumbnail/index.js +35 -0
  79. package/dist/components/file_thumbnail/index.js.map +1 -0
  80. package/dist/components/file_type_icon/file_kind/index.d.ts +13 -0
  81. package/dist/components/file_type_icon/file_kind/index.js +178 -0
  82. package/dist/components/file_type_icon/file_kind/index.js.map +1 -0
  83. package/dist/components/file_type_icon/file_kind/mime_extensions.d.ts +2 -0
  84. package/dist/components/file_type_icon/file_kind/mime_extensions.js +54 -0
  85. package/dist/components/file_type_icon/file_kind/mime_extensions.js.map +1 -0
  86. package/dist/components/file_type_icon/file_type_icon.d.ts +6 -0
  87. package/dist/components/file_type_icon/file_type_icon.js +67 -0
  88. package/dist/components/file_type_icon/file_type_icon.js.map +1 -0
  89. package/dist/components/file_type_icon/index.d.ts +4 -0
  90. package/dist/components/folder_icon/constants/index.d.ts +11 -0
  91. package/dist/components/folder_icon/constants/index.js +41 -0
  92. package/dist/components/folder_icon/constants/index.js.map +1 -0
  93. package/dist/components/folder_icon/index.d.ts +8 -0
  94. package/dist/components/folder_icon/index.js +31 -0
  95. package/dist/components/folder_icon/index.js.map +1 -0
  96. package/dist/components/hex_color_picker/hex_color_picker_content/index.d.ts +12 -0
  97. package/dist/components/hex_color_picker/hex_color_picker_content/index.js +42 -0
  98. package/dist/components/hex_color_picker/hex_color_picker_content/index.js.map +1 -0
  99. package/dist/components/hex_color_picker/hex_color_picker_popover/index.d.ts +11 -0
  100. package/dist/components/hex_color_picker/hex_color_picker_popover/index.js +35 -0
  101. package/dist/components/hex_color_picker/hex_color_picker_popover/index.js.map +1 -0
  102. package/dist/components/hex_color_picker/index.d.ts +2 -0
  103. package/dist/components/hex_color_picker/utils/index.d.ts +3 -0
  104. package/dist/components/hex_color_picker/utils/index.js +35 -0
  105. package/dist/components/hex_color_picker/utils/index.js.map +1 -0
  106. package/dist/components/icon_emoji_picker/icon_emoji/index.d.ts +5 -0
  107. package/dist/components/icon_emoji_picker/icon_emoji/index.js +19 -0
  108. package/dist/components/icon_emoji_picker/icon_emoji/index.js.map +1 -0
  109. package/dist/components/icon_emoji_picker/icon_emoji_picker/index.d.ts +23 -0
  110. package/dist/components/icon_emoji_picker/icon_emoji_picker/index.js +91 -0
  111. package/dist/components/icon_emoji_picker/icon_emoji_picker/index.js.map +1 -0
  112. package/dist/components/icon_emoji_picker/icon_grid/constants/index.d.ts +3 -0
  113. package/dist/components/icon_emoji_picker/icon_grid/constants/index.js +6 -0
  114. package/dist/components/icon_emoji_picker/icon_grid/constants/index.js.map +1 -0
  115. package/dist/components/icon_emoji_picker/icon_grid/hooks/index.d.ts +1 -0
  116. package/dist/components/icon_emoji_picker/icon_grid/hooks/use_icon_pagination/index.d.ts +7 -0
  117. package/dist/components/icon_emoji_picker/icon_grid/hooks/use_icon_pagination/index.js +35 -0
  118. package/dist/components/icon_emoji_picker/icon_grid/hooks/use_icon_pagination/index.js.map +1 -0
  119. package/dist/components/icon_emoji_picker/icon_grid/index.d.ts +8 -0
  120. package/dist/components/icon_emoji_picker/icon_grid/index.js +49 -0
  121. package/dist/components/icon_emoji_picker/icon_grid/index.js.map +1 -0
  122. package/dist/components/icon_emoji_picker/index.d.ts +3 -0
  123. package/dist/components/icon_emoji_picker/utils/index.d.ts +1 -0
  124. package/dist/components/icon_emoji_picker/utils/index.js +6 -0
  125. package/dist/components/icon_emoji_picker/utils/index.js.map +1 -0
  126. package/dist/components/icons/components/google_calendar_isotype/index.d.ts +2 -0
  127. package/dist/components/icons/components/google_calendar_isotype/index.js +414 -0
  128. package/dist/components/icons/components/google_calendar_isotype/index.js.map +1 -0
  129. package/dist/components/icons/components/google_drive_isotype/index.d.ts +2 -0
  130. package/dist/components/icons/components/google_drive_isotype/index.js +103 -0
  131. package/dist/components/icons/components/google_drive_isotype/index.js.map +1 -0
  132. package/dist/components/icons/components/index.d.ts +4 -0
  133. package/dist/components/icons/components/onedrive_isotype/index.d.ts +2 -0
  134. package/dist/components/icons/components/onedrive_isotype/index.js +246 -0
  135. package/dist/components/icons/components/onedrive_isotype/index.js.map +1 -0
  136. package/dist/components/icons/components/outlook_calendar_isotype/index.d.ts +2 -0
  137. package/dist/components/icons/components/outlook_calendar_isotype/index.js +378 -0
  138. package/dist/components/icons/components/outlook_calendar_isotype/index.js.map +1 -0
  139. package/dist/components/inline_date_field/index.d.ts +11 -0
  140. package/dist/components/inline_date_field/index.js +52 -0
  141. package/dist/components/inline_date_field/index.js.map +1 -0
  142. package/dist/components/inline_duration_field/components/duration_column/index.d.ts +8 -0
  143. package/dist/components/inline_duration_field/components/duration_column/index.js +47 -0
  144. package/dist/components/inline_duration_field/components/duration_column/index.js.map +1 -0
  145. package/dist/components/inline_duration_field/constants/index.d.ts +4 -0
  146. package/dist/components/inline_duration_field/constants/index.js +12 -0
  147. package/dist/components/inline_duration_field/constants/index.js.map +1 -0
  148. package/dist/components/inline_duration_field/index.d.ts +9 -0
  149. package/dist/components/inline_duration_field/index.js +89 -0
  150. package/dist/components/inline_duration_field/index.js.map +1 -0
  151. package/dist/components/inline_duration_field/utils/index.d.ts +11 -0
  152. package/dist/components/inline_duration_field/utils/index.js +21 -0
  153. package/dist/components/inline_duration_field/utils/index.js.map +1 -0
  154. package/dist/components/inline_editable_text/constants/index.d.ts +2 -0
  155. package/dist/components/inline_editable_text/constants/index.js +7 -0
  156. package/dist/components/inline_editable_text/constants/index.js.map +1 -0
  157. package/dist/components/inline_editable_text/index.d.ts +16 -0
  158. package/dist/components/inline_editable_text/index.js +109 -0
  159. package/dist/components/inline_editable_text/index.js.map +1 -0
  160. package/dist/components/inline_field_trigger/index.d.ts +3 -0
  161. package/dist/components/inline_field_trigger/index.js +16 -0
  162. package/dist/components/inline_field_trigger/index.js.map +1 -0
  163. package/dist/components/inline_markdown_field/index.d.ts +14 -0
  164. package/dist/components/inline_markdown_field/index.js +70 -0
  165. package/dist/components/inline_markdown_field/index.js.map +1 -0
  166. package/dist/components/inline_option_field/index.d.ts +19 -0
  167. package/dist/components/inline_option_field/index.js +56 -0
  168. package/dist/components/inline_option_field/index.js.map +1 -0
  169. package/dist/components/offline_banner/index.d.ts +12 -0
  170. package/dist/components/offline_banner/index.js +76 -0
  171. package/dist/components/offline_banner/index.js.map +1 -0
  172. package/dist/components/property_row/index.d.ts +10 -0
  173. package/dist/components/property_row/index.js +46 -0
  174. package/dist/components/property_row/index.js.map +1 -0
  175. package/dist/components/select_table_header/index.d.ts +13 -0
  176. package/dist/components/select_table_header/index.js +17 -0
  177. package/dist/components/select_table_header/index.js.map +1 -0
  178. package/dist/components/shiny_text/index.d.ts +7 -0
  179. package/dist/components/shiny_text/index.js +22 -0
  180. package/dist/components/shiny_text/index.js.map +1 -0
  181. package/dist/components/table_date_field/index.d.ts +8 -0
  182. package/dist/components/table_date_field/index.js +67 -0
  183. package/dist/components/table_date_field/index.js.map +1 -0
  184. package/dist/components/table_option_field/index.d.ts +13 -0
  185. package/dist/components/table_option_field/index.js +73 -0
  186. package/dist/components/table_option_field/index.js.map +1 -0
  187. package/dist/editable-fields.js +19 -0
  188. package/dist/exports/editable-fields.d.ts +19 -0
  189. package/dist/exports/icon-emoji-picker.d.ts +1 -0
  190. package/dist/exports/offline-banner.d.ts +1 -0
  191. package/dist/exports/provider-icons.d.ts +4 -0
  192. package/dist/exports/shiny-text.d.ts +1 -0
  193. package/dist/icon-emoji-picker.js +4 -0
  194. package/dist/index.d.ts +8 -0
  195. package/dist/index.js +85 -40
  196. package/dist/offline-banner.js +2 -0
  197. package/dist/provider-icons.js +5 -0
  198. package/dist/shiny-text.js +2 -0
  199. package/dist/styles.css +40 -1
  200. package/dist/utilities/colors/index.d.ts +1 -0
  201. package/dist/utilities/colors/index.js +9 -0
  202. package/dist/utilities/colors/index.js.map +1 -0
  203. package/package.json +32 -3
@@ -2,10 +2,10 @@ import { cn as e } from "../../../../utilities/class/index.js";
2
2
  import { Fragment as t, jsx as n, jsxs as r } from "react/jsx-runtime";
3
3
  import { EmojiPicker as i } from "frimousse";
4
4
  //#region src/components/emoji_picker/components/emoji_picker_footer/index.tsx
5
- var a = ({ className: a, ...o }) => /* @__PURE__ */ n("div", {
5
+ var a = ({ className: a, emptyLabel: o = "Seleccionar un emoji…", ...s }) => /* @__PURE__ */ n("div", {
6
6
  className: e("max-w-(--frimousse-viewport-width) flex w-full min-w-0 items-center gap-1 border-t p-2", a),
7
7
  "data-slot": "emoji-picker-footer",
8
- ...o,
8
+ ...s,
9
9
  children: /* @__PURE__ */ n(i.ActiveEmoji, { children: ({ emoji: e }) => e ? /* @__PURE__ */ r(t, { children: [/* @__PURE__ */ n("div", {
10
10
  className: "flex size-7 flex-none items-center justify-center text-lg",
11
11
  children: e.emoji
@@ -14,7 +14,7 @@ var a = ({ className: a, ...o }) => /* @__PURE__ */ n("div", {
14
14
  children: e.label
15
15
  })] }) : /* @__PURE__ */ n("span", {
16
16
  className: "text-muted-foreground ml-1.5 flex h-7 items-center truncate text-xs",
17
- children: "Seleccionar un emoji…"
17
+ children: o
18
18
  }) })
19
19
  });
20
20
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/emoji_picker/components/emoji_picker_footer/index.tsx"],"sourcesContent":["import {\n EmojiPicker as EmojiPickerPrimitive\n} from \"frimousse\";\nimport type * as React from \"react\";\nimport { cn } from \"@/utilities/index\";\n\nconst EmojiPickerFooter = ({\n className,\n ...props\n}: React.ComponentProps<\"div\">) => {\n return (\n <div\n className={cn(\n \"max-w-(--frimousse-viewport-width) flex w-full min-w-0 items-center gap-1 border-t p-2\",\n className\n )}\n data-slot=\"emoji-picker-footer\"\n {...props}\n >\n <EmojiPickerPrimitive.ActiveEmoji>\n {({ emoji }) =>\n emoji ? (\n <>\n <div className=\"flex size-7 flex-none items-center justify-center text-lg\">\n {emoji.emoji}\n </div>\n <span className=\"text-secondary-foreground truncate text-xs\">\n {emoji.label}\n </span>\n </>\n ) : (\n <span className=\"text-muted-foreground ml-1.5 flex h-7 items-center truncate text-xs\">\n Seleccionar un emoji…\n </span>\n )\n }\n </EmojiPickerPrimitive.ActiveEmoji>\n </div>\n );\n};\n\nexport { EmojiPickerFooter };\n"],"mappings":";;;;AAMA,IAAM,KAAqB,EACzB,cACA,GAAG,QAGD,kBAAC,OAAD;CACE,WAAW,EACT,0FACA,EACD;CACD,aAAU;CACV,GAAI;WAEJ,kBAAC,EAAqB,aAAtB,EAAA,WACI,EAAE,eACF,IACE,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,OAAD;EAAK,WAAU;YACZ,EAAM;EACH,CAAA,EACN,kBAAC,QAAD;EAAM,WAAU;YACb,EAAM;EACF,CAAA,CACN,EAAA,CAAA,GAEH,kBAAC,QAAD;EAAM,WAAU;YAAsE;EAE/E,CAAA,EAGsB,CAAA;CAC/B,CAAA"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/emoji_picker/components/emoji_picker_footer/index.tsx"],"sourcesContent":["import { EmojiPicker as EmojiPickerPrimitive } from \"frimousse\";\nimport type * as React from \"react\";\nimport { cn } from \"@/utilities/index\";\n\nconst EmojiPickerFooter = ({\n className,\n emptyLabel = \"Seleccionar un emoji…\",\n ...props\n}: React.ComponentProps<\"div\"> & { emptyLabel?: React.ReactNode }) => {\n return (\n <div\n className={cn(\n \"max-w-(--frimousse-viewport-width) flex w-full min-w-0 items-center gap-1 border-t p-2\",\n className,\n )}\n data-slot=\"emoji-picker-footer\"\n {...props}\n >\n <EmojiPickerPrimitive.ActiveEmoji>\n {({ emoji }) =>\n emoji ? (\n <>\n <div className=\"flex size-7 flex-none items-center justify-center text-lg\">\n {emoji.emoji}\n </div>\n <span className=\"text-secondary-foreground truncate text-xs\">\n {emoji.label}\n </span>\n </>\n ) : (\n <span className=\"text-muted-foreground ml-1.5 flex h-7 items-center truncate text-xs\">\n {emptyLabel}\n </span>\n )\n }\n </EmojiPickerPrimitive.ActiveEmoji>\n </div>\n );\n};\n\nexport { EmojiPickerFooter };\n"],"mappings":";;;;AAIA,IAAM,KAAqB,EACzB,cACA,gBAAa,yBACb,GAAG,QAGD,kBAAC,OAAD;CACE,WAAW,EACT,0FACA,EACD;CACD,aAAU;CACV,GAAI;WAEJ,kBAAC,EAAqB,aAAtB,EAAA,WACI,EAAE,eACF,IACE,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,OAAD;EAAK,WAAU;YACZ,EAAM;EACH,CAAA,EACN,kBAAC,QAAD;EAAM,WAAU;YACb,EAAM;EACF,CAAA,CACN,EAAA,CAAA,GAEH,kBAAC,QAAD;EAAM,WAAU;YACb;EACI,CAAA,EAGsB,CAAA;CAC/B,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const EXPLORER_GRID_CLASS = "grid gap-3 grid-cols-[repeat(auto-fill,minmax(210px,1fr))]";
@@ -0,0 +1,6 @@
1
+ //#region src/components/file_explorer/constants/index.ts
2
+ var e = "grid gap-3 grid-cols-[repeat(auto-fill,minmax(210px,1fr))]";
3
+ //#endregion
4
+ export { e as EXPLORER_GRID_CLASS };
5
+
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/file_explorer/constants/index.ts"],"sourcesContent":["export const EXPLORER_GRID_CLASS =\n \"grid gap-3 grid-cols-[repeat(auto-fill,minmax(210px,1fr))]\";\n"],"mappings":";AAAA,IAAa,IACX"}
@@ -0,0 +1,9 @@
1
+ export interface ExplorerBreadcrumbItem {
2
+ name: string;
3
+ id: string | null;
4
+ }
5
+ export interface ExplorerBreadcrumbProps {
6
+ items: ExplorerBreadcrumbItem[];
7
+ onNavigate: (id: string | null, index: number) => void;
8
+ }
9
+ export declare const ExplorerBreadcrumb: ({ items, onNavigate, }: ExplorerBreadcrumbProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,21 @@
1
+ import { Breadcrumb as e } from "../../breadcrumb/components/breadcrumb/index.js";
2
+ import { BreadcrumbList as t } from "../../breadcrumb/components/breadcrumb_list/index.js";
3
+ import { BreadcrumbItem as n } from "../../breadcrumb/components/breadcrumb_item/index.js";
4
+ import { BreadcrumbLink as r } from "../../breadcrumb/components/breadcrumb_link/index.js";
5
+ import { BreadcrumbSeparator as i } from "../../breadcrumb/components/breadcrumb_separator/index.js";
6
+ import { Fragment as a } from "react";
7
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
8
+ //#region src/components/file_explorer/explorer_breadcrumb/index.tsx
9
+ var c = ({ items: c, onNavigate: l }) => /* @__PURE__ */ o(e, { children: /* @__PURE__ */ o(t, { children: c.map((e, t) => /* @__PURE__ */ s(a, { children: [/* @__PURE__ */ o(n, { children: /* @__PURE__ */ o(r, {
10
+ asChild: !0,
11
+ className: "text-base",
12
+ children: /* @__PURE__ */ o("button", {
13
+ type: "button",
14
+ onClick: () => l(e.id, t),
15
+ children: e.name
16
+ })
17
+ }) }), t < c.length - 1 && /* @__PURE__ */ o(i, {})] }, e.id ?? "root")) }) });
18
+ //#endregion
19
+ export { c as ExplorerBreadcrumb };
20
+
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/file_explorer/explorer_breadcrumb/index.tsx"],"sourcesContent":["import {\n Breadcrumb,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbSeparator,\n} from \"../../breadcrumb\";\nimport { Fragment } from \"react\";\n\nexport interface ExplorerBreadcrumbItem {\n name: string;\n id: string | null;\n}\n\nexport interface ExplorerBreadcrumbProps {\n items: ExplorerBreadcrumbItem[];\n onNavigate: (id: string | null, index: number) => void;\n}\n\nexport const ExplorerBreadcrumb = ({\n items,\n onNavigate,\n}: ExplorerBreadcrumbProps) => (\n <Breadcrumb>\n <BreadcrumbList>\n {items.map((item, idx) => (\n <Fragment key={item.id ?? \"root\"}>\n <BreadcrumbItem>\n <BreadcrumbLink asChild className=\"text-base\">\n <button type=\"button\" onClick={() => onNavigate(item.id, idx)}>\n {item.name}\n </button>\n </BreadcrumbLink>\n </BreadcrumbItem>\n {idx < items.length - 1 && <BreadcrumbSeparator />}\n </Fragment>\n ))}\n </BreadcrumbList>\n </Breadcrumb>\n);\n"],"mappings":";;;;;;;;AAmBA,IAAa,KAAsB,EACjC,UACA,oBAEA,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,EAAA,UACG,EAAM,KAAK,GAAM,MAChB,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;CAAgB,SAAA;CAAQ,WAAU;WAChC,kBAAC,UAAD;EAAQ,MAAK;EAAS,eAAe,EAAW,EAAK,IAAI,EAAI;YAC1D,EAAK;EACC,CAAA;CACM,CAAA,EACF,CAAA,EAChB,IAAM,EAAM,SAAS,KAAK,kBAAC,GAAD,EAAuB,CAAA,CACzC,EAAA,EATI,EAAK,MAAM,OASf,CACX,EACa,CAAA,EACN,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { LucideIcon } from 'lucide-react';
2
+ import { ComponentProps } from 'react';
3
+ export interface ExplorerEmptyStateProps extends ComponentProps<"div"> {
4
+ title: string;
5
+ description: string;
6
+ icon?: LucideIcon;
7
+ isDragging?: boolean;
8
+ }
9
+ export declare const ExplorerEmptyState: ({ title, description, icon: Icon, isDragging, className, ...rest }: ExplorerEmptyStateProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,32 @@
1
+ import { cn as e } from "../../../utilities/class/index.js";
2
+ import { jsx as t, jsxs as n } from "react/jsx-runtime";
3
+ import { FolderPlus as r } from "lucide-react";
4
+ //#region src/components/file_explorer/explorer_empty_state/index.tsx
5
+ var i = ({ title: i, description: a, icon: o = r, isDragging: s = !1, className: c, ...l }) => /* @__PURE__ */ t("div", {
6
+ className: e("flex h-[calc(100vh-80px)]! bg-status-card-background-empty w-full rounded-md transition-colors cursor-pointer border border-border", s && "bg-border", c),
7
+ ...l,
8
+ children: /* @__PURE__ */ t("div", {
9
+ className: "w-full flex items-center justify-center pointer-events-none",
10
+ children: /* @__PURE__ */ n("div", {
11
+ className: "max-w-sm w-full mx-auto items-center justify-center flex-col flex",
12
+ children: [
13
+ /* @__PURE__ */ t("div", {
14
+ className: e("size-12 rounded-md bg-status-card-background-icon-empty flex items-center justify-center transition", s && "rotate-12"),
15
+ children: /* @__PURE__ */ t(o, { className: "size-6" })
16
+ }),
17
+ /* @__PURE__ */ t("h2", {
18
+ className: "text-base font-normal text-foreground text-center mt-4",
19
+ children: i
20
+ }),
21
+ /* @__PURE__ */ t("p", {
22
+ className: "text-sm text-muted-foreground text-center",
23
+ children: a
24
+ })
25
+ ]
26
+ })
27
+ })
28
+ });
29
+ //#endregion
30
+ export { i as ExplorerEmptyState };
31
+
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/file_explorer/explorer_empty_state/index.tsx"],"sourcesContent":["import { FolderPlus, type LucideIcon } from \"lucide-react\";\nimport type { ComponentProps } from \"react\";\nimport { cn } from \"../../../utilities/class\";\n\nexport interface ExplorerEmptyStateProps extends ComponentProps<\"div\"> {\n title: string;\n description: string;\n icon?: LucideIcon;\n isDragging?: boolean;\n}\n\nexport const ExplorerEmptyState = ({\n title,\n description,\n icon: Icon = FolderPlus,\n isDragging = false,\n className,\n ...rest\n}: ExplorerEmptyStateProps) => (\n <div\n className={cn(\n \"flex h-[calc(100vh-80px)]! bg-status-card-background-empty w-full rounded-md transition-colors cursor-pointer border border-border\",\n isDragging && \"bg-border\",\n className,\n )}\n {...rest}\n >\n <div className=\"w-full flex items-center justify-center pointer-events-none\">\n <div className=\"max-w-sm w-full mx-auto items-center justify-center flex-col flex\">\n <div\n className={cn(\n \"size-12 rounded-md bg-status-card-background-icon-empty flex items-center justify-center transition\",\n isDragging && \"rotate-12\",\n )}\n >\n <Icon className=\"size-6\" />\n </div>\n\n <h2 className=\"text-base font-normal text-foreground text-center mt-4\">\n {title}\n </h2>\n\n <p className=\"text-sm text-muted-foreground text-center\">\n {description}\n </p>\n </div>\n </div>\n </div>\n);\n"],"mappings":";;;;AAWA,IAAa,KAAsB,EACjC,UACA,gBACA,MAAM,IAAO,GACb,gBAAa,IACb,cACA,GAAG,QAEH,kBAAC,OAAD;CACE,WAAW,EACT,sIACA,KAAc,aACd,EACD;CACD,GAAI;WAEJ,kBAAC,OAAD;EAAK,WAAU;YACb,kBAAC,OAAD;GAAK,WAAU;aAAf;IACE,kBAAC,OAAD;KACE,WAAW,EACT,uGACA,KAAc,YACf;eAED,kBAAC,GAAD,EAAM,WAAU,UAAW,CAAA;KACvB,CAAA;IAEN,kBAAC,MAAD;KAAI,WAAU;eACX;KACE,CAAA;IAEL,kBAAC,KAAD;KAAG,WAAU;eACV;KACC,CAAA;IACA;;EACF,CAAA;CACF,CAAA"}
@@ -0,0 +1,6 @@
1
+ export interface ExplorerErrorStateProps {
2
+ title: string;
3
+ description: string;
4
+ className?: string;
5
+ }
6
+ export declare const ExplorerErrorState: ({ title, description, className, }: ExplorerErrorStateProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,18 @@
1
+ import { cn as e } from "../../../utilities/class/index.js";
2
+ import { StatusMessage as t } from "../../status_message/index.js";
3
+ import { jsx as n } from "react/jsx-runtime";
4
+ import { FolderX as r } from "lucide-react";
5
+ //#region src/components/file_explorer/explorer_error_state/index.tsx
6
+ var i = ({ title: i, description: a, className: o }) => /* @__PURE__ */ n(t, {
7
+ title: i,
8
+ description: a,
9
+ icon: r,
10
+ classNameCard: e("w-full h-[calc(100vh-80px)] flex-col items-center justify-center", o),
11
+ classNameIconCard: "mx-auto",
12
+ classNameDescription: "text-center w-full",
13
+ classNameTitle: "text-center w-full"
14
+ });
15
+ //#endregion
16
+ export { i as ExplorerErrorState };
17
+
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/file_explorer/explorer_error_state/index.tsx"],"sourcesContent":["import { StatusMessage } from \"../../status_message\";\nimport { FolderX } from \"lucide-react\";\nimport { cn } from \"../../../utilities/class\";\n\nexport interface ExplorerErrorStateProps {\n title: string;\n description: string;\n className?: string;\n}\n\nexport const ExplorerErrorState = ({\n title,\n description,\n className,\n}: ExplorerErrorStateProps) => (\n <StatusMessage\n title={title}\n description={description}\n icon={FolderX}\n classNameCard={cn(\n \"w-full h-[calc(100vh-80px)] flex-col items-center justify-center\",\n className,\n )}\n classNameIconCard=\"mx-auto\"\n classNameDescription=\"text-center w-full\"\n classNameTitle=\"text-center w-full\"\n />\n);\n"],"mappings":";;;;;AAUA,IAAa,KAAsB,EACjC,UACA,gBACA,mBAEA,kBAAC,GAAD;CACS;CACM;CACb,MAAM;CACN,eAAe,EACb,oEACA,EACD;CACD,mBAAkB;CAClB,sBAAqB;CACrB,gBAAe;CACf,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { ReactNode, RefObject } from 'react';
2
+ export interface ExplorerGridProps {
3
+ selectableRef?: RefObject<HTMLDivElement | null>;
4
+ viewportRef?: RefObject<HTMLDivElement | null>;
5
+ className?: string;
6
+ overlay?: ReactNode;
7
+ after?: ReactNode;
8
+ children: ReactNode;
9
+ }
10
+ export declare const ExplorerGrid: ({ selectableRef, viewportRef, className, overlay, after, children, }: ExplorerGridProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,21 @@
1
+ import { cn as e } from "../../../utilities/class/index.js";
2
+ import { EXPLORER_GRID_CLASS as t } from "../constants/index.js";
3
+ import { ExplorerPanel as n } from "../explorer_panel/index.js";
4
+ import { jsx as r } from "react/jsx-runtime";
5
+ //#region src/components/file_explorer/explorer_grid/index.tsx
6
+ var i = ({ selectableRef: i, viewportRef: a, className: o, overlay: s, after: c, children: l }) => /* @__PURE__ */ r(n, {
7
+ bare: !0,
8
+ selectableRef: i,
9
+ viewportRef: a,
10
+ className: o,
11
+ overlay: s,
12
+ after: c,
13
+ children: /* @__PURE__ */ r("div", {
14
+ className: e("relative z-30 pb-3", t),
15
+ children: l
16
+ })
17
+ });
18
+ //#endregion
19
+ export { i as ExplorerGrid };
20
+
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/file_explorer/explorer_grid/index.tsx"],"sourcesContent":["import type { ReactNode, RefObject } from \"react\";\nimport { cn } from \"../../../utilities/class\";\nimport { EXPLORER_GRID_CLASS } from \"../constants\";\nimport { ExplorerPanel } from \"../explorer_panel\";\n\nexport interface ExplorerGridProps {\n selectableRef?: RefObject<HTMLDivElement | null>;\n viewportRef?: RefObject<HTMLDivElement | null>;\n className?: string;\n overlay?: ReactNode;\n after?: ReactNode;\n children: ReactNode;\n}\n\nexport const ExplorerGrid = ({\n selectableRef,\n viewportRef,\n className,\n overlay,\n after,\n children,\n}: ExplorerGridProps) => (\n <ExplorerPanel\n bare\n selectableRef={selectableRef}\n viewportRef={viewportRef}\n className={className}\n overlay={overlay}\n after={after}\n >\n <div className={cn(\"relative z-30 pb-3\", EXPLORER_GRID_CLASS)}>\n {children}\n </div>\n </ExplorerPanel>\n);\n"],"mappings":";;;;;AAcA,IAAa,KAAgB,EAC3B,kBACA,gBACA,cACA,YACA,UACA,kBAEA,kBAAC,GAAD;CACE,MAAA;CACe;CACF;CACF;CACF;CACF;WAEP,kBAAC,OAAD;EAAK,WAAW,EAAG,sBAAsB,EAAoB;EAC1D;EACG,CAAA;CACQ,CAAA"}
@@ -0,0 +1,25 @@
1
+ import { DragEvent, MouseEvent, ReactNode } from 'react';
2
+ import { ExplorerItemType } from '../types';
3
+ import { ExplorerAction } from '../item_actions';
4
+ export interface ExplorerGridCardProps {
5
+ id: string;
6
+ type: ExplorerItemType;
7
+ name: string;
8
+ icon: ReactNode;
9
+ preview: ReactNode;
10
+ meta?: ReactNode;
11
+ path?: string;
12
+ selected: boolean;
13
+ actions: ExplorerAction[];
14
+ actionsLabel?: string;
15
+ className?: string;
16
+ draggable?: boolean;
17
+ onClick?: (event: MouseEvent) => void;
18
+ onDoubleClick?: () => void;
19
+ onDragStart?: (event: DragEvent<HTMLDivElement>) => void;
20
+ onDragEnd?: (event: DragEvent<HTMLDivElement>) => void;
21
+ onDragOver?: (event: DragEvent<HTMLDivElement>) => void;
22
+ onDragLeave?: (event: DragEvent<HTMLDivElement>) => void;
23
+ onDrop?: (event: DragEvent<HTMLDivElement>) => void;
24
+ }
25
+ export declare const ExplorerGridCard: ({ id, type, name, icon, preview, meta, path, selected, actions, actionsLabel, className, draggable, onClick, onDoubleClick, onDragStart, onDragEnd, onDragOver, onDragLeave, onDrop, }: ExplorerGridCardProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,79 @@
1
+ import { cn as e } from "../../../utilities/class/index.js";
2
+ import { ContextMenu as t } from "../../context_menu/components/context_menu/index.js";
3
+ import { ContextMenuTrigger as n } from "../../context_menu/components/context_menu_trigger/index.js";
4
+ import { stopEvent as r } from "../shared/utils/index.js";
5
+ import { ItemActionsContextContent as i } from "../item_actions/item_actions_context_content/index.js";
6
+ import { ItemActionsDropdown as a } from "../item_actions/item_actions_dropdown/index.js";
7
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
8
+ //#region src/components/file_explorer/explorer_grid_card/index.tsx
9
+ var c = ({ id: c, type: l, name: u, icon: d, preview: f, meta: p, path: m, selected: h, actions: g, actionsLabel: _, className: v, draggable: y = !1, onClick: b, onDoubleClick: x, onDragStart: S, onDragEnd: C, onDragOver: w, onDragLeave: T, onDrop: E }) => {
10
+ let D = g.length > 0, O = /* @__PURE__ */ s("div", {
11
+ className: e("group flex cursor-pointer flex-col overflow-hidden rounded-md border bg-card transition-colors hover:bg-accent/40", h && "border-selector-background bg-selector-background text-selector-foreground hover:bg-selector-background", y && "cursor-grab active:cursor-grabbing", v),
12
+ "data-selectable-id": c,
13
+ "data-selectable-type": l,
14
+ "data-select-disable": y ? "true" : void 0,
15
+ draggable: y,
16
+ role: "button",
17
+ tabIndex: 0,
18
+ onClick: b,
19
+ onKeyDown: (e) => {
20
+ e.target === e.currentTarget && (e.key !== "Enter" && e.key !== " " || (e.key === " " && e.preventDefault(), b?.(e)));
21
+ },
22
+ onDoubleClick: x,
23
+ onDragStart: S,
24
+ onDragEnd: C,
25
+ onDragOver: w,
26
+ onDragLeave: T,
27
+ onDrop: E,
28
+ children: [
29
+ /* @__PURE__ */ s("div", {
30
+ className: "flex items-center gap-2 px-2.5 py-2",
31
+ children: [
32
+ /* @__PURE__ */ o("span", {
33
+ className: "flex shrink-0 [&_svg]:size-5",
34
+ children: d
35
+ }),
36
+ /* @__PURE__ */ s("span", {
37
+ className: "flex min-w-0 flex-1 flex-col",
38
+ children: [/* @__PURE__ */ o("p", {
39
+ className: "truncate whitespace-nowrap text-sm leading-4",
40
+ title: u,
41
+ children: u
42
+ }), m && /* @__PURE__ */ o("p", {
43
+ className: "truncate whitespace-nowrap text-sm leading-4 text-muted-foreground",
44
+ title: m,
45
+ children: m
46
+ })]
47
+ }),
48
+ D && /* @__PURE__ */ o("span", {
49
+ className: "shrink-0",
50
+ role: "presentation",
51
+ onClick: r,
52
+ onDoubleClick: r,
53
+ children: /* @__PURE__ */ o(a, {
54
+ actions: g,
55
+ label: _,
56
+ iconClassName: h ? "text-selector-foreground" : void 0
57
+ })
58
+ })
59
+ ]
60
+ }),
61
+ /* @__PURE__ */ o("div", {
62
+ className: "flex h-28 items-center justify-center border-t",
63
+ children: f
64
+ }),
65
+ p && /* @__PURE__ */ o("div", {
66
+ className: "truncate border-t px-2.5 py-1.5 text-sm text-muted-foreground",
67
+ children: p
68
+ })
69
+ ]
70
+ });
71
+ return D ? /* @__PURE__ */ s(t, { children: [/* @__PURE__ */ o(n, {
72
+ asChild: !0,
73
+ children: O
74
+ }), /* @__PURE__ */ o(i, { actions: g })] }) : O;
75
+ };
76
+ //#endregion
77
+ export { c as ExplorerGridCard };
78
+
79
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/file_explorer/explorer_grid_card/index.tsx"],"sourcesContent":["import { ContextMenu, ContextMenuTrigger } from \"../../context_menu\";\nimport type { DragEvent, MouseEvent, ReactNode } from \"react\";\nimport type { ExplorerItemType } from \"../types\";\nimport { cn } from \"../../../utilities/class\";\nimport {\n ItemActionsContextContent,\n ItemActionsDropdown,\n type ExplorerAction,\n} from \"../item_actions\";\nimport { stopEvent } from \"../shared/utils\";\n\nexport interface ExplorerGridCardProps {\n id: string;\n type: ExplorerItemType;\n name: string;\n icon: ReactNode;\n preview: ReactNode;\n meta?: ReactNode;\n path?: string;\n selected: boolean;\n actions: ExplorerAction[];\n actionsLabel?: string;\n className?: string;\n draggable?: boolean;\n onClick?: (event: MouseEvent) => void;\n onDoubleClick?: () => void;\n onDragStart?: (event: DragEvent<HTMLDivElement>) => void;\n onDragEnd?: (event: DragEvent<HTMLDivElement>) => void;\n onDragOver?: (event: DragEvent<HTMLDivElement>) => void;\n onDragLeave?: (event: DragEvent<HTMLDivElement>) => void;\n onDrop?: (event: DragEvent<HTMLDivElement>) => void;\n}\n\nexport const ExplorerGridCard = ({\n id,\n type,\n name,\n icon,\n preview,\n meta,\n path,\n selected,\n actions,\n actionsLabel,\n className,\n draggable = false,\n onClick,\n onDoubleClick,\n onDragStart,\n onDragEnd,\n onDragOver,\n onDragLeave,\n onDrop,\n}: ExplorerGridCardProps) => {\n const hasActions = actions.length > 0;\n\n const card = (\n <div\n className={cn(\n \"group flex cursor-pointer flex-col overflow-hidden rounded-md border bg-card transition-colors hover:bg-accent/40\",\n selected &&\n \"border-selector-background bg-selector-background text-selector-foreground hover:bg-selector-background\",\n draggable && \"cursor-grab active:cursor-grabbing\",\n className,\n )}\n data-selectable-id={id}\n data-selectable-type={type}\n data-select-disable={draggable ? \"true\" : undefined}\n draggable={draggable}\n role=\"button\"\n tabIndex={0}\n onClick={onClick}\n onKeyDown={(event) => {\n if (event.target !== event.currentTarget) return;\n if (event.key !== \"Enter\" && event.key !== \" \") return;\n if (event.key === \" \") event.preventDefault();\n onClick?.(event as unknown as MouseEvent);\n }}\n onDoubleClick={onDoubleClick}\n onDragStart={onDragStart}\n onDragEnd={onDragEnd}\n onDragOver={onDragOver}\n onDragLeave={onDragLeave}\n onDrop={onDrop}\n >\n <div className=\"flex items-center gap-2 px-2.5 py-2\">\n <span className=\"flex shrink-0 [&_svg]:size-5\">{icon}</span>\n\n <span className=\"flex min-w-0 flex-1 flex-col\">\n <p\n className=\"truncate whitespace-nowrap text-sm leading-4\"\n title={name}\n >\n {name}\n </p>\n {path && (\n <p\n className=\"truncate whitespace-nowrap text-sm leading-4 text-muted-foreground\"\n title={path}\n >\n {path}\n </p>\n )}\n </span>\n\n {hasActions && (\n <span\n className=\"shrink-0\"\n role=\"presentation\"\n onClick={stopEvent}\n onDoubleClick={stopEvent}\n >\n <ItemActionsDropdown\n actions={actions}\n label={actionsLabel}\n iconClassName={selected ? \"text-selector-foreground\" : undefined}\n />\n </span>\n )}\n </div>\n\n <div className=\"flex h-28 items-center justify-center border-t\">\n {preview}\n </div>\n\n {meta && (\n <div className=\"truncate border-t px-2.5 py-1.5 text-sm text-muted-foreground\">\n {meta}\n </div>\n )}\n </div>\n );\n\n if (!hasActions) return card;\n\n return (\n <ContextMenu>\n <ContextMenuTrigger asChild>{card}</ContextMenuTrigger>\n <ItemActionsContextContent actions={actions} />\n </ContextMenu>\n );\n};\n"],"mappings":";;;;;;;;AAiCA,IAAa,KAAoB,EAC/B,OACA,SACA,SACA,SACA,YACA,SACA,SACA,aACA,YACA,iBACA,cACA,eAAY,IACZ,YACA,kBACA,gBACA,cACA,eACA,gBACA,gBAC2B;CAC3B,IAAM,IAAa,EAAQ,SAAS,GAE9B,IACJ,kBAAC,OAAD;EACE,WAAW,EACT,qHACA,KACE,2GACF,KAAa,sCACb,EACD;EACD,sBAAoB;EACpB,wBAAsB;EACtB,uBAAqB,IAAY,SAAS,KAAA;EAC/B;EACX,MAAK;EACL,UAAU;EACD;EACT,YAAY,MAAU;AAChB,KAAM,WAAW,EAAM,kBACvB,EAAM,QAAQ,WAAW,EAAM,QAAQ,QACvC,EAAM,QAAQ,OAAK,EAAM,gBAAgB,EAC7C,IAAU,EAA+B;;EAE5B;EACF;EACF;EACC;EACC;EACL;YA1BV;GA4BE,kBAAC,OAAD;IAAK,WAAU;cAAf;KACE,kBAAC,QAAD;MAAM,WAAU;gBAAgC;MAAY,CAAA;KAE5D,kBAAC,QAAD;MAAM,WAAU;gBAAhB,CACE,kBAAC,KAAD;OACE,WAAU;OACV,OAAO;iBAEN;OACC,CAAA,EACH,KACC,kBAAC,KAAD;OACE,WAAU;OACV,OAAO;iBAEN;OACC,CAAA,CAED;;KAEN,KACC,kBAAC,QAAD;MACE,WAAU;MACV,MAAK;MACL,SAAS;MACT,eAAe;gBAEf,kBAAC,GAAD;OACW;OACT,OAAO;OACP,eAAe,IAAW,6BAA6B,KAAA;OACvD,CAAA;MACG,CAAA;KAEL;;GAEN,kBAAC,OAAD;IAAK,WAAU;cACZ;IACG,CAAA;GAEL,KACC,kBAAC,OAAD;IAAK,WAAU;cACZ;IACG,CAAA;GAEJ;;AAKR,QAFK,IAGH,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD;EAAoB,SAAA;YAAS;EAA0B,CAAA,EACvD,kBAAC,GAAD,EAAoC,YAAW,CAAA,CACnC,EAAA,CAAA,GANQ"}
@@ -0,0 +1,4 @@
1
+ export interface ExplorerLoadingStateProps {
2
+ className?: string;
3
+ }
4
+ export declare const ExplorerLoadingState: ({ className, }: ExplorerLoadingStateProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { cn as e } from "../../../utilities/class/index.js";
2
+ import { Skeleton as t } from "../../skeleton/index.js";
3
+ import { jsx as n } from "react/jsx-runtime";
4
+ //#region src/components/file_explorer/explorer_loading_state/index.tsx
5
+ var r = ({ className: r }) => /* @__PURE__ */ n(t, { className: e("w-full h-[calc(100vh-80px)]", r) });
6
+ //#endregion
7
+ export { r as ExplorerLoadingState };
8
+
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/file_explorer/explorer_loading_state/index.tsx"],"sourcesContent":["import { Skeleton } from \"../../skeleton\";\nimport { cn } from \"../../../utilities/class\";\n\nexport interface ExplorerLoadingStateProps {\n className?: string;\n}\n\nexport const ExplorerLoadingState = ({\n className,\n}: ExplorerLoadingStateProps) => (\n <Skeleton className={cn(\"w-full h-[calc(100vh-80px)]\", className)} />\n);\n"],"mappings":";;;;AAOA,IAAa,KAAwB,EACnC,mBAEA,kBAAC,GAAD,EAAU,WAAW,EAAG,+BAA+B,EAAU,EAAI,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { DragEvent, ReactNode } from 'react';
2
+ export interface ExplorerNameCellProps {
3
+ name: string;
4
+ icon: ReactNode;
5
+ path?: string;
6
+ selected?: boolean;
7
+ className?: string;
8
+ draggable?: boolean;
9
+ onDragStart?: (event: DragEvent<HTMLSpanElement>) => void;
10
+ onDragEnd?: (event: DragEvent<HTMLSpanElement>) => void;
11
+ }
12
+ export declare const ExplorerNameCell: ({ name, icon, path, selected, className, draggable, onDragStart, onDragEnd, }: ExplorerNameCellProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,32 @@
1
+ import { cn as e } from "../../../utilities/class/index.js";
2
+ import { TableCell as t } from "../../table/index.js";
3
+ import { jsx as n, jsxs as r } from "react/jsx-runtime";
4
+ //#region src/components/file_explorer/explorer_name_cell/index.tsx
5
+ var i = ({ name: i, icon: a, path: o, selected: s = !1, className: c, draggable: l = !1, onDragStart: u, onDragEnd: d }) => /* @__PURE__ */ n(t, {
6
+ className: e("max-w-[320px]", s && "text-selector-foreground", c),
7
+ children: /* @__PURE__ */ r("span", {
8
+ className: e("flex items-center gap-2.5 overflow-hidden", l && "cursor-grab active:cursor-grabbing"),
9
+ "data-select-disable": l ? "true" : void 0,
10
+ draggable: l,
11
+ onDragStart: u,
12
+ onDragEnd: d,
13
+ children: [/* @__PURE__ */ n("span", {
14
+ className: e("shrink-0", o ? "[&_svg]:size-6" : "[&_svg]:size-5"),
15
+ children: a
16
+ }), /* @__PURE__ */ r("span", {
17
+ className: "flex min-w-0 flex-col",
18
+ children: [/* @__PURE__ */ n("p", {
19
+ className: "truncate overflow-hidden whitespace-nowrap leading-4",
20
+ children: i
21
+ }), o && /* @__PURE__ */ n("p", {
22
+ className: "truncate whitespace-nowrap text-sm leading-4 text-muted-foreground",
23
+ title: o,
24
+ children: o
25
+ })]
26
+ })]
27
+ })
28
+ });
29
+ //#endregion
30
+ export { i as ExplorerNameCell };
31
+
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/file_explorer/explorer_name_cell/index.tsx"],"sourcesContent":["import { TableCell } from \"../../table\";\nimport type { DragEvent, ReactNode } from \"react\";\nimport { cn } from \"../../../utilities/class\";\n\nexport interface ExplorerNameCellProps {\n name: string;\n icon: ReactNode;\n path?: string;\n selected?: boolean;\n className?: string;\n draggable?: boolean;\n onDragStart?: (event: DragEvent<HTMLSpanElement>) => void;\n onDragEnd?: (event: DragEvent<HTMLSpanElement>) => void;\n}\n\nexport const ExplorerNameCell = ({\n name,\n icon,\n path,\n selected = false,\n className,\n draggable = false,\n onDragStart,\n onDragEnd,\n}: ExplorerNameCellProps) => (\n <TableCell\n className={cn(\n \"max-w-[320px]\",\n selected && \"text-selector-foreground\",\n className,\n )}\n >\n <span\n className={cn(\n \"flex items-center gap-2.5 overflow-hidden\",\n draggable && \"cursor-grab active:cursor-grabbing\",\n )}\n data-select-disable={draggable ? \"true\" : undefined}\n draggable={draggable}\n onDragStart={onDragStart}\n onDragEnd={onDragEnd}\n >\n <span\n className={cn(\"shrink-0\", path ? \"[&_svg]:size-6\" : \"[&_svg]:size-5\")}\n >\n {icon}\n </span>\n\n <span className=\"flex min-w-0 flex-col\">\n <p className=\"truncate overflow-hidden whitespace-nowrap leading-4\">\n {name}\n </p>\n {path && (\n <p\n className=\"truncate whitespace-nowrap text-sm leading-4 text-muted-foreground\"\n title={path}\n >\n {path}\n </p>\n )}\n </span>\n </span>\n </TableCell>\n);\n"],"mappings":";;;;AAeA,IAAa,KAAoB,EAC/B,SACA,SACA,SACA,cAAW,IACX,cACA,eAAY,IACZ,gBACA,mBAEA,kBAAC,GAAD;CACE,WAAW,EACT,iBACA,KAAY,4BACZ,EACD;WAED,kBAAC,QAAD;EACE,WAAW,EACT,6CACA,KAAa,qCACd;EACD,uBAAqB,IAAY,SAAS,KAAA;EAC/B;EACE;EACF;YARb,CAUE,kBAAC,QAAD;GACE,WAAW,EAAG,YAAY,IAAO,mBAAmB,iBAAiB;aAEpE;GACI,CAAA,EAEP,kBAAC,QAAD;GAAM,WAAU;aAAhB,CACE,kBAAC,KAAD;IAAG,WAAU;cACV;IACC,CAAA,EACH,KACC,kBAAC,KAAD;IACE,WAAU;IACV,OAAO;cAEN;IACC,CAAA,CAED;KACF;;CACG,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { ReactNode, RefObject } from 'react';
2
+ export interface ExplorerPanelProps {
3
+ selectableRef?: RefObject<HTMLDivElement | null>;
4
+ viewportRef?: RefObject<HTMLDivElement | null>;
5
+ className?: string;
6
+ bare?: boolean;
7
+ overlay?: ReactNode;
8
+ after?: ReactNode;
9
+ children: ReactNode;
10
+ }
11
+ export declare const ExplorerPanel: ({ selectableRef, viewportRef, className, bare, overlay, after, children, }: ExplorerPanelProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,17 @@
1
+ import { cn as e } from "../../../utilities/class/index.js";
2
+ import { ScrollArea as t } from "../../scroll_area/index.js";
3
+ import { jsxs as n } from "react/jsx-runtime";
4
+ //#region src/components/file_explorer/explorer_panel/index.tsx
5
+ var r = ({ selectableRef: r, viewportRef: i, className: a, bare: o = !1, overlay: s, after: c, children: l }) => /* @__PURE__ */ n("div", {
6
+ ref: r,
7
+ className: e("h-[calc(100vh-80px)] relative overflow-hidden flex flex-col", !o && "border bg-card rounded-md", a),
8
+ children: [/* @__PURE__ */ n(t, {
9
+ viewportRef: i,
10
+ className: "flex-1 min-h-0 relative z-20",
11
+ children: [l, s]
12
+ }), c]
13
+ });
14
+ //#endregion
15
+ export { r as ExplorerPanel };
16
+
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/file_explorer/explorer_panel/index.tsx"],"sourcesContent":["import { ScrollArea } from \"../../scroll_area\";\nimport type { ReactNode, RefObject } from \"react\";\nimport { cn } from \"../../../utilities/class\";\n\nexport interface ExplorerPanelProps {\n selectableRef?: RefObject<HTMLDivElement | null>;\n viewportRef?: RefObject<HTMLDivElement | null>;\n className?: string;\n bare?: boolean;\n overlay?: ReactNode;\n after?: ReactNode;\n children: ReactNode;\n}\n\nexport const ExplorerPanel = ({\n selectableRef,\n viewportRef,\n className,\n bare = false,\n overlay,\n after,\n children,\n}: ExplorerPanelProps) => (\n <div\n ref={selectableRef}\n className={cn(\n \"h-[calc(100vh-80px)] relative overflow-hidden flex flex-col\",\n !bare && \"border bg-card rounded-md\",\n className,\n )}\n >\n <ScrollArea\n viewportRef={viewportRef}\n className=\"flex-1 min-h-0 relative z-20\"\n >\n {children}\n {overlay}\n </ScrollArea>\n\n {after}\n </div>\n);\n"],"mappings":";;;;AAcA,IAAa,KAAiB,EAC5B,kBACA,gBACA,cACA,UAAO,IACP,YACA,UACA,kBAEA,kBAAC,OAAD;CACE,KAAK;CACL,WAAW,EACT,+DACA,CAAC,KAAQ,6BACT,EACD;WANH,CAQE,kBAAC,GAAD;EACe;EACb,WAAU;YAFZ,CAIG,GACA,EACU;KAEZ,EACG"}
@@ -0,0 +1,18 @@
1
+ import { DragEvent, MouseEvent, ReactNode } from 'react';
2
+ import { ExplorerItemType } from '../types';
3
+ import { ExplorerAction } from '../item_actions';
4
+ export interface ExplorerRowProps {
5
+ id: string;
6
+ type: ExplorerItemType;
7
+ selected: boolean;
8
+ actions: ExplorerAction[];
9
+ actionsLabel?: string;
10
+ className?: string;
11
+ onClick?: (event: MouseEvent) => void;
12
+ onDoubleClick?: () => void;
13
+ onDragOver?: (event: DragEvent<HTMLTableRowElement>) => void;
14
+ onDragLeave?: (event: DragEvent<HTMLTableRowElement>) => void;
15
+ onDrop?: (event: DragEvent<HTMLTableRowElement>) => void;
16
+ children: ReactNode;
17
+ }
18
+ export declare const ExplorerRow: ({ id, type, selected, actions, actionsLabel, className, onClick, onDoubleClick, onDragOver, onDragLeave, onDrop, children, }: ExplorerRowProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,39 @@
1
+ import { cn as e } from "../../../utilities/class/index.js";
2
+ import { ContextMenu as t } from "../../context_menu/components/context_menu/index.js";
3
+ import { ContextMenuTrigger as n } from "../../context_menu/components/context_menu_trigger/index.js";
4
+ import { TableCell as r, TableRow as i } from "../../table/index.js";
5
+ import { stopEvent as a } from "../shared/utils/index.js";
6
+ import { ItemActionsContextContent as o } from "../item_actions/item_actions_context_content/index.js";
7
+ import { ItemActionsDropdown as s } from "../item_actions/item_actions_dropdown/index.js";
8
+ import { jsx as c, jsxs as l } from "react/jsx-runtime";
9
+ //#region src/components/file_explorer/explorer_row/index.tsx
10
+ var u = ({ id: u, type: d, selected: f, actions: p, actionsLabel: m, className: h, onClick: g, onDoubleClick: _, onDragOver: v, onDragLeave: y, onDrop: b, children: x }) => {
11
+ let S = p.length > 0, C = /* @__PURE__ */ l(i, {
12
+ className: e("hover:transparent border-b!", f && "bg-selector-background text-selector-foreground hover:bg-selector-background", h),
13
+ "data-selectable-id": u,
14
+ "data-selectable-type": d,
15
+ onClick: g,
16
+ onDoubleClick: _,
17
+ onDragOver: v,
18
+ onDragLeave: y,
19
+ onDrop: b,
20
+ children: [x, /* @__PURE__ */ c(r, {
21
+ className: "w-[50px]",
22
+ onClick: a,
23
+ onDoubleClick: a,
24
+ children: S && /* @__PURE__ */ c(s, {
25
+ actions: p,
26
+ label: m,
27
+ iconClassName: f ? "text-selector-foreground" : void 0
28
+ })
29
+ })]
30
+ });
31
+ return S ? /* @__PURE__ */ l(t, { children: [/* @__PURE__ */ c(n, {
32
+ asChild: !0,
33
+ children: C
34
+ }), /* @__PURE__ */ c(o, { actions: p })] }) : C;
35
+ };
36
+ //#endregion
37
+ export { u as ExplorerRow };
38
+
39
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/file_explorer/explorer_row/index.tsx"],"sourcesContent":["import { ContextMenu, ContextMenuTrigger } from \"../../context_menu\";\nimport { TableCell, TableRow } from \"../../table\";\nimport type { DragEvent, MouseEvent, ReactNode } from \"react\";\nimport type { ExplorerItemType } from \"../types\";\nimport { cn } from \"../../../utilities/class\";\nimport {\n ItemActionsContextContent,\n ItemActionsDropdown,\n type ExplorerAction,\n} from \"../item_actions\";\nimport { stopEvent } from \"../shared/utils\";\n\nexport interface ExplorerRowProps {\n id: string;\n type: ExplorerItemType;\n selected: boolean;\n actions: ExplorerAction[];\n actionsLabel?: string;\n className?: string;\n onClick?: (event: MouseEvent) => void;\n onDoubleClick?: () => void;\n onDragOver?: (event: DragEvent<HTMLTableRowElement>) => void;\n onDragLeave?: (event: DragEvent<HTMLTableRowElement>) => void;\n onDrop?: (event: DragEvent<HTMLTableRowElement>) => void;\n children: ReactNode;\n}\n\nexport const ExplorerRow = ({\n id,\n type,\n selected,\n actions,\n actionsLabel,\n className,\n onClick,\n onDoubleClick,\n onDragOver,\n onDragLeave,\n onDrop,\n children,\n}: ExplorerRowProps) => {\n const hasActions = actions.length > 0;\n\n const row = (\n <TableRow\n className={cn(\n \"hover:transparent border-b!\",\n selected &&\n \"bg-selector-background text-selector-foreground hover:bg-selector-background\",\n className,\n )}\n data-selectable-id={id}\n data-selectable-type={type}\n onClick={onClick}\n onDoubleClick={onDoubleClick}\n onDragOver={onDragOver}\n onDragLeave={onDragLeave}\n onDrop={onDrop}\n >\n {children}\n\n <TableCell\n className=\"w-[50px]\"\n onClick={stopEvent}\n onDoubleClick={stopEvent}\n >\n {hasActions && (\n <ItemActionsDropdown\n actions={actions}\n label={actionsLabel}\n iconClassName={selected ? \"text-selector-foreground\" : undefined}\n />\n )}\n </TableCell>\n </TableRow>\n );\n\n if (!hasActions) return row;\n\n return (\n <ContextMenu>\n <ContextMenuTrigger asChild>{row}</ContextMenuTrigger>\n <ItemActionsContextContent actions={actions} />\n </ContextMenu>\n );\n};\n"],"mappings":";;;;;;;;;AA2BA,IAAa,KAAe,EAC1B,OACA,SACA,aACA,YACA,iBACA,cACA,YACA,kBACA,eACA,gBACA,WACA,kBACsB;CACtB,IAAM,IAAa,EAAQ,SAAS,GAE9B,IACJ,kBAAC,GAAD;EACE,WAAW,EACT,+BACA,KACE,gFACF,EACD;EACD,sBAAoB;EACpB,wBAAsB;EACb;EACM;EACH;EACC;EACL;YAbV,CAeG,GAED,kBAAC,GAAD;GACE,WAAU;GACV,SAAS;GACT,eAAe;aAEd,KACC,kBAAC,GAAD;IACW;IACT,OAAO;IACP,eAAe,IAAW,6BAA6B,KAAA;IACvD,CAAA;GAEM,CAAA,CACH;;AAKb,QAFK,IAGH,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD;EAAoB,SAAA;YAAS;EAAyB,CAAA,EACtD,kBAAC,GAAD,EAAoC,YAAW,CAAA,CACnC,EAAA,CAAA,GANQ"}
@@ -0,0 +1,20 @@
1
+ import { LucideIcon } from 'lucide-react';
2
+ import { ReactNode, RefObject } from 'react';
3
+ export interface ExplorerColumn {
4
+ key: string;
5
+ icon: LucideIcon;
6
+ label?: string;
7
+ className?: string;
8
+ center?: boolean;
9
+ }
10
+ export interface ExplorerTableProps {
11
+ columns: ExplorerColumn[];
12
+ selectableRef?: RefObject<HTMLDivElement | null>;
13
+ viewportRef?: RefObject<HTMLDivElement | null>;
14
+ className?: string;
15
+ flow?: boolean;
16
+ overlay?: ReactNode;
17
+ after?: ReactNode;
18
+ children: ReactNode;
19
+ }
20
+ export declare const ExplorerTable: ({ columns, selectableRef, viewportRef, className, flow, overlay, after, children, }: ExplorerTableProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,63 @@
1
+ import { cn as e } from "../../../utilities/class/index.js";
2
+ import { ScrollArea as t } from "../../scroll_area/index.js";
3
+ import { Table as n, TableBody as r, TableHead as i, TableHeader as a, TableRow as o } from "../../table/index.js";
4
+ import { jsx as s, jsxs as c } from "react/jsx-runtime";
5
+ //#region src/components/file_explorer/explorer_table/index.tsx
6
+ var l = ({ columns: l, selectableRef: u, viewportRef: d, className: f, flow: p = !1, overlay: m, after: h, children: g }) => {
7
+ let _ = /* @__PURE__ */ s(a, { children: /* @__PURE__ */ s(o, { children: l.map((t) => /* @__PURE__ */ s(i, {
8
+ className: t.className,
9
+ children: /* @__PURE__ */ c("span", {
10
+ className: e("flex items-center gap-2 text-sm text-foreground", t.center && "justify-center"),
11
+ children: [/* @__PURE__ */ s(t.icon, { className: "size-4" }), t.label]
12
+ })
13
+ }, t.key)) }) });
14
+ return p ? /* @__PURE__ */ c("div", {
15
+ ref: u,
16
+ className: e("relative overflow-hidden rounded-md border bg-card", f),
17
+ children: [
18
+ /* @__PURE__ */ s("div", {
19
+ className: "relative z-30",
20
+ children: /* @__PURE__ */ c(n, {
21
+ classNameFather: "border-none rounded-none overflow-visible",
22
+ children: [_, /* @__PURE__ */ s(r, {
23
+ className: "border-none",
24
+ children: g
25
+ })]
26
+ })
27
+ }),
28
+ m,
29
+ h
30
+ ]
31
+ }) : /* @__PURE__ */ c("div", {
32
+ ref: u,
33
+ className: e("border h-[calc(100vh-80px)] bg-card rounded-md relative overflow-hidden flex flex-col", f),
34
+ children: [
35
+ /* @__PURE__ */ s("div", {
36
+ className: "border-b bg-card relative z-20",
37
+ children: /* @__PURE__ */ s(n, {
38
+ classNameFather: "border-none rounded-none overflow-visible",
39
+ children: _
40
+ })
41
+ }),
42
+ /* @__PURE__ */ c(t, {
43
+ viewportRef: d,
44
+ className: "flex-1 min-h-0 relative z-20",
45
+ children: [/* @__PURE__ */ s("div", {
46
+ className: "relative z-30",
47
+ children: /* @__PURE__ */ s(n, {
48
+ classNameFather: "border-none rounded-none overflow-visible",
49
+ children: /* @__PURE__ */ s(r, {
50
+ className: "border-none",
51
+ children: g
52
+ })
53
+ })
54
+ }), m]
55
+ }),
56
+ h
57
+ ]
58
+ });
59
+ };
60
+ //#endregion
61
+ export { l as ExplorerTable };
62
+
63
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/file_explorer/explorer_table/index.tsx"],"sourcesContent":["import { ScrollArea } from \"../../scroll_area\";\nimport {\n Table,\n TableBody,\n TableHead,\n TableHeader,\n TableRow,\n} from \"../../table\";\nimport type { LucideIcon } from \"lucide-react\";\nimport type { ReactNode, RefObject } from \"react\";\nimport { cn } from \"../../../utilities/class\";\n\nexport interface ExplorerColumn {\n key: string;\n icon: LucideIcon;\n label?: string;\n className?: string;\n center?: boolean;\n}\n\nexport interface ExplorerTableProps {\n columns: ExplorerColumn[];\n selectableRef?: RefObject<HTMLDivElement | null>;\n viewportRef?: RefObject<HTMLDivElement | null>;\n className?: string;\n flow?: boolean;\n overlay?: ReactNode;\n after?: ReactNode;\n children: ReactNode;\n}\n\nexport const ExplorerTable = ({\n columns,\n selectableRef,\n viewportRef,\n className,\n flow = false,\n overlay,\n after,\n children,\n}: ExplorerTableProps) => {\n const header = (\n <TableHeader>\n <TableRow>\n {columns.map((column) => (\n <TableHead key={column.key} className={column.className}>\n <span\n className={cn(\n \"flex items-center gap-2 text-sm text-foreground\",\n column.center && \"justify-center\",\n )}\n >\n <column.icon className=\"size-4\" />\n {column.label}\n </span>\n </TableHead>\n ))}\n </TableRow>\n </TableHeader>\n );\n\n if (flow) {\n return (\n <div\n ref={selectableRef}\n className={cn(\n \"relative overflow-hidden rounded-md border bg-card\",\n className,\n )}\n >\n <div className=\"relative z-30\">\n <Table classNameFather=\"border-none rounded-none overflow-visible\">\n {header}\n <TableBody className=\"border-none\">{children}</TableBody>\n </Table>\n </div>\n\n {overlay}\n {after}\n </div>\n );\n }\n\n return (\n <div\n ref={selectableRef}\n className={cn(\n \"border h-[calc(100vh-80px)] bg-card rounded-md relative overflow-hidden flex flex-col\",\n className,\n )}\n >\n <div className=\"border-b bg-card relative z-20\">\n <Table classNameFather=\"border-none rounded-none overflow-visible\">\n {header}\n </Table>\n </div>\n\n <ScrollArea\n viewportRef={viewportRef}\n className=\"flex-1 min-h-0 relative z-20\"\n >\n <div className=\"relative z-30\">\n <Table classNameFather=\"border-none rounded-none overflow-visible\">\n <TableBody className=\"border-none\">{children}</TableBody>\n </Table>\n </div>\n {overlay}\n </ScrollArea>\n\n {after}\n </div>\n );\n};\n"],"mappings":";;;;;AA+BA,IAAa,KAAiB,EAC5B,YACA,kBACA,gBACA,cACA,UAAO,IACP,YACA,UACA,kBACwB;CACxB,IAAM,IACJ,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,EAAA,UACG,EAAQ,KAAK,MACZ,kBAAC,GAAD;EAA4B,WAAW,EAAO;YAC5C,kBAAC,QAAD;GACE,WAAW,EACT,mDACA,EAAO,UAAU,iBAClB;aAJH,CAME,kBAAC,EAAO,MAAR,EAAa,WAAU,UAAW,CAAA,EACjC,EAAO,MACH;;EACG,EAVI,EAAO,IAUX,CACZ,EACO,CAAA,EACC,CAAA;AAyBhB,QAtBI,IAEA,kBAAC,OAAD;EACE,KAAK;EACL,WAAW,EACT,sDACA,EACD;YALH;GAOE,kBAAC,OAAD;IAAK,WAAU;cACb,kBAAC,GAAD;KAAO,iBAAgB;eAAvB,CACG,GACD,kBAAC,GAAD;MAAW,WAAU;MAAe;MAAqB,CAAA,CACnD;;IACJ,CAAA;GAEL;GACA;GACG;MAKR,kBAAC,OAAD;EACE,KAAK;EACL,WAAW,EACT,yFACA,EACD;YALH;GAOE,kBAAC,OAAD;IAAK,WAAU;cACb,kBAAC,GAAD;KAAO,iBAAgB;eACpB;KACK,CAAA;IACJ,CAAA;GAEN,kBAAC,GAAD;IACe;IACb,WAAU;cAFZ,CAIE,kBAAC,OAAD;KAAK,WAAU;eACb,kBAAC,GAAD;MAAO,iBAAgB;gBACrB,kBAAC,GAAD;OAAW,WAAU;OAAe;OAAqB,CAAA;MACnD,CAAA;KACJ,CAAA,EACL,EACU;;GAEZ;GACG"}