tyrell-components 1.0.0-RC10

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 (344) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +221 -0
  3. package/css/tyrell-brand.css +767 -0
  4. package/css/tyrell.css +1679 -0
  5. package/dist/tyrell-brand.css +767 -0
  6. package/dist/tyrell.css +1679 -0
  7. package/dist/tyrell.js +2 -0
  8. package/lib/base/ty-component.d.ts +133 -0
  9. package/lib/base/ty-component.d.ts.map +1 -0
  10. package/lib/base/ty-component.js +297 -0
  11. package/lib/base/ty-component.js.map +1 -0
  12. package/lib/components/button.d.ts +135 -0
  13. package/lib/components/button.d.ts.map +1 -0
  14. package/lib/components/button.js +277 -0
  15. package/lib/components/button.js.map +1 -0
  16. package/lib/components/calendar-month.d.ts +132 -0
  17. package/lib/components/calendar-month.d.ts.map +1 -0
  18. package/lib/components/calendar-month.js +440 -0
  19. package/lib/components/calendar-month.js.map +1 -0
  20. package/lib/components/calendar-navigation.d.ts +137 -0
  21. package/lib/components/calendar-navigation.d.ts.map +1 -0
  22. package/lib/components/calendar-navigation.js +366 -0
  23. package/lib/components/calendar-navigation.js.map +1 -0
  24. package/lib/components/calendar.d.ts +166 -0
  25. package/lib/components/calendar.d.ts.map +1 -0
  26. package/lib/components/calendar.js +774 -0
  27. package/lib/components/calendar.js.map +1 -0
  28. package/lib/components/checkbox.d.ts +189 -0
  29. package/lib/components/checkbox.d.ts.map +1 -0
  30. package/lib/components/checkbox.js +400 -0
  31. package/lib/components/checkbox.js.map +1 -0
  32. package/lib/components/copy.d.ts +180 -0
  33. package/lib/components/copy.d.ts.map +1 -0
  34. package/lib/components/copy.js +393 -0
  35. package/lib/components/copy.js.map +1 -0
  36. package/lib/components/date-picker.d.ts +379 -0
  37. package/lib/components/date-picker.d.ts.map +1 -0
  38. package/lib/components/date-picker.js +1586 -0
  39. package/lib/components/date-picker.js.map +1 -0
  40. package/lib/components/dropdown.d.ts +424 -0
  41. package/lib/components/dropdown.d.ts.map +1 -0
  42. package/lib/components/dropdown.js +1640 -0
  43. package/lib/components/dropdown.js.map +1 -0
  44. package/lib/components/file-upload.d.ts +121 -0
  45. package/lib/components/file-upload.d.ts.map +1 -0
  46. package/lib/components/file-upload.js +441 -0
  47. package/lib/components/file-upload.js.map +1 -0
  48. package/lib/components/icon.d.ts +118 -0
  49. package/lib/components/icon.d.ts.map +1 -0
  50. package/lib/components/icon.js +245 -0
  51. package/lib/components/icon.js.map +1 -0
  52. package/lib/components/input.d.ts +270 -0
  53. package/lib/components/input.d.ts.map +1 -0
  54. package/lib/components/input.js +721 -0
  55. package/lib/components/input.js.map +1 -0
  56. package/lib/components/modal.d.ts +78 -0
  57. package/lib/components/modal.d.ts.map +1 -0
  58. package/lib/components/modal.js +497 -0
  59. package/lib/components/modal.js.map +1 -0
  60. package/lib/components/multiselect.d.ts +397 -0
  61. package/lib/components/multiselect.d.ts.map +1 -0
  62. package/lib/components/multiselect.js +1595 -0
  63. package/lib/components/multiselect.js.map +1 -0
  64. package/lib/components/option.d.ts +66 -0
  65. package/lib/components/option.d.ts.map +1 -0
  66. package/lib/components/option.js +314 -0
  67. package/lib/components/option.js.map +1 -0
  68. package/lib/components/popup.d.ts +43 -0
  69. package/lib/components/popup.d.ts.map +1 -0
  70. package/lib/components/popup.js +380 -0
  71. package/lib/components/popup.js.map +1 -0
  72. package/lib/components/radio.d.ts +198 -0
  73. package/lib/components/radio.d.ts.map +1 -0
  74. package/lib/components/radio.js +437 -0
  75. package/lib/components/radio.js.map +1 -0
  76. package/lib/components/resize-observer.d.ts +48 -0
  77. package/lib/components/resize-observer.d.ts.map +1 -0
  78. package/lib/components/resize-observer.js +108 -0
  79. package/lib/components/resize-observer.js.map +1 -0
  80. package/lib/components/scroll-container.d.ts +51 -0
  81. package/lib/components/scroll-container.d.ts.map +1 -0
  82. package/lib/components/scroll-container.js +239 -0
  83. package/lib/components/scroll-container.js.map +1 -0
  84. package/lib/components/step.d.ts +26 -0
  85. package/lib/components/step.d.ts.map +1 -0
  86. package/lib/components/step.js +75 -0
  87. package/lib/components/step.js.map +1 -0
  88. package/lib/components/switch.d.ts +111 -0
  89. package/lib/components/switch.d.ts.map +1 -0
  90. package/lib/components/switch.js +240 -0
  91. package/lib/components/switch.js.map +1 -0
  92. package/lib/components/tab.d.ts +23 -0
  93. package/lib/components/tab.d.ts.map +1 -0
  94. package/lib/components/tab.js +76 -0
  95. package/lib/components/tab.js.map +1 -0
  96. package/lib/components/tabs.d.ts +93 -0
  97. package/lib/components/tabs.d.ts.map +1 -0
  98. package/lib/components/tabs.js +653 -0
  99. package/lib/components/tabs.js.map +1 -0
  100. package/lib/components/tag.d.ts +144 -0
  101. package/lib/components/tag.d.ts.map +1 -0
  102. package/lib/components/tag.js +316 -0
  103. package/lib/components/tag.js.map +1 -0
  104. package/lib/components/textarea.d.ts +241 -0
  105. package/lib/components/textarea.d.ts.map +1 -0
  106. package/lib/components/textarea.js +585 -0
  107. package/lib/components/textarea.js.map +1 -0
  108. package/lib/components/tooltip.d.ts +40 -0
  109. package/lib/components/tooltip.d.ts.map +1 -0
  110. package/lib/components/tooltip.js +439 -0
  111. package/lib/components/tooltip.js.map +1 -0
  112. package/lib/components/wizard.d.ts +86 -0
  113. package/lib/components/wizard.d.ts.map +1 -0
  114. package/lib/components/wizard.js +636 -0
  115. package/lib/components/wizard.js.map +1 -0
  116. package/lib/icons/fontawesome/brands.d.ts +557 -0
  117. package/lib/icons/fontawesome/brands.d.ts.map +1 -0
  118. package/lib/icons/fontawesome/brands.js +557 -0
  119. package/lib/icons/fontawesome/brands.js.map +1 -0
  120. package/lib/icons/fontawesome/regular.d.ts +281 -0
  121. package/lib/icons/fontawesome/regular.d.ts.map +1 -0
  122. package/lib/icons/fontawesome/regular.js +281 -0
  123. package/lib/icons/fontawesome/regular.js.map +1 -0
  124. package/lib/icons/fontawesome/solid.d.ts +1992 -0
  125. package/lib/icons/fontawesome/solid.d.ts.map +1 -0
  126. package/lib/icons/fontawesome/solid.js +1992 -0
  127. package/lib/icons/fontawesome/solid.js.map +1 -0
  128. package/lib/icons/heroicons/micro.d.ts +324 -0
  129. package/lib/icons/heroicons/micro.d.ts.map +1 -0
  130. package/lib/icons/heroicons/micro.js +1032 -0
  131. package/lib/icons/heroicons/micro.js.map +1 -0
  132. package/lib/icons/heroicons/mini.d.ts +332 -0
  133. package/lib/icons/heroicons/mini.d.ts.map +1 -0
  134. package/lib/icons/heroicons/mini.js +1038 -0
  135. package/lib/icons/heroicons/mini.js.map +1 -0
  136. package/lib/icons/heroicons/outline.d.ts +332 -0
  137. package/lib/icons/heroicons/outline.d.ts.map +1 -0
  138. package/lib/icons/heroicons/outline.js +993 -0
  139. package/lib/icons/heroicons/outline.js.map +1 -0
  140. package/lib/icons/heroicons/solid.d.ts +332 -0
  141. package/lib/icons/heroicons/solid.d.ts.map +1 -0
  142. package/lib/icons/heroicons/solid.js +1063 -0
  143. package/lib/icons/heroicons/solid.js.map +1 -0
  144. package/lib/icons/lucide.d.ts +1872 -0
  145. package/lib/icons/lucide.d.ts.map +1 -0
  146. package/lib/icons/lucide.js +28212 -0
  147. package/lib/icons/lucide.js.map +1 -0
  148. package/lib/icons/material/filled.d.ts +2180 -0
  149. package/lib/icons/material/filled.d.ts.map +1 -0
  150. package/lib/icons/material/filled.js +14003 -0
  151. package/lib/icons/material/filled.js.map +1 -0
  152. package/lib/icons/material/outlined.d.ts +2142 -0
  153. package/lib/icons/material/outlined.d.ts.map +1 -0
  154. package/lib/icons/material/outlined.js +14545 -0
  155. package/lib/icons/material/outlined.js.map +1 -0
  156. package/lib/icons/material/round.d.ts +2147 -0
  157. package/lib/icons/material/round.d.ts.map +1 -0
  158. package/lib/icons/material/round.js +14779 -0
  159. package/lib/icons/material/round.js.map +1 -0
  160. package/lib/icons/material/sharp.d.ts +2147 -0
  161. package/lib/icons/material/sharp.d.ts.map +1 -0
  162. package/lib/icons/material/sharp.js +14189 -0
  163. package/lib/icons/material/sharp.js.map +1 -0
  164. package/lib/icons/material/two-tone.d.ts +2185 -0
  165. package/lib/icons/material/two-tone.d.ts.map +1 -0
  166. package/lib/icons/material/two-tone.js +17152 -0
  167. package/lib/icons/material/two-tone.js.map +1 -0
  168. package/lib/index.d.ts +86 -0
  169. package/lib/index.d.ts.map +1 -0
  170. package/lib/index.js +78 -0
  171. package/lib/index.js.map +1 -0
  172. package/lib/styles/button.d.ts +14 -0
  173. package/lib/styles/button.d.ts.map +1 -0
  174. package/lib/styles/button.js +498 -0
  175. package/lib/styles/button.js.map +1 -0
  176. package/lib/styles/calendar-month.d.ts +6 -0
  177. package/lib/styles/calendar-month.d.ts.map +1 -0
  178. package/lib/styles/calendar-month.js +275 -0
  179. package/lib/styles/calendar-month.js.map +1 -0
  180. package/lib/styles/calendar-navigation.d.ts +6 -0
  181. package/lib/styles/calendar-navigation.d.ts.map +1 -0
  182. package/lib/styles/calendar-navigation.js +143 -0
  183. package/lib/styles/calendar-navigation.js.map +1 -0
  184. package/lib/styles/calendar.d.ts +6 -0
  185. package/lib/styles/calendar.d.ts.map +1 -0
  186. package/lib/styles/calendar.js +28 -0
  187. package/lib/styles/calendar.js.map +1 -0
  188. package/lib/styles/checkbox.d.ts +9 -0
  189. package/lib/styles/checkbox.d.ts.map +1 -0
  190. package/lib/styles/checkbox.js +19 -0
  191. package/lib/styles/checkbox.js.map +1 -0
  192. package/lib/styles/copy.d.ts +7 -0
  193. package/lib/styles/copy.d.ts.map +1 -0
  194. package/lib/styles/copy.js +94 -0
  195. package/lib/styles/copy.js.map +1 -0
  196. package/lib/styles/custom-scrollbar.d.ts +6 -0
  197. package/lib/styles/custom-scrollbar.d.ts.map +1 -0
  198. package/lib/styles/custom-scrollbar.js +157 -0
  199. package/lib/styles/custom-scrollbar.js.map +1 -0
  200. package/lib/styles/date-picker.d.ts +6 -0
  201. package/lib/styles/date-picker.d.ts.map +1 -0
  202. package/lib/styles/date-picker.js +438 -0
  203. package/lib/styles/date-picker.js.map +1 -0
  204. package/lib/styles/dropdown.d.ts +12 -0
  205. package/lib/styles/dropdown.d.ts.map +1 -0
  206. package/lib/styles/dropdown.js +1081 -0
  207. package/lib/styles/dropdown.js.map +1 -0
  208. package/lib/styles/file-upload.d.ts +2 -0
  209. package/lib/styles/file-upload.d.ts.map +1 -0
  210. package/lib/styles/file-upload.js +241 -0
  211. package/lib/styles/file-upload.js.map +1 -0
  212. package/lib/styles/icon.d.ts +6 -0
  213. package/lib/styles/icon.d.ts.map +1 -0
  214. package/lib/styles/icon.js +241 -0
  215. package/lib/styles/icon.js.map +1 -0
  216. package/lib/styles/input.d.ts +7 -0
  217. package/lib/styles/input.d.ts.map +1 -0
  218. package/lib/styles/input.js +685 -0
  219. package/lib/styles/input.js.map +1 -0
  220. package/lib/styles/modal.d.ts +8 -0
  221. package/lib/styles/modal.d.ts.map +1 -0
  222. package/lib/styles/modal.js +134 -0
  223. package/lib/styles/modal.js.map +1 -0
  224. package/lib/styles/multiselect.d.ts +6 -0
  225. package/lib/styles/multiselect.d.ts.map +1 -0
  226. package/lib/styles/multiselect.js +825 -0
  227. package/lib/styles/multiselect.js.map +1 -0
  228. package/lib/styles/option.d.ts +6 -0
  229. package/lib/styles/option.d.ts.map +1 -0
  230. package/lib/styles/option.js +116 -0
  231. package/lib/styles/option.js.map +1 -0
  232. package/lib/styles/popup.d.ts +8 -0
  233. package/lib/styles/popup.d.ts.map +1 -0
  234. package/lib/styles/popup.js +95 -0
  235. package/lib/styles/popup.js.map +1 -0
  236. package/lib/styles/radio.d.ts +8 -0
  237. package/lib/styles/radio.d.ts.map +1 -0
  238. package/lib/styles/radio.js +160 -0
  239. package/lib/styles/radio.js.map +1 -0
  240. package/lib/styles/resize-observer.d.ts +6 -0
  241. package/lib/styles/resize-observer.d.ts.map +1 -0
  242. package/lib/styles/resize-observer.js +18 -0
  243. package/lib/styles/resize-observer.js.map +1 -0
  244. package/lib/styles/scroll-container.d.ts +6 -0
  245. package/lib/styles/scroll-container.d.ts.map +1 -0
  246. package/lib/styles/scroll-container.js +198 -0
  247. package/lib/styles/scroll-container.js.map +1 -0
  248. package/lib/styles/step.d.ts +5 -0
  249. package/lib/styles/step.d.ts.map +1 -0
  250. package/lib/styles/step.js +50 -0
  251. package/lib/styles/step.js.map +1 -0
  252. package/lib/styles/switch.d.ts +9 -0
  253. package/lib/styles/switch.d.ts.map +1 -0
  254. package/lib/styles/switch.js +100 -0
  255. package/lib/styles/switch.js.map +1 -0
  256. package/lib/styles/tab.d.ts +5 -0
  257. package/lib/styles/tab.d.ts.map +1 -0
  258. package/lib/styles/tab.js +51 -0
  259. package/lib/styles/tab.js.map +1 -0
  260. package/lib/styles/tabs.d.ts +13 -0
  261. package/lib/styles/tabs.d.ts.map +1 -0
  262. package/lib/styles/tabs.js +184 -0
  263. package/lib/styles/tabs.js.map +1 -0
  264. package/lib/styles/tag.d.ts +6 -0
  265. package/lib/styles/tag.d.ts.map +1 -0
  266. package/lib/styles/tag.js +409 -0
  267. package/lib/styles/tag.js.map +1 -0
  268. package/lib/styles/textarea.d.ts +6 -0
  269. package/lib/styles/textarea.d.ts.map +1 -0
  270. package/lib/styles/textarea.js +350 -0
  271. package/lib/styles/textarea.js.map +1 -0
  272. package/lib/styles/tooltip.d.ts +9 -0
  273. package/lib/styles/tooltip.d.ts.map +1 -0
  274. package/lib/styles/tooltip.js +133 -0
  275. package/lib/styles/tooltip.js.map +1 -0
  276. package/lib/styles/wizard.d.ts +25 -0
  277. package/lib/styles/wizard.d.ts.map +1 -0
  278. package/lib/styles/wizard.js +348 -0
  279. package/lib/styles/wizard.js.map +1 -0
  280. package/lib/types/common.d.ts +143 -0
  281. package/lib/types/common.d.ts.map +1 -0
  282. package/lib/types/common.js +5 -0
  283. package/lib/types/common.js.map +1 -0
  284. package/lib/utils/calendar-utils.d.ts +176 -0
  285. package/lib/utils/calendar-utils.d.ts.map +1 -0
  286. package/lib/utils/calendar-utils.js +370 -0
  287. package/lib/utils/calendar-utils.js.map +1 -0
  288. package/lib/utils/custom-scrollbar.d.ts +82 -0
  289. package/lib/utils/custom-scrollbar.d.ts.map +1 -0
  290. package/lib/utils/custom-scrollbar.js +320 -0
  291. package/lib/utils/custom-scrollbar.js.map +1 -0
  292. package/lib/utils/icon-registry.d.ts +78 -0
  293. package/lib/utils/icon-registry.d.ts.map +1 -0
  294. package/lib/utils/icon-registry.js +304 -0
  295. package/lib/utils/icon-registry.js.map +1 -0
  296. package/lib/utils/loader-registry.d.ts +35 -0
  297. package/lib/utils/loader-registry.d.ts.map +1 -0
  298. package/lib/utils/loader-registry.js +43 -0
  299. package/lib/utils/loader-registry.js.map +1 -0
  300. package/lib/utils/locale.d.ts +136 -0
  301. package/lib/utils/locale.d.ts.map +1 -0
  302. package/lib/utils/locale.js +213 -0
  303. package/lib/utils/locale.js.map +1 -0
  304. package/lib/utils/mobile.d.ts +14 -0
  305. package/lib/utils/mobile.d.ts.map +1 -0
  306. package/lib/utils/mobile.js +21 -0
  307. package/lib/utils/mobile.js.map +1 -0
  308. package/lib/utils/number-format.d.ts +83 -0
  309. package/lib/utils/number-format.d.ts.map +1 -0
  310. package/lib/utils/number-format.js +143 -0
  311. package/lib/utils/number-format.js.map +1 -0
  312. package/lib/utils/parse-boolean.d.ts +39 -0
  313. package/lib/utils/parse-boolean.d.ts.map +1 -0
  314. package/lib/utils/parse-boolean.js +58 -0
  315. package/lib/utils/parse-boolean.js.map +1 -0
  316. package/lib/utils/positioning.d.ts +143 -0
  317. package/lib/utils/positioning.d.ts.map +1 -0
  318. package/lib/utils/positioning.js +308 -0
  319. package/lib/utils/positioning.js.map +1 -0
  320. package/lib/utils/property-capture.d.ts +132 -0
  321. package/lib/utils/property-capture.d.ts.map +1 -0
  322. package/lib/utils/property-capture.js +152 -0
  323. package/lib/utils/property-capture.js.map +1 -0
  324. package/lib/utils/property-manager.d.ts +90 -0
  325. package/lib/utils/property-manager.d.ts.map +1 -0
  326. package/lib/utils/property-manager.js +197 -0
  327. package/lib/utils/property-manager.js.map +1 -0
  328. package/lib/utils/resize-observer.d.ts +42 -0
  329. package/lib/utils/resize-observer.d.ts.map +1 -0
  330. package/lib/utils/resize-observer.js +71 -0
  331. package/lib/utils/resize-observer.js.map +1 -0
  332. package/lib/utils/scroll-lock.d.ts +79 -0
  333. package/lib/utils/scroll-lock.d.ts.map +1 -0
  334. package/lib/utils/scroll-lock.js +197 -0
  335. package/lib/utils/scroll-lock.js.map +1 -0
  336. package/lib/utils/styles.d.ts +27 -0
  337. package/lib/utils/styles.d.ts.map +1 -0
  338. package/lib/utils/styles.js +53 -0
  339. package/lib/utils/styles.js.map +1 -0
  340. package/lib/version.d.ts +8 -0
  341. package/lib/version.d.ts.map +1 -0
  342. package/lib/version.js +11 -0
  343. package/lib/version.js.map +1 -0
  344. package/package.json +163 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown.js","sourceRoot":"","sources":["../../src/components/dropdown.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * TyFileUpload Web Component
