@jobber/components 4.85.4-CJS-to-ESM.1 → 4.85.4-CJS-to-ESM.2

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 (451) hide show
  1. package/dist/AnimatedPresence-20a02aaa.js +104 -0
  2. package/dist/AnimatedPresence-bbccdaf7.js +98 -0
  3. package/dist/AnimatedPresence.cjs +12 -0
  4. package/dist/AnimatedPresence.js +4 -0
  5. package/dist/AnimatedSwitcher-3aff3d12.js +90 -0
  6. package/dist/AnimatedSwitcher-3d45ec5d.js +96 -0
  7. package/dist/AnimatedSwitcher.cjs +13 -0
  8. package/dist/AnimatedSwitcher.js +5 -0
  9. package/dist/Autocomplete-b35c7ff5.js +196 -0
  10. package/dist/Autocomplete-dc7a4b9e.js +188 -0
  11. package/dist/Autocomplete.cjs +33 -0
  12. package/dist/Autocomplete.js +25 -0
  13. package/dist/Avatar-229083ec.js +70 -0
  14. package/dist/Avatar-cccf72b9.js +78 -0
  15. package/dist/Avatar.cjs +15 -0
  16. package/dist/Avatar.js +7 -0
  17. package/dist/Banner-18d94700.js +105 -0
  18. package/dist/Banner-5475a9ea.js +98 -0
  19. package/dist/Banner.cjs +20 -0
  20. package/dist/Banner.js +12 -0
  21. package/dist/Body-22878526.js +64 -0
  22. package/dist/Body-4fbe21ac.js +50 -0
  23. package/dist/Button-30154871.js +50 -0
  24. package/dist/Button-ec64869e.js +57 -0
  25. package/dist/Button.cjs +16 -0
  26. package/dist/Button.js +8 -0
  27. package/dist/ButtonDismiss-a11eef74.js +8 -0
  28. package/dist/ButtonDismiss-d7417429.js +14 -0
  29. package/dist/ButtonDismiss.cjs +17 -0
  30. package/dist/ButtonDismiss.js +9 -0
  31. package/dist/Card-27375ded.js +93 -0
  32. package/dist/Card-35bd61ce.js +86 -0
  33. package/dist/Card.cjs +24 -0
  34. package/dist/Card.js +16 -0
  35. package/dist/Checkbox-a91b14f7.js +56 -0
  36. package/dist/Checkbox-b6e46d80.js +63 -0
  37. package/dist/Checkbox.cjs +18 -0
  38. package/dist/Checkbox.js +10 -0
  39. package/dist/Chip-01343f8b.js +81 -0
  40. package/dist/Chip-24613c57.js +89 -0
  41. package/dist/Chip.cjs +27 -0
  42. package/dist/Chip.js +17 -0
  43. package/dist/ChipDismissible-1f2754bd.js +19 -0
  44. package/dist/ChipDismissible-a8ecc894.js +26 -0
  45. package/dist/Chips-7c44a2f9.js +494 -0
  46. package/dist/Chips-a8f4c9f2.js +505 -0
  47. package/dist/Chips.cjs +46 -0
  48. package/dist/Chips.js +37 -0
  49. package/dist/Combobox-44f0ec2a.js +468 -0
  50. package/dist/Combobox-d8d28b1e.js +479 -0
  51. package/dist/Combobox.cjs +40 -0
  52. package/dist/Combobox.js +31 -0
  53. package/dist/ConfirmationModal-09ec5d02.js +100 -0
  54. package/dist/ConfirmationModal-64f82a31.js +94 -0
  55. package/dist/ConfirmationModal.cjs +31 -0
  56. package/dist/ConfirmationModal.js +23 -0
  57. package/dist/Content-60a3452a.js +24 -0
  58. package/dist/Content-c96e9299.js +18 -0
  59. package/dist/Content.cjs +12 -0
  60. package/dist/Content.js +4 -0
  61. package/dist/Countdown-961d8a6e.js +70 -0
  62. package/dist/Countdown-ac081ced.js +63 -0
  63. package/dist/Countdown.cjs +12 -0
  64. package/dist/Countdown.js +4 -0
  65. package/dist/DataDump-6fae2727.js +15 -0
  66. package/dist/DataDump-f427abfe.js +21 -0
  67. package/dist/DataDump.cjs +27 -0
  68. package/dist/DataDump.js +19 -0
  69. package/dist/DataList-18f2d692.js +1310 -0
  70. package/dist/DataList-4b0f9e5d.js +1320 -0
  71. package/dist/DataList.cjs +52 -0
  72. package/dist/DataList.js +44 -0
  73. package/dist/DataTable-0f6649e0.js +245 -0
  74. package/dist/DataTable-aab7f6b9.js +252 -0
  75. package/dist/DataTable.cjs +65 -0
  76. package/dist/DataTable.js +36 -0
  77. package/dist/DatePicker-5d0c0353.js +125 -0
  78. package/dist/DatePicker-c091c0d2.js +134 -0
  79. package/dist/DatePicker.cjs +20 -0
  80. package/dist/DatePicker.js +12 -0
  81. package/dist/DescriptionList-2cb975a9.js +15 -0
  82. package/dist/DescriptionList-74db99a5.js +21 -0
  83. package/dist/DescriptionList.cjs +13 -0
  84. package/dist/DescriptionList.js +5 -0
  85. package/dist/Disclosure-00a9459b.js +36 -0
  86. package/dist/Disclosure-56309ff3.js +42 -0
  87. package/dist/Disclosure.cjs +16 -0
  88. package/dist/Disclosure.js +8 -0
  89. package/dist/Divider-1e6ac1ec.js +27 -0
  90. package/dist/Divider-589745c1.js +20 -0
  91. package/dist/Divider.cjs +12 -0
  92. package/dist/Divider.js +4 -0
  93. package/dist/Drawer.cjs +21 -0
  94. package/dist/Drawer.js +12 -0
  95. package/dist/DrawerGrid-0861e529.js +33 -0
  96. package/dist/DrawerGrid-b233d837.js +41 -0
  97. package/dist/Emphasis-2a640962.js +13 -0
  98. package/dist/Emphasis-84de1f3f.js +19 -0
  99. package/dist/Emphasis.cjs +13 -0
  100. package/dist/Emphasis.js +5 -0
  101. package/dist/FeatureSwitch-ddaebf27.js +62 -0
  102. package/dist/FeatureSwitch-e33e30a9.js +55 -0
  103. package/dist/FeatureSwitch.cjs +26 -0
  104. package/dist/FeatureSwitch.js +18 -0
  105. package/dist/Flex-041db5c8.js +31 -0
  106. package/dist/Flex-ddf28839.js +38 -0
  107. package/dist/Flex.cjs +12 -0
  108. package/dist/Flex.js +4 -0
  109. package/dist/Form-6a161b07.js +48 -0
  110. package/dist/Form-927647ef.js +54 -0
  111. package/dist/Form.cjs +12 -0
  112. package/dist/Form.js +4 -0
  113. package/dist/FormField-f1f405d2.js +246 -0
  114. package/dist/FormField-fc30bb1a.js +253 -0
  115. package/dist/FormField.cjs +24 -0
  116. package/dist/FormField.js +16 -0
  117. package/dist/FormatDate-70ea5b43.js +34 -0
  118. package/dist/FormatDate-720b39cf.js +27 -0
  119. package/dist/FormatDate.cjs +11 -0
  120. package/dist/FormatDate.js +2 -0
  121. package/dist/FormatEmail-04ee4085.js +14 -0
  122. package/dist/FormatEmail-298393bb.js +21 -0
  123. package/dist/FormatEmail.cjs +12 -0
  124. package/dist/FormatEmail.js +4 -0
  125. package/dist/FormatFile-648aea3e.js +154 -0
  126. package/dist/FormatFile-d57b8dfa.js +162 -0
  127. package/dist/FormatFile.cjs +36 -0
  128. package/dist/FormatFile.js +28 -0
  129. package/dist/FormatRelativeDateTime-529dc36b.js +64 -0
  130. package/dist/FormatRelativeDateTime-6336002d.js +70 -0
  131. package/dist/FormatRelativeDateTime.cjs +10 -0
  132. package/dist/FormatRelativeDateTime.js +2 -0
  133. package/dist/FormatTime-20538519.js +34 -0
  134. package/dist/FormatTime-764fd3c8.js +28 -0
  135. package/dist/FormatTime.cjs +10 -0
  136. package/dist/FormatTime.js +2 -0
  137. package/dist/Gallery-7760f21f.js +66 -0
  138. package/dist/Gallery-8d4d79a2.js +73 -0
  139. package/dist/Gallery.cjs +39 -0
  140. package/dist/Gallery.js +31 -0
  141. package/dist/Glimmer-3fcdae65.js +77 -0
  142. package/dist/Glimmer-6bf75ae0.js +69 -0
  143. package/dist/Glimmer.cjs +15 -0
  144. package/dist/Glimmer.js +6 -0
  145. package/dist/Grid-c28e226d.js +66 -0
  146. package/dist/Grid-cce44c9d.js +74 -0
  147. package/dist/Grid.cjs +14 -0
  148. package/dist/Grid.js +5 -0
  149. package/dist/Heading-a8a24775.js +55 -0
  150. package/dist/Heading-dfd4f1cf.js +49 -0
  151. package/dist/Heading.cjs +14 -0
  152. package/dist/Heading.js +6 -0
  153. package/dist/Icon-22723fe6.js +34 -0
  154. package/dist/Icon-405a216c.js +40 -0
  155. package/dist/Icon.cjs +11 -0
  156. package/dist/Icon.js +3 -0
  157. package/dist/InlineLabel-20f9095e.js +21 -0
  158. package/dist/InlineLabel-5144fa06.js +28 -0
  159. package/dist/InlineLabel.cjs +13 -0
  160. package/dist/InlineLabel.js +5 -0
  161. package/dist/InputAvatar-3a10bdb1.js +50 -0
  162. package/dist/InputAvatar-95c98620.js +56 -0
  163. package/dist/InputAvatar.cjs +28 -0
  164. package/dist/InputAvatar.js +20 -0
  165. package/dist/InputDate-c258f5cb.js +32 -0
  166. package/dist/InputDate-c5f19423.js +39 -0
  167. package/dist/InputDate.cjs +29 -0
  168. package/dist/InputDate.js +21 -0
  169. package/dist/InputEmail-4efba03d.js +27 -0
  170. package/dist/InputEmail-812bdffe.js +20 -0
  171. package/dist/InputEmail.cjs +26 -0
  172. package/dist/InputEmail.js +17 -0
  173. package/dist/InputFile-921c050e.js +190 -0
  174. package/dist/InputFile-d089b486.js +181 -0
  175. package/dist/InputFile.cjs +25 -0
  176. package/dist/InputFile.js +16 -0
  177. package/dist/InputGroup-436859cf.js +26 -0
  178. package/dist/InputGroup-8d4fd4eb.js +33 -0
  179. package/dist/InputGroup.cjs +12 -0
  180. package/dist/InputGroup.js +4 -0
  181. package/dist/InputNumber-4bd38b8e.js +56 -0
  182. package/dist/InputNumber-df9cb825.js +62 -0
  183. package/dist/InputNumber.cjs +25 -0
  184. package/dist/InputNumber.js +17 -0
  185. package/dist/InputPassword-08d2dfa1.js +25 -0
  186. package/dist/InputPassword-6b937a91.js +19 -0
  187. package/dist/InputPassword.cjs +25 -0
  188. package/dist/InputPassword.js +17 -0
  189. package/dist/InputPhoneNumber-947bdb49.js +97 -0
  190. package/dist/InputPhoneNumber-cbb2ca7d.js +103 -0
  191. package/dist/InputPhoneNumber.cjs +25 -0
  192. package/dist/InputPhoneNumber.js +17 -0
  193. package/dist/InputText-125769fd.js +102 -0
  194. package/dist/InputText-2fd8f942.js +96 -0
  195. package/dist/InputText.cjs +26 -0
  196. package/dist/InputText.js +18 -0
  197. package/dist/InputTime-3c4bdff0.js +194 -0
  198. package/dist/InputTime-ef8af2d9.js +187 -0
  199. package/dist/InputTime.cjs +27 -0
  200. package/dist/InputTime.js +19 -0
  201. package/dist/InputValidation-4a61254d.js +29 -0
  202. package/dist/InputValidation-fe42fc3f.js +23 -0
  203. package/dist/InputValidation.cjs +17 -0
  204. package/dist/InputValidation.js +9 -0
  205. package/dist/LightBox-3d6e74ba.js +117 -0
  206. package/dist/LightBox-8cc72953.js +109 -0
  207. package/dist/LightBox.cjs +24 -0
  208. package/dist/LightBox.js +16 -0
  209. package/dist/Link-b41bc1d3.js +7 -0
  210. package/dist/Link-fd7301ec.js +13 -0
  211. package/dist/Link.cjs +10 -0
  212. package/dist/Link.js +2 -0
  213. package/dist/List-4fe52f57.js +77 -0
  214. package/dist/List-821f249d.js +87 -0
  215. package/dist/List.cjs +25 -0
  216. package/dist/List.js +16 -0
  217. package/dist/Markdown-36854bd5.js +62 -0
  218. package/dist/Markdown-7b84fcdb.js +55 -0
  219. package/dist/Markdown.cjs +19 -0
  220. package/dist/Markdown.js +11 -0
  221. package/dist/Menu-5ce3cf41.js +139 -0
  222. package/dist/Menu-fb0b2e9b.js +132 -0
  223. package/dist/Menu.cjs +21 -0
  224. package/dist/Menu.js +13 -0
  225. package/dist/Modal-cda55f02.js +71 -0
  226. package/dist/Modal-eeb52d66.js +63 -0
  227. package/dist/Modal.cjs +25 -0
  228. package/dist/Modal.js +17 -0
  229. package/dist/MultiSelect-0af9c956.js +169 -0
  230. package/dist/MultiSelect-707000e1.js +176 -0
  231. package/dist/MultiSelect.cjs +19 -0
  232. package/dist/MultiSelect.js +11 -0
  233. package/dist/Option-58d7cab6.js +12 -0
  234. package/dist/Option-73515eec.js +19 -0
  235. package/dist/Page-0b334096.js +59 -0
  236. package/dist/Page-fdb087db.js +66 -0
  237. package/dist/Page.cjs +30 -0
  238. package/dist/Page.js +22 -0
  239. package/dist/Popover-798f548e.js +47 -0
  240. package/dist/Popover-968c63b2.js +53 -0
  241. package/dist/Popover.cjs +20 -0
  242. package/dist/Popover.js +12 -0
  243. package/dist/ProgressBar-022ef3f6.js +36 -0
  244. package/dist/ProgressBar-4ee648b7.js +43 -0
  245. package/dist/ProgressBar.cjs +12 -0
  246. package/dist/ProgressBar.js +4 -0
  247. package/dist/RadioGroup-68edd1e3.js +46 -0
  248. package/dist/RadioGroup-a089f132.js +39 -0
  249. package/dist/RadioGroup.cjs +15 -0
  250. package/dist/RadioGroup.js +6 -0
  251. package/dist/RecurringSelect-2de4014c.js +208 -0
  252. package/dist/RecurringSelect-e391af31.js +214 -0
  253. package/dist/RecurringSelect.cjs +38 -0
  254. package/dist/RecurringSelect.js +22 -0
  255. package/dist/Select.cjs +26 -0
  256. package/dist/Select.js +17 -0
  257. package/dist/Spinner-3480bc34.js +24 -0
  258. package/dist/Spinner-90081e20.js +17 -0
  259. package/dist/Spinner.cjs +12 -0
  260. package/dist/Spinner.js +4 -0
  261. package/dist/StatusIndicator-0c680acb.js +18 -0
  262. package/dist/StatusIndicator-d6f9aefa.js +12 -0
  263. package/dist/StatusIndicator.cjs +11 -0
  264. package/dist/StatusIndicator.js +3 -0
  265. package/dist/StatusLabel-5bf96fdb.js +26 -0
  266. package/dist/StatusLabel-66214fc7.js +19 -0
  267. package/dist/StatusLabel.cjs +15 -0
  268. package/dist/StatusLabel.js +7 -0
  269. package/dist/Switch-6c6c727b.js +56 -0
  270. package/dist/Switch-87706cde.js +49 -0
  271. package/dist/Switch.cjs +13 -0
  272. package/dist/Switch.js +5 -0
  273. package/dist/Table.cjs +20 -0
  274. package/dist/Table.js +5 -0
  275. package/dist/Tabs-109f1f10.js +70 -0
  276. package/dist/Tabs-d6c8b965.js +78 -0
  277. package/dist/Tabs.cjs +14 -0
  278. package/dist/Tabs.js +5 -0
  279. package/dist/Text-714f7d14.js +31 -0
  280. package/dist/Text-c92ddeb3.js +25 -0
  281. package/dist/Text.cjs +13 -0
  282. package/dist/Text.js +5 -0
  283. package/dist/Toast.cjs +19 -0
  284. package/dist/Toast.js +11 -0
  285. package/dist/Tooltip-2e477150.js +112 -0
  286. package/dist/Tooltip-a40fffbd.js +104 -0
  287. package/dist/Tooltip.cjs +16 -0
  288. package/dist/Tooltip.js +8 -0
  289. package/dist/Typography-52ed1386.js +55 -0
  290. package/dist/Typography-fd88fcce.js +62 -0
  291. package/dist/Typography.cjs +12 -0
  292. package/dist/Typography.js +4 -0
  293. package/dist/getAtlantisConfig-0f3e8af2.js +13 -0
  294. package/dist/getAtlantisConfig-5b50057c.js +11 -0
  295. package/dist/index.cjs +216 -6713
  296. package/dist/index.js +112 -0
  297. package/dist/showToast-63be1cf0.js +106 -0
  298. package/dist/showToast-ff666be8.js +100 -0
  299. package/dist/style-inject.es-9d2f5f4e.js +30 -0
  300. package/dist/style-inject.es-a0e1a0ba.js +28 -0
  301. package/dist/tslib.es6-754e2961.js +46 -0
  302. package/dist/tslib.es6-c563c1dd.js +43 -0
  303. package/package.json +6 -365
  304. package/AnimatedPresence.d.ts +0 -1
  305. package/AnimatedPresence.js +0 -17
  306. package/AnimatedSwitcher.d.ts +0 -1
  307. package/AnimatedSwitcher.js +0 -17
  308. package/Autocomplete.d.ts +0 -1
  309. package/Autocomplete.js +0 -17
  310. package/Avatar.d.ts +0 -1
  311. package/Avatar.js +0 -17
  312. package/Banner.d.ts +0 -1
  313. package/Banner.js +0 -17
  314. package/Button.d.ts +0 -1
  315. package/Button.js +0 -17
  316. package/ButtonDismiss.d.ts +0 -1
  317. package/ButtonDismiss.js +0 -17
  318. package/Card.d.ts +0 -1
  319. package/Card.js +0 -17
  320. package/Checkbox.d.ts +0 -1
  321. package/Checkbox.js +0 -17
  322. package/Chip.d.ts +0 -1
  323. package/Chip.js +0 -17
  324. package/Chips.d.ts +0 -1
  325. package/Chips.js +0 -17
  326. package/Combobox.d.ts +0 -1
  327. package/Combobox.js +0 -17
  328. package/ConfirmationModal.d.ts +0 -1
  329. package/ConfirmationModal.js +0 -17
  330. package/Content.d.ts +0 -1
  331. package/Content.js +0 -17
  332. package/Countdown.d.ts +0 -1
  333. package/Countdown.js +0 -17
  334. package/DataDump.d.ts +0 -1
  335. package/DataDump.js +0 -17
  336. package/DataList.d.ts +0 -1
  337. package/DataList.js +0 -17
  338. package/DataTable.d.ts +0 -1
  339. package/DataTable.js +0 -17
  340. package/DatePicker.d.ts +0 -1
  341. package/DatePicker.js +0 -17
  342. package/DescriptionList.d.ts +0 -1
  343. package/DescriptionList.js +0 -17
  344. package/Disclosure.d.ts +0 -1
  345. package/Disclosure.js +0 -17
  346. package/Divider.d.ts +0 -1
  347. package/Divider.js +0 -17
  348. package/Drawer.d.ts +0 -1
  349. package/Drawer.js +0 -17
  350. package/Emphasis.d.ts +0 -1
  351. package/Emphasis.js +0 -17
  352. package/FeatureSwitch.d.ts +0 -1
  353. package/FeatureSwitch.js +0 -17
  354. package/Flex.d.ts +0 -1
  355. package/Flex.js +0 -17
  356. package/Form.d.ts +0 -1
  357. package/Form.js +0 -17
  358. package/FormField.d.ts +0 -1
  359. package/FormField.js +0 -17
  360. package/FormatDate.d.ts +0 -1
  361. package/FormatDate.js +0 -17
  362. package/FormatEmail.d.ts +0 -1
  363. package/FormatEmail.js +0 -17
  364. package/FormatFile.d.ts +0 -1
  365. package/FormatFile.js +0 -17
  366. package/FormatRelativeDateTime.d.ts +0 -1
  367. package/FormatRelativeDateTime.js +0 -17
  368. package/FormatTime.d.ts +0 -1
  369. package/FormatTime.js +0 -17
  370. package/Gallery.d.ts +0 -1
  371. package/Gallery.js +0 -17
  372. package/Glimmer.d.ts +0 -1
  373. package/Glimmer.js +0 -17
  374. package/Grid.d.ts +0 -1
  375. package/Grid.js +0 -17
  376. package/Heading.d.ts +0 -1
  377. package/Heading.js +0 -17
  378. package/Icon.d.ts +0 -1
  379. package/Icon.js +0 -17
  380. package/InlineLabel.d.ts +0 -1
  381. package/InlineLabel.js +0 -17
  382. package/InputAvatar.d.ts +0 -1
  383. package/InputAvatar.js +0 -17
  384. package/InputDate.d.ts +0 -1
  385. package/InputDate.js +0 -17
  386. package/InputEmail.d.ts +0 -1
  387. package/InputEmail.js +0 -17
  388. package/InputFile.d.ts +0 -1
  389. package/InputFile.js +0 -17
  390. package/InputGroup.d.ts +0 -1
  391. package/InputGroup.js +0 -17
  392. package/InputNumber.d.ts +0 -1
  393. package/InputNumber.js +0 -17
  394. package/InputPassword.d.ts +0 -1
  395. package/InputPassword.js +0 -17
  396. package/InputPhoneNumber.d.ts +0 -1
  397. package/InputPhoneNumber.js +0 -17
  398. package/InputText.d.ts +0 -1
  399. package/InputText.js +0 -17
  400. package/InputTime.d.ts +0 -1
  401. package/InputTime.js +0 -17
  402. package/InputValidation.d.ts +0 -1
  403. package/InputValidation.js +0 -17
  404. package/LightBox.d.ts +0 -1
  405. package/LightBox.js +0 -17
  406. package/Link.d.ts +0 -1
  407. package/Link.js +0 -17
  408. package/List.d.ts +0 -1
  409. package/List.js +0 -17
  410. package/Markdown.d.ts +0 -1
  411. package/Markdown.js +0 -17
  412. package/Menu.d.ts +0 -1
  413. package/Menu.js +0 -17
  414. package/Modal.d.ts +0 -1
  415. package/Modal.js +0 -17
  416. package/MultiSelect.d.ts +0 -1
  417. package/MultiSelect.js +0 -17
  418. package/Page.d.ts +0 -1
  419. package/Page.js +0 -17
  420. package/Popover.d.ts +0 -1
  421. package/Popover.js +0 -17
  422. package/ProgressBar.d.ts +0 -1
  423. package/ProgressBar.js +0 -17
  424. package/RadioGroup.d.ts +0 -1
  425. package/RadioGroup.js +0 -17
  426. package/RecurringSelect.d.ts +0 -1
  427. package/RecurringSelect.js +0 -17
  428. package/Select.d.ts +0 -1
  429. package/Select.js +0 -17
  430. package/Spinner.d.ts +0 -1
  431. package/Spinner.js +0 -17
  432. package/StatusIndicator.d.ts +0 -1
  433. package/StatusIndicator.js +0 -17
  434. package/StatusLabel.d.ts +0 -1
  435. package/StatusLabel.js +0 -17
  436. package/Switch.d.ts +0 -1
  437. package/Switch.js +0 -17
  438. package/Table.d.ts +0 -1
  439. package/Table.js +0 -17
  440. package/Tabs.d.ts +0 -1
  441. package/Tabs.js +0 -17
  442. package/Text.d.ts +0 -1
  443. package/Text.js +0 -17
  444. package/Toast.d.ts +0 -1
  445. package/Toast.js +0 -17
  446. package/Tooltip.d.ts +0 -1
  447. package/Tooltip.js +0 -17
  448. package/Typography.d.ts +0 -1
  449. package/Typography.js +0 -17
  450. package/dist/index.esm.js +0 -6603
  451. package/rollup.config.js +0 -75