3
+ *
4
+ * Drop zone + file picker primitive. Replaces `<input type="file">` with
5
+ * a styleable, drag-and-drop-capable equivalent that works everywhere.
6
+ *
7
+ * - Click to browse or drag-and-drop
8
+ * - Multiple file support
9
+ * - Accept filter passed to the underlying file input
10
+ * - Emits `change` with `{ files, names }` on every selection
11
+ * - Form-associated: participates in FormData and form.reset()
12
+ *
13
+ * @example
14
+ * <ty-file-upload name="avatar" accept="image/*" label="Profile photo"></ty-file-upload>
15
+ * <ty-file-upload name="docs" multiple accept=".pdf,.docx" label="Attachments"></ty-file-upload>
16
+ */
17
+ import { TyComponent } from "../base/ty-component.js";
18
+ import type { PropertyChange } from "../utils/property-manager.js";
19
+ interface FileUploadState {
20
+ listenersSetup: boolean;
21
+ }
22
+ export interface TyFileUploadElement extends HTMLElement {
23
+ multiple: boolean;
24
+ accept: string;
25
+ name: string;
26
+ disabled: boolean;
27
+ required: boolean;
28
+ label: string;
29
+ placeholder: string;
30
+ error: string;
31
+ files: File[];
32
+ form: HTMLFormElement | null;
33
+ }
34
+ export declare class TyFileUpload extends TyComponent<FileUploadState> implements TyFileUploadElement {
35
+ static formAssociated: boolean;
36
+ protected static properties: {
37
+ multiple: {
38
+ type: "boolean";
39
+ visual: boolean;
40
+ default: boolean;
41
+ };
42
+ accept: {
43
+ type: "string";
44
+ visual: boolean;
45
+ default: string;
46
+ };
47
+ name: {
48
+ type: "string";
49
+ default: string;
50
+ };
51
+ disabled: {
52
+ type: "boolean";
53
+ visual: boolean;
54
+ default: boolean;
55
+ };
56
+ required: {
57
+ type: "boolean";
58
+ visual: boolean;
59
+ default: boolean;
60
+ };
61
+ label: {
62
+ type: "string";
63
+ visual: boolean;
64
+ default: string;
65
+ };
66
+ placeholder: {
67
+ type: "string";
68
+ visual: boolean;
69
+ default: string;
70
+ };
71
+ error: {
72
+ type: "string";
73
+ visual: boolean;
74
+ default: string;
75
+ };
76
+ };
77
+ private _files;
78
+ private _isDragging;
79
+ private _listenersSetup;
80
+ private _dropZoneClickHandler;
81
+ private _dropZoneKeydownHandler;
82
+ private _dropZoneFocusHandler;
83
+ private _dropZoneBlurHandler;
84
+ private _dragoverHandler;
85
+ private _dragleaveHandler;
86
+ private _dropHandler;
87
+ private _inputChangeHandler;
88
+ constructor();
89
+ protected onConnect(): void;
90
+ protected onDisconnect(): void;
91
+ protected onPropertiesChanged(_changes: PropertyChange[]): void;
92
+ protected onFormReset(): void;
93
+ protected getFormValue(): FormData | string | null;
94
+ get files(): File[];
95
+ get multiple(): boolean;
96
+ set multiple(v: boolean);
97
+ get accept(): string;
98
+ set accept(v: string);
99
+ get name(): string;
100
+ set name(v: string);
101
+ get disabled(): boolean;
102
+ set disabled(v: boolean);
103
+ get required(): boolean;
104
+ set required(v: boolean);
105
+ get label(): string;
106
+ set label(v: string);
107
+ get placeholder(): string;
108
+ set placeholder(v: string);
109
+ get error(): string;
110
+ set error(v: string);
111
+ get form(): HTMLFormElement | null;
112
+ private setFiles;
113
+ private removeFile;
114
+ private setupEventListeners;
115
+ private removeEventListeners;
116
+ private buildDropZoneClasses;
117
+ private renderFileList;
118
+ protected render(): void;
119
+ }
120
+ export {};
121
+ //# sourceMappingURL=file-upload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-upload.d.ts","sourceRoot":"","sources":["../../src/components/file-upload.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAInE,UAAU,eAAe;IACvB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,IAAI,EAAE,eAAe,GAAG,IAAI,CAAC;CAC9B;AAeD,qBAAa,YACX,SAAQ,WAAW,CAAC,eAAe,CACnC,YAAW,mBAAmB;IAE9B,MAAM,CAAC,cAAc,UAAQ;IAE7B,SAAS,CAAC,MAAM,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAwCzB;IAEF,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,eAAe,CAAkB;IAEzC,OAAO,CAAC,qBAAqB,CAAqC;IAClE,OAAO,CAAC,uBAAuB,CAA6C;IAC5E,OAAO,CAAC,qBAAqB,CAA6B;IAC1D,OAAO,CAAC,oBAAoB,CAA6B;IACzD,OAAO,CAAC,gBAAgB,CAAyC;IACjE,OAAO,CAAC,iBAAiB,CAAyC;IAClE,OAAO,CAAC,YAAY,CAAyC;IAC7D,OAAO,CAAC,mBAAmB,CAAqC;;IAOhE,SAAS,CAAC,SAAS,IAAI,IAAI;IAE3B,SAAS,CAAC,YAAY,IAAI,IAAI;IAI9B,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,IAAI;IAE/D,SAAS,CAAC,WAAW,IAAI,IAAI;IAW7B,SAAS,CAAC,YAAY,IAAI,QAAQ,GAAG,MAAM,GAAG,IAAI;IAclD,IAAI,KAAK,IAAI,IAAI,EAAE,CAElB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IACD,IAAI,QAAQ,CAAC,CAAC,EAAE,OAAO,EAEtB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IACD,IAAI,MAAM,CAAC,CAAC,EAAE,MAAM,EAEnB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IACD,IAAI,IAAI,CAAC,CAAC,EAAE,MAAM,EAEjB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IACD,IAAI,QAAQ,CAAC,CAAC,EAAE,OAAO,EAEtB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IACD,IAAI,QAAQ,CAAC,CAAC,EAAE,OAAO,EAEtB;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,EAElB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IACD,IAAI,WAAW,CAAC,CAAC,EAAE,MAAM,EAExB;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,EAElB;IAED,IAAI,IAAI,IAAI,eAAe,GAAG,IAAI,CAEjC;IAMD,OAAO,CAAC,QAAQ;IAkBhB,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,mBAAmB;IAmF3B,OAAO,CAAC,oBAAoB;IA0C5B,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,cAAc;IAyCtB,SAAS,CAAC,MAAM,IAAI,IAAI;CAmHzB"}
@@ -0,0 +1,441 @@
1
+ /**
2
+ * TyFileUpload Web Component
3
+ *
4
+ * Drop zone + file picker primitive. Replaces `<input type="file">` with
5
+ * a styleable, drag-and-drop-capable equivalent that works everywhere.
6
+ *
7
+ * - Click to browse or drag-and-drop
8
+ * - Multiple file support
9
+ * - Accept filter passed to the underlying file input
10
+ * - Emits `change` with `{ files, names }` on every selection
11
+ * - Form-associated: participates in FormData and form.reset()
12
+ *
13
+ * @example
14
+ * <ty-file-upload name="avatar" accept="image/*" label="Profile photo"></ty-file-upload>
15
+ * <ty-file-upload name="docs" multiple accept=".pdf,.docx" label="Attachments"></ty-file-upload>
16
+ */
17
+ import { TyComponent } from "../base/ty-component.js";
18
+ import { ensureStyles } from "../utils/styles.js";
19
+ import { fileUploadStyles } from "../styles/file-upload.js";
20
+ const UPLOAD_ICON = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="17 8 12 3 7 8"/><line x1="12" y1="3" x2="12" y2="15"/></svg>`;
21
+ const FILE_ICON = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/></svg>`;
22
+ const X_ICON = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>`;
23
+ function formatBytes(bytes) {
24
+ if (bytes < 1024)
25
+ return `${bytes} B`;
26
+ if (bytes < 1024 * 1024)
27
+ return `${(bytes / 1024).toFixed(1)} KB`;
28
+ if (bytes < 1024 * 1024 * 1024)
29
+ return `${(bytes / 1024 / 1024).toFixed(1)} MB`;
30
+ return `${(bytes / 1024 / 1024 / 1024).toFixed(1)} GB`;
31
+ }
32
+ export class TyFileUpload extends TyComponent {
33
+ constructor() {
34
+ super();
35
+ this._files = [];
36
+ this._isDragging = false;
37
+ this._listenersSetup = false;
38
+ this._dropZoneClickHandler = null;
39
+ this._dropZoneKeydownHandler = null;
40
+ this._dropZoneFocusHandler = null;
41
+ this._dropZoneBlurHandler = null;
42
+ this._dragoverHandler = null;
43
+ this._dragleaveHandler = null;
44
+ this._dropHandler = null;
45
+ this._inputChangeHandler = null;
46
+ ensureStyles(this.shadowRoot, { css: fileUploadStyles, id: "ty-file-upload" });
47
+ }
48
+ onConnect() { }
49
+ onDisconnect() {
50
+ this.removeEventListeners();
51
+ }
52
+ onPropertiesChanged(_changes) { }
53
+ onFormReset() {
54
+ this._files = [];
55
+ this.updateFormValue();
56
+ if (this._connected)
57
+ this.render();
58
+ const fileInput = this.shadowRoot?.querySelector(".file-input");
59
+ if (fileInput)
60
+ fileInput.value = "";
61
+ }
62
+ getFormValue() {
63
+ if (this._files.length === 0)
64
+ return null;
65
+ const fd = new FormData();
66
+ const fieldName = this.name || "files";
67
+ for (const file of this._files) {
68
+ fd.append(fieldName, file);
69
+ }
70
+ return fd;
71
+ }
72
+ // ============================================================================
73
+ // PUBLIC API
74
+ // ============================================================================
75
+ get files() {
76
+ return [...this._files];
77
+ }
78
+ get multiple() {
79
+ return this.getProperty("multiple");
80
+ }
81
+ set multiple(v) {
82
+ this.setProperty("multiple", v);
83
+ }
84
+ get accept() {
85
+ return this.getProperty("accept");
86
+ }
87
+ set accept(v) {
88
+ this.setProperty("accept", v);
89
+ }
90
+ get name() {
91
+ return this.getProperty("name");
92
+ }
93
+ set name(v) {
94
+ this.setProperty("name", v);
95
+ }
96
+ get disabled() {
97
+ return this.getProperty("disabled");
98
+ }
99
+ set disabled(v) {
100
+ this.setProperty("disabled", v);
101
+ }
102
+ get required() {
103
+ return this.getProperty("required");
104
+ }
105
+ set required(v) {
106
+ this.setProperty("required", v);
107
+ }
108
+ get label() {
109
+ return this.getProperty("label");
110
+ }
111
+ set label(v) {
112
+ this.setProperty("label", v);
113
+ }
114
+ get placeholder() {
115
+ return this.getProperty("placeholder");
116
+ }
117
+ set placeholder(v) {
118
+ this.setProperty("placeholder", v);
119
+ }
120
+ get error() {
121
+ return this.getProperty("error");
122
+ }
123
+ set error(v) {
124
+ this.setProperty("error", v);
125
+ }
126
+ get form() {
127
+ return this._internals.form;
128
+ }
129
+ // ============================================================================
130
+ // INTERNAL FILE MANAGEMENT
131
+ // ============================================================================
132
+ setFiles(newFiles) {
133
+ this._files = this.multiple ? newFiles : newFiles.slice(0, 1);
134
+ this.updateFormValue();
135
+ this.render();
136
+ const detail = {
137
+ value: this._files,
138
+ files: this._files,
139
+ names: this._files.map((f) => f.name),
140
+ };
141
+ setTimeout(() => {
142
+ this.dispatchEvent(new CustomEvent("change", { detail, bubbles: true, composed: true }));
143
+ }, 0);
144
+ }
145
+ removeFile(index) {
146
+ const updated = [...this._files];
147
+ updated.splice(index, 1);
148
+ this.setFiles(updated);
149
+ const fileInput = this.shadowRoot?.querySelector(".file-input");
150
+ if (fileInput)
151
+ fileInput.value = "";
152
+ }
153
+ // ============================================================================
154
+ // EVENT LISTENERS
155
+ // ============================================================================
156
+ setupEventListeners() {
157
+ if (this._listenersSetup)
158
+ return;
159
+ const shadow = this.shadowRoot;
160
+ const dropZone = shadow.querySelector(".drop-zone");
161
+ const fileInput = shadow.querySelector(".file-input");
162
+ this._dropZoneClickHandler = (e) => {
163
+ if (this.disabled)
164
+ return;
165
+ if (e.target.closest(".file-remove"))
166
+ return;
167
+ fileInput.click();
168
+ };
169
+ this._dropZoneKeydownHandler = (e) => {
170
+ if (this.disabled)
171
+ return;
172
+ if (e.key === "Enter" || e.key === " ") {
173
+ e.preventDefault();
174
+ fileInput.click();
175
+ }
176
+ };
177
+ this._dropZoneFocusHandler = () => {
178
+ dropZone.classList.add("focused");
179
+ };
180
+ this._dropZoneBlurHandler = () => {
181
+ dropZone.classList.remove("focused");
182
+ };
183
+ this._dragoverHandler = (e) => {
184
+ if (this.disabled)
185
+ return;
186
+ e.preventDefault();
187
+ e.stopPropagation();
188
+ if (!this._isDragging) {
189
+ this._isDragging = true;
190
+ dropZone.classList.add("drag-active");
191
+ }
192
+ };
193
+ this._dragleaveHandler = (e) => {
194
+ if (!dropZone.contains(e.relatedTarget)) {
195
+ this._isDragging = false;
196
+ dropZone.classList.remove("drag-active");
197
+ }
198
+ };
199
+ this._dropHandler = (e) => {
200
+ if (this.disabled)
201
+ return;
202
+ e.preventDefault();
203
+ e.stopPropagation();
204
+ this._isDragging = false;
205
+ dropZone.classList.remove("drag-active");
206
+ const files = Array.from(e.dataTransfer?.files ?? []);
207
+ if (files.length > 0)
208
+ this.setFiles(files);
209
+ };
210
+ this._inputChangeHandler = (e) => {
211
+ const input = e.target;
212
+ if (input.files && input.files.length > 0) {
213
+ this.setFiles(Array.from(input.files));
214
+ }
215
+ };
216
+ dropZone.addEventListener("click", this._dropZoneClickHandler);
217
+ dropZone.addEventListener("keydown", this._dropZoneKeydownHandler);
218
+ dropZone.addEventListener("focus", this._dropZoneFocusHandler);
219
+ dropZone.addEventListener("blur", this._dropZoneBlurHandler);
220
+ dropZone.addEventListener("dragover", this._dragoverHandler);
221
+ dropZone.addEventListener("dragleave", this._dragleaveHandler);
222
+ dropZone.addEventListener("drop", this._dropHandler);
223
+ fileInput.addEventListener("change", this._inputChangeHandler);
224
+ this._listenersSetup = true;
225
+ }
226
+ removeEventListeners() {
227
+ if (!this._listenersSetup)
228
+ return;
229
+ const shadow = this.shadowRoot;
230
+ if (!shadow)
231
+ return;
232
+ const dropZone = shadow.querySelector(".drop-zone");
233
+ const fileInput = shadow.querySelector(".file-input");
234
+ if (!dropZone || !fileInput)
235
+ return;
236
+ if (this._dropZoneClickHandler)
237
+ dropZone.removeEventListener("click", this._dropZoneClickHandler);
238
+ if (this._dropZoneKeydownHandler)
239
+ dropZone.removeEventListener("keydown", this._dropZoneKeydownHandler);
240
+ if (this._dropZoneFocusHandler)
241
+ dropZone.removeEventListener("focus", this._dropZoneFocusHandler);
242
+ if (this._dropZoneBlurHandler)
243
+ dropZone.removeEventListener("blur", this._dropZoneBlurHandler);
244
+ if (this._dragoverHandler)
245
+ dropZone.removeEventListener("dragover", this._dragoverHandler);
246
+ if (this._dragleaveHandler)
247
+ dropZone.removeEventListener("dragleave", this._dragleaveHandler);
248
+ if (this._dropHandler)
249
+ dropZone.removeEventListener("drop", this._dropHandler);
250
+ if (this._inputChangeHandler)
251
+ fileInput.removeEventListener("change", this._inputChangeHandler);
252
+ this._listenersSetup = false;
253
+ }
254
+ // ============================================================================
255
+ // RENDERING
256
+ // ============================================================================
257
+ buildDropZoneClasses() {
258
+ const classes = ["drop-zone"];
259
+ if (this._isDragging)
260
+ classes.push("drag-active");
261
+ if (this._files.length > 0)
262
+ classes.push("has-files");
263
+ if (this.disabled)
264
+ classes.push("disabled");
265
+ if (this.error)
266
+ classes.push("error");
267
+ return classes.join(" ");
268
+ }
269
+ renderFileList(fileList) {
270
+ fileList.innerHTML = "";
271
+ for (let i = 0; i < this._files.length; i++) {
272
+ const file = this._files[i];
273
+ const item = document.createElement("div");
274
+ item.className = "file-item";
275
+ const icon = document.createElement("span");
276
+ icon.className = "file-icon";
277
+ icon.innerHTML = FILE_ICON;
278
+ const name = document.createElement("span");
279
+ name.className = "file-name";
280
+ name.textContent = file.name;
281
+ name.title = file.name;
282
+ const size = document.createElement("span");
283
+ size.className = "file-size";
284
+ size.textContent = formatBytes(file.size);
285
+ const removeBtn = document.createElement("button");
286
+ removeBtn.className = "file-remove";
287
+ removeBtn.type = "button";
288
+ removeBtn.innerHTML = X_ICON;
289
+ removeBtn.setAttribute("aria-label", `Remove ${file.name}`);
290
+ const capturedIndex = i;
291
+ removeBtn.addEventListener("click", (e) => {
292
+ e.stopPropagation();
293
+ this.removeFile(capturedIndex);
294
+ });
295
+ item.appendChild(icon);
296
+ item.appendChild(name);
297
+ item.appendChild(size);
298
+ item.appendChild(removeBtn);
299
+ fileList.appendChild(item);
300
+ }
301
+ }
302
+ render() {
303
+ const shadow = this.shadowRoot;
304
+ let container = shadow.querySelector(".file-upload-container");
305
+ if (!container) {
306
+ container = document.createElement("div");
307
+ container.className = "file-upload-container";
308
+ const labelEl = document.createElement("div");
309
+ labelEl.className = "upload-label";
310
+ container.appendChild(labelEl);
311
+ const dropZone = document.createElement("div");
312
+ dropZone.className = "drop-zone";
313
+ dropZone.setAttribute("role", "button");
314
+ const fileInput = document.createElement("input");
315
+ fileInput.type = "file";
316
+ fileInput.className = "file-input";
317
+ fileInput.style.display = "none";
318
+ dropZone.appendChild(fileInput);
319
+ const uploadIcon = document.createElement("div");
320
+ uploadIcon.className = "upload-icon";
321
+ uploadIcon.innerHTML = UPLOAD_ICON;
322
+ dropZone.appendChild(uploadIcon);
323
+ const hintEl = document.createElement("div");
324
+ hintEl.className = "upload-hint";
325
+ dropZone.appendChild(hintEl);
326
+ const subHintEl = document.createElement("div");
327
+ subHintEl.className = "upload-sub-hint";
328
+ dropZone.appendChild(subHintEl);
329
+ container.appendChild(dropZone);
330
+ const fileList = document.createElement("div");
331
+ fileList.className = "file-list";
332
+ container.appendChild(fileList);
333
+ const errorEl = document.createElement("div");
334
+ errorEl.className = "error-message";
335
+ container.appendChild(errorEl);
336
+ shadow.appendChild(container);
337
+ this.setupEventListeners();
338
+ }
339
+ // Label
340
+ const labelEl = container.querySelector(".upload-label");
341
+ if (this.label) {
342
+ labelEl.style.display = "";
343
+ labelEl.innerHTML = "";
344
+ labelEl.appendChild(document.createTextNode(this.label));
345
+ if (this.required) {
346
+ const req = document.createElement("span");
347
+ req.className = "required-icon";
348
+ req.textContent = "*";
349
+ req.setAttribute("aria-hidden", "true");
350
+ labelEl.appendChild(req);
351
+ }
352
+ }
353
+ else {
354
+ labelEl.style.display = "none";
355
+ }
356
+ // Drop zone
357
+ const dropZone = container.querySelector(".drop-zone");
358
+ dropZone.className = this.buildDropZoneClasses();
359
+ dropZone.tabIndex = this.disabled ? -1 : 0;
360
+ dropZone.setAttribute("aria-disabled", String(this.disabled));
361
+ dropZone.setAttribute("aria-label", this.placeholder || "Upload files");
362
+ // File input
363
+ const fileInput = container.querySelector(".file-input");
364
+ fileInput.multiple = this.multiple;
365
+ fileInput.accept = this.accept;
366
+ fileInput.disabled = this.disabled;
367
+ // Upload icon — hide once files are selected to give room to the compact zone
368
+ const uploadIcon = container.querySelector(".upload-icon");
369
+ uploadIcon.style.display = this._files.length > 0 ? "none" : "";
370
+ // Hint text
371
+ const hintEl = container.querySelector(".upload-hint");
372
+ if (this._files.length > 0) {
373
+ hintEl.innerHTML = `<strong>${this._files.length} file${this._files.length !== 1 ? "s" : ""} selected</strong>`;
374
+ }
375
+ else {
376
+ hintEl.innerHTML = `Drop files here or <span class="browse-link">click to browse</span>`;
377
+ }
378
+ // Sub-hint
379
+ const subHintEl = container.querySelector(".upload-sub-hint");
380
+ if (this.accept && this._files.length === 0) {
381
+ subHintEl.textContent = `Accepted: ${this.accept}`;
382
+ subHintEl.style.display = "";
383
+ }
384
+ else {
385
+ subHintEl.style.display = "none";
386
+ }
387
+ // File list
388
+ const fileList = container.querySelector(".file-list");
389
+ this.renderFileList(fileList);
390
+ // Error message
391
+ const errorEl = container.querySelector(".error-message");
392
+ errorEl.textContent = this.error;
393
+ errorEl.style.display = this.error ? "" : "none";
394
+ }
395
+ }
396
+ TyFileUpload.formAssociated = true;
397
+ TyFileUpload.properties = {
398
+ multiple: {
399
+ type: "boolean",
400
+ visual: true,
401
+ default: false,
402
+ },
403
+ accept: {
404
+ type: "string",
405
+ visual: true,
406
+ default: "",
407
+ },
408
+ name: {
409
+ type: "string",
410
+ default: "",
411
+ },
412
+ disabled: {
413
+ type: "boolean",
414
+ visual: true,
415
+ default: false,
416
+ },
417
+ required: {
418
+ type: "boolean",
419
+ visual: true,
420
+ default: false,
421
+ },
422
+ label: {
423
+ type: "string",
424
+ visual: true,
425
+ default: "",
426
+ },
427
+ placeholder: {
428
+ type: "string",
429
+ visual: true,
430
+ default: "Drop files here or click to browse",
431
+ },
432
+ error: {
433
+ type: "string",
434
+ visual: true,
435
+ default: "",
436
+ },
437
+ };
438
+ if (!customElements.get("ty-file-upload")) {
439
+ customElements.define("ty-file-upload", TyFileUpload);
440
+ }
441
+ //# sourceMappingURL=file-upload.js.map