@@ -0,0 +1,33 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var classnames = require('classnames');
5
+ var styleInject_es = require('./style-inject.es-9d2f5f4e.js');
6
+
7
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
+
9
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
10
+ var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
11
+
12
+ var css_248z = "._4bvHwa3-qBA- > *:not(:last-child) {\n margin-bottom: -1px !important;\n}\n\n.bHm4WuX8ToY- {\n display: -ms-flexbox;\n display: flex;\n}\n\n.bHm4WuX8ToY- > *:not(:last-child) {\n margin-bottom: auto;\n margin-right: -1px;\n}\n\n/* Border corners are rounded on the outside edges of the group */\n\n.nmDPgrXofeE- {\n --public-field--top-left-radius: 0;\n --public-field--top-right-radius: 0;\n --public-field--bottom-left-radius: 0;\n --public-field--bottom-right-radius: 0;\n}\n\n._4bvHwa3-qBA- > :first-child:not(.bHm4WuX8ToY-) {\n --public-field--top-left-radius: var(--radius-base);\n --public-field--top-right-radius: var(--radius-base);\n}\n\n._4bvHwa3-qBA- > :last-child:not(.bHm4WuX8ToY-) {\n --public-field--bottom-left-radius: var(--radius-base);\n --public-field--bottom-right-radius: var(--radius-base);\n}\n\n/* First Horizontal Input Group */\n\n.bHm4WuX8ToY-:first-child > :first-child {\n --public-field--top-left-radius: var(--radius-base);\n}\n\n.bHm4WuX8ToY-:first-child > :last-child {\n --public-field--top-right-radius: var(--radius-base);\n}\n\n/* Last Horizontal Input Group */\n\n.bHm4WuX8ToY-:last-child > :first-child {\n --public-field--bottom-left-radius: var(--radius-base);\n}\n\n.bHm4WuX8ToY-:last-child > :last-child {\n --public-field--bottom-right-radius: var(--radius-base);\n}\n";
13
+ var styles = {"vertical":"_4bvHwa3-qBA-","horizontal":"bHm4WuX8ToY-","inputGroup":"nmDPgrXofeE-"};
14
+ styleInject_es.styleInject(css_248z);
15
+
16
+ function InputGroup({ children, flowDirection = "vertical", }) {
17
+ if (isInvalidGroupNesting(children))
18
+ return React__default["default"].createElement(React__default["default"].Fragment, null);
19
+ const className = classnames__default["default"](styles.inputGroup, styles[flowDirection]);
20
+ return React__default["default"].createElement("div", { className: className }, children);
21
+ }
22
+ function isInvalidGroupNesting(childs) {
23
+ return React__default["default"].Children.toArray(childs).some(child => {
24
+ if (child.type === InputGroup &&
25
+ child.props.flowDirection != "horizontal") {
26
+ console.error(`ERROR: InputGroup not rendered: nesting 'flowDirection="vertical"' columns not supported.`, `https://atlantis.getjobber.com/?path=/story/components-forms-and-inputs-inputgroup-web--nested`);
27
+ return true;
28
+ }
29
+ return false;
30
+ });
31
+ }
32
+
33
+ exports.InputGroup = InputGroup;
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var InputGroup = require('./InputGroup-8d4fd4eb.js');
6
+ require('react');
7
+ require('classnames');
8
+ require('./style-inject.es-9d2f5f4e.js');
9
+
10
+
11
+
12
+ exports.InputGroup = InputGroup.InputGroup;
@@ -0,0 +1,4 @@
1
+ export { I as InputGroup } from './InputGroup-436859cf.js';
2
+ import 'react';
3
+ import 'classnames';
4
+ import './style-inject.es-a0e1a0ba.js';
@@ -0,0 +1,56 @@
1
+ import React, { forwardRef, createRef, useImperativeHandle } from 'react';
2
+ import { F as FormField } from './FormField-f1f405d2.js';
3
+
4
+ function InputNumberInternal(props, ref) {
5
+ var _a;
6
+ const inputRef = createRef();
7
+ useImperativeHandle(ref, () => ({
8
+ blur: () => {
9
+ const input = inputRef.current;
10
+ if (input) {
11
+ input.blur();
12
+ }
13
+ },
14
+ focus: () => {
15
+ const input = inputRef.current;
16
+ if (input) {
17
+ input.focus();
18
+ }
19
+ },
20
+ }));
21
+ return (React.createElement(FormField, Object.assign({}, props, { type: "number", inputRef: inputRef, onChange: handleChange, validations: Object.assign(Object.assign({}, props.validations), { validate: customValidators((_a = props.validations) === null || _a === void 0 ? void 0 : _a.validate) }) })));
22
+ function customValidators(validators) {
23
+ if (validators == null) {
24
+ return getOverLimitMessage;
25
+ }
26
+ else if (typeof validators === "function") {
27
+ return {
28
+ customValidation: validators,
29
+ getOverLimitMessage,
30
+ };
31
+ }
32
+ return Object.assign(Object.assign({}, validators), { getOverLimitMessage });
33
+ }
34
+ function handleChange(newValue) {
35
+ props.onChange && props.onChange(newValue);
36
+ }
37
+ function getOverLimitMessage(value) {
38
+ const isOverMax = props.max != undefined && value && value > props.max;
39
+ const isUnderMin = props.min != undefined && value && value < props.min;
40
+ if (isOverMax || isUnderMin || (value && value.toString() === "")) {
41
+ if (props.min != undefined && props.max === undefined) {
42
+ return `Enter a number that is greater than or equal to ${props.min}`;
43
+ }
44
+ else if (props.max != undefined && props.min === undefined) {
45
+ return `Enter a number that is less than or equal to ${props.max}`;
46
+ }
47
+ else if (props.min != undefined && props.max != undefined) {
48
+ return `Enter a number between ${props.min} and ${props.max}`;
49
+ }
50
+ }
51
+ return true;
52
+ }
53
+ }
54
+ const InputNumber = forwardRef(InputNumberInternal);
55
+
56
+ export { InputNumber as I };
@@ -0,0 +1,62 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var FormField = require('./FormField-fc30bb1a.js');
5
+
6
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
7
+
8
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
9
+
10
+ function InputNumberInternal(props, ref) {
11
+ var _a;
12
+ const inputRef = React.createRef();
13
+ React.useImperativeHandle(ref, () => ({
14
+ blur: () => {
15
+ const input = inputRef.current;
16
+ if (input) {
17
+ input.blur();
18
+ }
19
+ },
20
+ focus: () => {
21
+ const input = inputRef.current;
22
+ if (input) {
23
+ input.focus();
24
+ }
25
+ },
26
+ }));
27
+ return (React__default["default"].createElement(FormField.FormField, Object.assign({}, props, { type: "number", inputRef: inputRef, onChange: handleChange, validations: Object.assign(Object.assign({}, props.validations), { validate: customValidators((_a = props.validations) === null || _a === void 0 ? void 0 : _a.validate) }) })));
28
+ function customValidators(validators) {
29
+ if (validators == null) {
30
+ return getOverLimitMessage;
31
+ }
32
+ else if (typeof validators === "function") {
33
+ return {
34
+ customValidation: validators,
35
+ getOverLimitMessage,
36
+ };
37
+ }
38
+ return Object.assign(Object.assign({}, validators), { getOverLimitMessage });
39
+ }
40
+ function handleChange(newValue) {
41
+ props.onChange && props.onChange(newValue);
42
+ }
43
+ function getOverLimitMessage(value) {
44
+ const isOverMax = props.max != undefined && value && value > props.max;
45
+ const isUnderMin = props.min != undefined && value && value < props.min;
46
+ if (isOverMax || isUnderMin || (value && value.toString() === "")) {
47
+ if (props.min != undefined && props.max === undefined) {
48
+ return `Enter a number that is greater than or equal to ${props.min}`;
49
+ }
50
+ else if (props.max != undefined && props.min === undefined) {
51
+ return `Enter a number that is less than or equal to ${props.max}`;
52
+ }
53
+ else if (props.min != undefined && props.max != undefined) {
54
+ return `Enter a number between ${props.min} and ${props.max}`;
55
+ }
56
+ }
57
+ return true;
58
+ }
59
+ }
60
+ const InputNumber = React.forwardRef(InputNumberInternal);
61
+
62
+ exports.InputNumber = InputNumber;
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var InputNumber = require('./InputNumber-df9cb825.js');
6
+ require('react');
7
+ require('./FormField-fc30bb1a.js');
8
+ require('./tslib.es6-754e2961.js');
9
+ require('react-hook-form');
10
+ require('./style-inject.es-9d2f5f4e.js');
11
+ require('classnames');
12
+ require('@jobber/hooks/useShowClear');
13
+ require('./Button-ec64869e.js');
14
+ require('react-router-dom');
15
+ require('./Icon-405a216c.js');
16
+ require('@jobber/design');
17
+ require('./Typography-fd88fcce.js');
18
+ require('./Text-714f7d14.js');
19
+ require('./InputValidation-4a61254d.js');
20
+ require('framer-motion');
21
+ require('./Spinner-3480bc34.js');
22
+
23
+
24
+
25
+ exports.InputNumber = InputNumber.InputNumber;
@@ -0,0 +1,17 @@
1
+ export { I as InputNumber } from './InputNumber-4bd38b8e.js';
2
+ import 'react';
3
+ import './FormField-f1f405d2.js';
4
+ import './tslib.es6-c563c1dd.js';
5
+ import 'react-hook-form';
6
+ import './style-inject.es-a0e1a0ba.js';
7
+ import 'classnames';
8
+ import '@jobber/hooks/useShowClear';
9
+ import './Button-30154871.js';
10
+ import 'react-router-dom';
11
+ import './Icon-22723fe6.js';
12
+ import '@jobber/design';
13
+ import './Typography-52ed1386.js';
14
+ import './Text-c92ddeb3.js';
15
+ import './InputValidation-fe42fc3f.js';
16
+ import 'framer-motion';
17
+ import './Spinner-90081e20.js';
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var FormField = require('./FormField-fc30bb1a.js');
5
+
6
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
7
+
8
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
9
+
10
+ function InputPassword(props) {
11
+ const { hasVisibility = false } = props;
12
+ const [visible, setVisibility] = React.useState(false);
13
+ return (React__default["default"].createElement(FormField.FormField, Object.assign({}, props, (hasVisibility && {
14
+ suffix: {
15
+ ariaLabel: visible ? "Hide password" : "Show password",
16
+ icon: visible ? "eye" : "eyeCrossed",
17
+ onClick: () => setVisibility(!visible),
18
+ },
19
+ }), { type: visible ? "text" : "password", onChange: handleChange })));
20
+ function handleChange(newValue) {
21
+ props.onChange && props.onChange(newValue);
22
+ }
23
+ }
24
+
25
+ exports.InputPassword = InputPassword;
@@ -0,0 +1,19 @@
1
+ import React, { useState } from 'react';
2
+ import { F as FormField } from './FormField-f1f405d2.js';
3
+
4
+ function InputPassword(props) {
5
+ const { hasVisibility = false } = props;
6
+ const [visible, setVisibility] = useState(false);
7
+ return (React.createElement(FormField, Object.assign({}, props, (hasVisibility && {
8
+ suffix: {
9
+ ariaLabel: visible ? "Hide password" : "Show password",
10
+ icon: visible ? "eye" : "eyeCrossed",
11
+ onClick: () => setVisibility(!visible),
12
+ },
13
+ }), { type: visible ? "text" : "password", onChange: handleChange })));
14
+ function handleChange(newValue) {
15
+ props.onChange && props.onChange(newValue);
16
+ }
17
+ }
18
+
19
+ export { InputPassword as I };
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var InputPassword = require('./InputPassword-08d2dfa1.js');
6
+ require('react');
7
+ require('./FormField-fc30bb1a.js');
8
+ require('./tslib.es6-754e2961.js');
9
+ require('react-hook-form');
10
+ require('./style-inject.es-9d2f5f4e.js');
11
+ require('classnames');
12
+ require('@jobber/hooks/useShowClear');
13
+ require('./Button-ec64869e.js');
14
+ require('react-router-dom');
15
+ require('./Icon-405a216c.js');
16
+ require('@jobber/design');
17
+ require('./Typography-fd88fcce.js');
18
+ require('./Text-714f7d14.js');
19
+ require('./InputValidation-4a61254d.js');
20
+ require('framer-motion');
21
+ require('./Spinner-3480bc34.js');
22
+
23
+
24
+
25
+ exports.InputPassword = InputPassword.InputPassword;
@@ -0,0 +1,17 @@
1
+ export { I as InputPassword } from './InputPassword-6b937a91.js';
2
+ import 'react';
3
+ import './FormField-f1f405d2.js';
4
+ import './tslib.es6-c563c1dd.js';
5
+ import 'react-hook-form';
6
+ import './style-inject.es-a0e1a0ba.js';
7
+ import 'classnames';
8
+ import '@jobber/hooks/useShowClear';
9
+ import './Button-30154871.js';
10
+ import 'react-router-dom';
11
+ import './Icon-22723fe6.js';
12
+ import '@jobber/design';
13
+ import './Typography-52ed1386.js';
14
+ import './Text-c92ddeb3.js';
15
+ import './InputValidation-fe42fc3f.js';
16
+ import 'framer-motion';
17
+ import './Spinner-90081e20.js';
@@ -0,0 +1,97 @@
1
+ import { _ as __rest } from './tslib.es6-c563c1dd.js';
2
+ import React, { useState, cloneElement } from 'react';
3
+ import { useFormContext, useForm } from 'react-hook-form';
4
+ import { s as styleInject } from './style-inject.es-a0e1a0ba.js';
5
+ import { F as FormField } from './FormField-f1f405d2.js';
6
+
7
+ var css_248z = ".L7WK-i5uaOk- {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: var(--elevation-base);\n height: var(--field--height);\n padding-top: var(--field--padding-top);\n padding-bottom: var(--field--padding-bottom);\n padding-left: var(--field--padding-left);\n padding-right: var(--field--padding-right);\n color: var(--color-grey);\n font-family: inherit;\n font-size: inherit;\n line-height: var(--field--value-lineHeight);\n pointer-events: none;\n}\n\n.q1wXBupm5Xc- {\n visibility: hidden;\n opacity: 0;\n}\n";
8
+ var styles = {"mask":"L7WK-i5uaOk-","hiddenValue":"q1wXBupm5Xc-"};
9
+ styleInject(css_248z);
10
+
11
+ function InputMask({ children, delimiter = "*", pattern, strict = true, }) {
12
+ const { value: inputValue, onChange } = children.props;
13
+ const [isMasking, setIsMasking] = useState(!inputValue);
14
+ const stringifiedValue = String(inputValue || "");
15
+ const placeholderValue = pattern
16
+ .replace(new RegExp(`\\${delimiter}`, "g"), "_")
17
+ .slice(stringifiedValue.length);
18
+ const inputMask = (React.createElement("div", { className: styles.mask, "aria-hidden": "true" },
19
+ React.createElement("span", { className: styles.hiddenValue }, stringifiedValue),
20
+ placeholderValue));
21
+ return cloneElement(children, {
22
+ onChange: handleChange,
23
+ children: isMasking && inputMask,
24
+ });
25
+ function handleChange(value) {
26
+ onChange === null || onChange === void 0 ? void 0 : onChange(formatValue(value));
27
+ }
28
+ function formatValue(value) {
29
+ const { cleanValueChars, patternChars, specialChars, isOverCharLimit } = getMaskingInfo(value);
30
+ if (!strict && isOverCharLimit) {
31
+ setIsMasking(false);
32
+ return cleanValueChars.join("");
33
+ }
34
+ else {
35
+ setIsMasking(true);
36
+ return patternChars.reduce(getMaskedValue(cleanValueChars, specialChars), "");
37
+ }
38
+ }
39
+ function getMaskingInfo(value) {
40
+ const patternChars = pattern.split("");
41
+ const specialChars = patternChars.filter(char => char !== delimiter);
42
+ const cleanValueChars = value
43
+ .split("")
44
+ .filter(char => !specialChars.includes(char))
45
+ // Since this is only used in InputPhoneNumber, we can restrict it to
46
+ // just numbers for now.
47
+ .map(Number)
48
+ .filter(num => !isNaN(num));
49
+ const isOverCharLimit = cleanValueChars.length > patternChars.length - specialChars.length;
50
+ return { cleanValueChars, patternChars, specialChars, isOverCharLimit };
51
+ }
52
+ }
53
+ function getMaskedValue(cleanVal, specialChars) {
54
+ return (result, nextCharacter) => {
55
+ if (!cleanVal.length)
56
+ return result;
57
+ if (specialChars.includes(nextCharacter))
58
+ return result + nextCharacter;
59
+ const nextValue = cleanVal.shift();
60
+ return result + nextValue;
61
+ };
62
+ }
63
+
64
+ function InputPhoneNumber(_a) {
65
+ var { required } = _a, props = __rest(_a, ["required"]);
66
+ const { placeholder, validations, pattern = "(***) ***-****" } = props;
67
+ const errorSubject = placeholder || "Phone number";
68
+ const { getValues } = useFormContext() != undefined
69
+ ? useFormContext()
70
+ : // If there isn't a Form Context being provided, get a form for this field.
71
+ useForm({ mode: "onTouched" });
72
+ return (React.createElement(InputMask, { pattern: pattern, strict: false },
73
+ React.createElement(FormField, Object.assign({}, props, { type: "tel", validations: Object.assign(Object.assign({ required: {
74
+ value: Boolean(required),
75
+ message: `${errorSubject} is required`,
76
+ } }, validations), { validate: getPhoneNumberValidation }) }))));
77
+ function getPhoneNumberValidation(value) {
78
+ // Get unique characters that aren't * in the pattern
79
+ const patternNonDelimterCharacters = pattern
80
+ .split("")
81
+ .filter(char => char !== "*")
82
+ .filter((char, index, arr) => arr.indexOf(char) === index);
83
+ const specialCharacters = patternNonDelimterCharacters.join(" ");
84
+ // Remove special characters from pattern
85
+ const cleanValue = value.replace(new RegExp(`[${specialCharacters}]`, "g"), "");
86
+ const cleanValueRequiredLength = (pattern.match(/\*/g) || []).length;
87
+ if (cleanValue.length > 0 && cleanValue.length < cleanValueRequiredLength) {
88
+ return `${errorSubject} must contain ${cleanValueRequiredLength} or more digits`;
89
+ }
90
+ if (typeof (validations === null || validations === void 0 ? void 0 : validations.validate) === "function") {
91
+ return validations.validate(value, getValues);
92
+ }
93
+ return true;
94
+ }
95
+ }
96
+
97
+ export { InputPhoneNumber as I };
@@ -0,0 +1,103 @@
1
+ 'use strict';
2
+
3
+ var tslib_es6 = require('./tslib.es6-754e2961.js');
4
+ var React = require('react');
5
+ var reactHookForm = require('react-hook-form');
6
+ var styleInject_es = require('./style-inject.es-9d2f5f4e.js');
7
+ var FormField = require('./FormField-fc30bb1a.js');
8
+
9
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
+
11
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
12
+
13
+ var css_248z = ".L7WK-i5uaOk- {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: var(--elevation-base);\n height: var(--field--height);\n padding-top: var(--field--padding-top);\n padding-bottom: var(--field--padding-bottom);\n padding-left: var(--field--padding-left);\n padding-right: var(--field--padding-right);\n color: var(--color-grey);\n font-family: inherit;\n font-size: inherit;\n line-height: var(--field--value-lineHeight);\n pointer-events: none;\n}\n\n.q1wXBupm5Xc- {\n visibility: hidden;\n opacity: 0;\n}\n";
14
+ var styles = {"mask":"L7WK-i5uaOk-","hiddenValue":"q1wXBupm5Xc-"};
15
+ styleInject_es.styleInject(css_248z);
16
+
17
+ function InputMask({ children, delimiter = "*", pattern, strict = true, }) {
18
+ const { value: inputValue, onChange } = children.props;
19
+ const [isMasking, setIsMasking] = React.useState(!inputValue);
20
+ const stringifiedValue = String(inputValue || "");
21
+ const placeholderValue = pattern
22
+ .replace(new RegExp(`\\${delimiter}`, "g"), "_")
23
+ .slice(stringifiedValue.length);
24
+ const inputMask = (React__default["default"].createElement("div", { className: styles.mask, "aria-hidden": "true" },
25
+ React__default["default"].createElement("span", { className: styles.hiddenValue }, stringifiedValue),
26
+ placeholderValue));
27
+ return React.cloneElement(children, {
28
+ onChange: handleChange,
29
+ children: isMasking && inputMask,
30
+ });
31
+ function handleChange(value) {
32
+ onChange === null || onChange === void 0 ? void 0 : onChange(formatValue(value));
33
+ }
34
+ function formatValue(value) {
35
+ const { cleanValueChars, patternChars, specialChars, isOverCharLimit } = getMaskingInfo(value);
36
+ if (!strict && isOverCharLimit) {
37
+ setIsMasking(false);
38
+ return cleanValueChars.join("");
39
+ }
40
+ else {
41
+ setIsMasking(true);
42
+ return patternChars.reduce(getMaskedValue(cleanValueChars, specialChars), "");
43
+ }
44
+ }
45
+ function getMaskingInfo(value) {
46
+ const patternChars = pattern.split("");
47
+ const specialChars = patternChars.filter(char => char !== delimiter);
48
+ const cleanValueChars = value
49
+ .split("")
50
+ .filter(char => !specialChars.includes(char))
51
+ // Since this is only used in InputPhoneNumber, we can restrict it to
52
+ // just numbers for now.
53
+ .map(Number)
54
+ .filter(num => !isNaN(num));
55
+ const isOverCharLimit = cleanValueChars.length > patternChars.length - specialChars.length;
56
+ return { cleanValueChars, patternChars, specialChars, isOverCharLimit };
57
+ }
58
+ }
59
+ function getMaskedValue(cleanVal, specialChars) {
60
+ return (result, nextCharacter) => {
61
+ if (!cleanVal.length)
62
+ return result;
63
+ if (specialChars.includes(nextCharacter))
64
+ return result + nextCharacter;
65
+ const nextValue = cleanVal.shift();
66
+ return result + nextValue;
67
+ };
68
+ }
69
+
70
+ function InputPhoneNumber(_a) {
71
+ var { required } = _a, props = tslib_es6.__rest(_a, ["required"]);
72
+ const { placeholder, validations, pattern = "(***) ***-****" } = props;
73
+ const errorSubject = placeholder || "Phone number";
74
+ const { getValues } = reactHookForm.useFormContext() != undefined
75
+ ? reactHookForm.useFormContext()
76
+ : // If there isn't a Form Context being provided, get a form for this field.
77
+ reactHookForm.useForm({ mode: "onTouched" });
78
+ return (React__default["default"].createElement(InputMask, { pattern: pattern, strict: false },
79
+ React__default["default"].createElement(FormField.FormField, Object.assign({}, props, { type: "tel", validations: Object.assign(Object.assign({ required: {
80
+ value: Boolean(required),
81
+ message: `${errorSubject} is required`,
82
+ } }, validations), { validate: getPhoneNumberValidation }) }))));
83
+ function getPhoneNumberValidation(value) {
84
+ // Get unique characters that aren't * in the pattern
85
+ const patternNonDelimterCharacters = pattern
86
+ .split("")
87
+ .filter(char => char !== "*")
88
+ .filter((char, index, arr) => arr.indexOf(char) === index);
89
+ const specialCharacters = patternNonDelimterCharacters.join(" ");
90
+ // Remove special characters from pattern
91
+ const cleanValue = value.replace(new RegExp(`[${specialCharacters}]`, "g"), "");
92
+ const cleanValueRequiredLength = (pattern.match(/\*/g) || []).length;
93
+ if (cleanValue.length > 0 && cleanValue.length < cleanValueRequiredLength) {
94
+ return `${errorSubject} must contain ${cleanValueRequiredLength} or more digits`;
95
+ }
96
+ if (typeof (validations === null || validations === void 0 ? void 0 : validations.validate) === "function") {
97
+ return validations.validate(value, getValues);
98
+ }
99
+ return true;
100
+ }
101
+ }
102
+
103
+ exports.InputPhoneNumber = InputPhoneNumber;
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var InputPhoneNumber = require('./InputPhoneNumber-cbb2ca7d.js');
6
+ require('./tslib.es6-754e2961.js');
7
+ require('react');
8
+ require('react-hook-form');
9
+ require('./style-inject.es-9d2f5f4e.js');
10
+ require('./FormField-fc30bb1a.js');
11
+ require('classnames');
12
+ require('@jobber/hooks/useShowClear');
13
+ require('./Button-ec64869e.js');
14
+ require('react-router-dom');
15
+ require('./Icon-405a216c.js');
16
+ require('@jobber/design');
17
+ require('./Typography-fd88fcce.js');
18
+ require('./Text-714f7d14.js');
19
+ require('./InputValidation-4a61254d.js');
20
+ require('framer-motion');
21
+ require('./Spinner-3480bc34.js');
22
+
23
+
24
+
25
+ exports.InputPhoneNumber = InputPhoneNumber.InputPhoneNumber;
@@ -0,0 +1,17 @@
1
+ export { I as InputPhoneNumber } from './InputPhoneNumber-947bdb49.js';
2
+ import './tslib.es6-c563c1dd.js';
3
+ import 'react';
4
+ import 'react-hook-form';
5
+ import './style-inject.es-a0e1a0ba.js';
6
+ import './FormField-f1f405d2.js';
7
+ import 'classnames';
8
+ import '@jobber/hooks/useShowClear';
9
+ import './Button-30154871.js';
10
+ import 'react-router-dom';
11
+ import './Icon-22723fe6.js';
12
+ import '@jobber/design';
13
+ import './Typography-52ed1386.js';
14
+ import './Text-c92ddeb3.js';
15
+ import './InputValidation-fe42fc3f.js';
16
+ import 'framer-motion';
17
+ import './Spinner-90081e20.js';
@@ -0,0 +1,102 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var useSafeLayoutEffect = require('@jobber/hooks/useSafeLayoutEffect');
5
+ var FormField = require('./FormField-fc30bb1a.js');
6
+
7
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
+
9
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
10
+
11
+ function InputTextInternal(props, ref) {
12
+ const inputRef = React.useRef(null);
13
+ const actionsRef = React.useRef(null);
14
+ const rowRange = getRowRange();
15
+ React.useImperativeHandle(ref, () => ({
16
+ insert: (text) => {
17
+ insertText(text);
18
+ },
19
+ blur: () => {
20
+ const input = inputRef.current;
21
+ if (input) {
22
+ input.blur();
23
+ }
24
+ },
25
+ focus: () => {
26
+ const input = inputRef.current;
27
+ if (input) {
28
+ input.focus();
29
+ }
30
+ },
31
+ scrollIntoView: arg => {
32
+ const input = inputRef.current;
33
+ if (input) {
34
+ input.scrollIntoView(arg);
35
+ }
36
+ },
37
+ }));
38
+ useSafeLayoutEffect.useSafeLayoutEffect(() => {
39
+ if (inputRef && inputRef.current instanceof HTMLTextAreaElement) {
40
+ resize(inputRef.current);
41
+ }
42
+ }, [inputRef.current]);
43
+ return (React__default["default"].createElement(FormField.FormField, Object.assign({}, props, { type: props.multiline ? "textarea" : "text", inputRef: inputRef, actionsRef: actionsRef, onChange: handleChange, rows: rowRange.min })));
44
+ function handleChange(newValue) {
45
+ props.onChange && props.onChange(newValue);
46
+ if (inputRef && inputRef.current instanceof HTMLTextAreaElement) {
47
+ resize(inputRef.current);
48
+ }
49
+ }
50
+ function getRowRange() {
51
+ if (props.rows === undefined) {
52
+ return { min: 3, max: 3 };
53
+ }
54
+ else if (typeof props.rows === "object") {
55
+ return { min: props.rows.min, max: props.rows.max };
56
+ }
57
+ else {
58
+ return { min: props.rows, max: props.rows };
59
+ }
60
+ }
61
+ function resize(textArea) {
62
+ if (rowRange.min === rowRange.max)
63
+ return;
64
+ textArea.style.height = "auto";
65
+ textArea.style.height = textAreaHeight(textArea) + "px";
66
+ }
67
+ function textAreaHeight(textArea) {
68
+ const { lineHeight, borderBottomWidth, borderTopWidth, paddingBottom, paddingTop, } = window.getComputedStyle(textArea);
69
+ const maxHeight = rowRange.max * parseFloat(lineHeight) +
70
+ parseFloat(borderTopWidth) +
71
+ parseFloat(borderBottomWidth) +
72
+ parseFloat(paddingTop) +
73
+ parseFloat(paddingBottom);
74
+ const scrollHeight = textArea.scrollHeight +
75
+ parseFloat(borderTopWidth) +
76
+ parseFloat(borderBottomWidth);
77
+ return Math.min(scrollHeight, maxHeight);
78
+ }
79
+ function insertText(text) {
80
+ var _a;
81
+ const input = inputRef.current;
82
+ if (input) {
83
+ insertAtCursor(input, text);
84
+ const newValue = input.value;
85
+ (_a = actionsRef.current) === null || _a === void 0 ? void 0 : _a.setValue(newValue);
86
+ props.onChange && props.onChange(newValue);
87
+ }
88
+ }
89
+ }
90
+ const InputText = React.forwardRef(InputTextInternal);
91
+ function insertAtCursor(input, newText) {
92
+ const start = input.selectionStart || 0;
93
+ const end = input.selectionEnd || 0;
94
+ const text = input.value;
95
+ const before = text.substring(0, start);
96
+ const after = text.substring(end, text.length);
97
+ input.value = before + newText + after;
98
+ input.selectionStart = input.selectionEnd = start + newText.length;
99
+ input.focus();
100
+ }
101
+
102
+ exports.InputText = InputText;