karsten-design-system 1.0.4 → 1.0.6

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 (266) hide show
  1. package/dist/_virtual/jsx-runtime.js +6 -0
  2. package/dist/_virtual/jsx-runtime.js.map +1 -0
  3. package/dist/_virtual/jsx-runtime2.js +4 -0
  4. package/dist/_virtual/jsx-runtime2.js.map +1 -0
  5. package/dist/_virtual/react-jsx-runtime.development.js +4 -0
  6. package/dist/_virtual/react-jsx-runtime.development.js.map +1 -0
  7. package/dist/_virtual/react-jsx-runtime.production.min.js +4 -0
  8. package/dist/_virtual/react-jsx-runtime.production.min.js.map +1 -0
  9. package/dist/assets/icons/bell.js +8 -0
  10. package/dist/assets/icons/bell.js.map +1 -0
  11. package/dist/assets/icons/circleCheck.js +8 -0
  12. package/dist/assets/icons/circleCheck.js.map +1 -0
  13. package/dist/assets/icons/close.js +8 -0
  14. package/dist/assets/icons/close.js.map +1 -0
  15. package/dist/assets/icons/dashboard.js +8 -0
  16. package/dist/assets/icons/dashboard.js.map +1 -0
  17. package/dist/assets/icons/error.js +8 -0
  18. package/dist/assets/icons/error.js.map +1 -0
  19. package/dist/assets/icons/filter.js +8 -0
  20. package/dist/assets/icons/filter.js.map +1 -0
  21. package/dist/assets/icons/home.js +8 -0
  22. package/dist/assets/icons/home.js.map +1 -0
  23. package/dist/assets/icons/info.js +8 -0
  24. package/dist/assets/icons/info.js.map +1 -0
  25. package/dist/assets/icons/menu.js +8 -0
  26. package/dist/assets/icons/menu.js.map +1 -0
  27. package/dist/assets/icons/success.js +8 -0
  28. package/dist/assets/icons/success.js.map +1 -0
  29. package/dist/assets/icons/text.js +8 -0
  30. package/dist/assets/icons/text.js.map +1 -0
  31. package/dist/assets/icons/trash.js +8 -0
  32. package/dist/assets/icons/trash.js.map +1 -0
  33. package/dist/assets/logoSmall.js +8 -0
  34. package/dist/assets/logoSmall.js.map +1 -0
  35. package/dist/index.js +25 -20274
  36. package/dist/index.js.map +1 -1
  37. package/dist/node_modules/date-fns/_lib/addLeadingZeros.js +8 -0
  38. package/dist/node_modules/date-fns/_lib/addLeadingZeros.js.map +1 -0
  39. package/dist/node_modules/date-fns/_lib/defaultOptions.js +8 -0
  40. package/dist/node_modules/date-fns/_lib/defaultOptions.js.map +1 -0
  41. package/dist/node_modules/date-fns/_lib/format/formatters.js +778 -0
  42. package/dist/node_modules/date-fns/_lib/format/formatters.js.map +1 -0
  43. package/dist/node_modules/date-fns/_lib/format/lightFormatters.js +95 -0
  44. package/dist/node_modules/date-fns/_lib/format/lightFormatters.js.map +1 -0
  45. package/dist/node_modules/date-fns/_lib/format/longFormatters.js +67 -0
  46. package/dist/node_modules/date-fns/_lib/format/longFormatters.js.map +1 -0
  47. package/dist/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js +32 -0
  48. package/dist/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js.map +1 -0
  49. package/dist/node_modules/date-fns/_lib/normalizeDates.js +12 -0
  50. package/dist/node_modules/date-fns/_lib/normalizeDates.js.map +1 -0
  51. package/dist/node_modules/date-fns/_lib/protectedTokens.js +26 -0
  52. package/dist/node_modules/date-fns/_lib/protectedTokens.js.map +1 -0
  53. package/dist/node_modules/date-fns/constants.js +47 -0
  54. package/dist/node_modules/date-fns/constants.js.map +1 -0
  55. package/dist/node_modules/date-fns/constructFrom.js +50 -0
  56. package/dist/node_modules/date-fns/constructFrom.js.map +1 -0
  57. package/dist/node_modules/date-fns/differenceInCalendarDays.js +63 -0
  58. package/dist/node_modules/date-fns/differenceInCalendarDays.js.map +1 -0
  59. package/dist/node_modules/date-fns/format.js +424 -0
  60. package/dist/node_modules/date-fns/format.js.map +1 -0
  61. package/dist/node_modules/date-fns/getDayOfYear.js +35 -0
  62. package/dist/node_modules/date-fns/getDayOfYear.js.map +1 -0
  63. package/dist/node_modules/date-fns/getISOWeek.js +41 -0
  64. package/dist/node_modules/date-fns/getISOWeek.js.map +1 -0
  65. package/dist/node_modules/date-fns/getISOWeekYear.js +53 -0
  66. package/dist/node_modules/date-fns/getISOWeekYear.js.map +1 -0
  67. package/dist/node_modules/date-fns/getWeek.js +55 -0
  68. package/dist/node_modules/date-fns/getWeek.js.map +1 -0
  69. package/dist/node_modules/date-fns/getWeekYear.js +76 -0
  70. package/dist/node_modules/date-fns/getWeekYear.js.map +1 -0
  71. package/dist/node_modules/date-fns/isDate.js +42 -0
  72. package/dist/node_modules/date-fns/isDate.js.map +1 -0
  73. package/dist/node_modules/date-fns/isValid.js +40 -0
  74. package/dist/node_modules/date-fns/isValid.js.map +1 -0
  75. package/dist/node_modules/date-fns/locale/_lib/buildFormatLongFn.js +11 -0
  76. package/dist/node_modules/date-fns/locale/_lib/buildFormatLongFn.js.map +1 -0
  77. package/dist/node_modules/date-fns/locale/_lib/buildLocalizeFn.js +65 -0
  78. package/dist/node_modules/date-fns/locale/_lib/buildLocalizeFn.js.map +1 -0
  79. package/dist/node_modules/date-fns/locale/_lib/buildMatchFn.js +60 -0
  80. package/dist/node_modules/date-fns/locale/_lib/buildMatchFn.js.map +1 -0
  81. package/dist/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js +23 -0
  82. package/dist/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js.map +1 -0
  83. package/dist/node_modules/date-fns/locale/en-US/_lib/formatDistance.js +104 -0
  84. package/dist/node_modules/date-fns/locale/en-US/_lib/formatDistance.js.map +1 -0
  85. package/dist/node_modules/date-fns/locale/en-US/_lib/formatLong.js +42 -0
  86. package/dist/node_modules/date-fns/locale/en-US/_lib/formatLong.js.map +1 -0
  87. package/dist/node_modules/date-fns/locale/en-US/_lib/formatRelative.js +14 -0
  88. package/dist/node_modules/date-fns/locale/en-US/_lib/formatRelative.js.map +1 -0
  89. package/dist/node_modules/date-fns/locale/en-US/_lib/localize.js +190 -0
  90. package/dist/node_modules/date-fns/locale/en-US/_lib/localize.js.map +1 -0
  91. package/dist/node_modules/date-fns/locale/en-US/_lib/match.js +135 -0
  92. package/dist/node_modules/date-fns/locale/en-US/_lib/match.js.map +1 -0
  93. package/dist/node_modules/date-fns/locale/en-US.js +29 -0
  94. package/dist/node_modules/date-fns/locale/en-US.js.map +1 -0
  95. package/dist/node_modules/date-fns/locale/pt-BR/_lib/formatDistance.js +104 -0
  96. package/dist/node_modules/date-fns/locale/pt-BR/_lib/formatDistance.js.map +1 -0
  97. package/dist/node_modules/date-fns/locale/pt-BR/_lib/formatLong.js +42 -0
  98. package/dist/node_modules/date-fns/locale/pt-BR/_lib/formatLong.js.map +1 -0
  99. package/dist/node_modules/date-fns/locale/pt-BR/_lib/formatRelative.js +25 -0
  100. package/dist/node_modules/date-fns/locale/pt-BR/_lib/formatRelative.js.map +1 -0
  101. package/dist/node_modules/date-fns/locale/pt-BR/_lib/localize.js +180 -0
  102. package/dist/node_modules/date-fns/locale/pt-BR/_lib/localize.js.map +1 -0
  103. package/dist/node_modules/date-fns/locale/pt-BR/_lib/match.js +137 -0
  104. package/dist/node_modules/date-fns/locale/pt-BR/_lib/match.js.map +1 -0
  105. package/dist/node_modules/date-fns/locale/pt-BR.js +29 -0
  106. package/dist/node_modules/date-fns/locale/pt-BR.js.map +1 -0
  107. package/dist/node_modules/date-fns/startOfDay.js +36 -0
  108. package/dist/node_modules/date-fns/startOfDay.js.map +1 -0
  109. package/dist/node_modules/date-fns/startOfISOWeek.js +36 -0
  110. package/dist/node_modules/date-fns/startOfISOWeek.js.map +1 -0
  111. package/dist/node_modules/date-fns/startOfISOWeekYear.js +43 -0
  112. package/dist/node_modules/date-fns/startOfISOWeekYear.js.map +1 -0
  113. package/dist/node_modules/date-fns/startOfWeek.js +54 -0
  114. package/dist/node_modules/date-fns/startOfWeek.js.map +1 -0
  115. package/dist/node_modules/date-fns/startOfWeekYear.js +65 -0
  116. package/dist/node_modules/date-fns/startOfWeekYear.js.map +1 -0
  117. package/dist/node_modules/date-fns/startOfYear.js +37 -0
  118. package/dist/node_modules/date-fns/startOfYear.js.map +1 -0
  119. package/dist/node_modules/date-fns/toDate.js +47 -0
  120. package/dist/node_modules/date-fns/toDate.js.map +1 -0
  121. package/dist/node_modules/react/cjs/react-jsx-runtime.development.js +1326 -0
  122. package/dist/node_modules/react/cjs/react-jsx-runtime.development.js.map +1 -0
  123. package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.js +25 -0
  124. package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.js.map +1 -0
  125. package/dist/node_modules/react/jsx-runtime.js +20 -0
  126. package/dist/node_modules/react/jsx-runtime.js.map +1 -0
  127. package/dist/stories/components/accordion.js +25 -0
  128. package/dist/stories/components/accordion.js.map +1 -0
  129. package/dist/stories/components/autoComplete.js +30 -0
  130. package/dist/stories/components/autoComplete.js.map +1 -0
  131. package/dist/stories/components/breadcrumb.js +9 -0
  132. package/dist/stories/components/breadcrumb.js.map +1 -0
  133. package/dist/stories/components/button.js +19 -0
  134. package/dist/stories/components/button.js.map +1 -0
  135. package/dist/stories/components/card.js +9 -0
  136. package/dist/stories/components/card.js.map +1 -0
  137. package/dist/stories/components/chart.js +9 -0
  138. package/dist/stories/components/chart.js.map +1 -0
  139. package/dist/stories/components/dialog.js +10 -0
  140. package/dist/stories/components/dialog.js.map +1 -0
  141. package/dist/stories/components/divider.js +9 -0
  142. package/dist/stories/components/divider.js.map +1 -0
  143. package/dist/stories/components/filterButton.js +25 -0
  144. package/dist/stories/components/filterButton.js.map +1 -0
  145. package/dist/stories/components/header.js +20 -0
  146. package/dist/stories/components/header.js.map +1 -0
  147. package/dist/stories/components/iconButton.js +14 -0
  148. package/dist/stories/components/iconButton.js.map +1 -0
  149. package/dist/stories/components/infoCard.js +9 -0
  150. package/dist/stories/components/infoCard.js.map +1 -0
  151. package/dist/stories/components/input.js +38 -0
  152. package/dist/stories/components/input.js.map +1 -0
  153. package/dist/stories/components/internalMenu.js +15 -0
  154. package/dist/stories/components/internalMenu.js.map +1 -0
  155. package/dist/stories/components/link.js +8 -0
  156. package/dist/stories/components/link.js.map +1 -0
  157. package/dist/stories/components/megaMenu.js +13 -0
  158. package/dist/stories/components/megaMenu.js.map +1 -0
  159. package/dist/stories/components/notification.js +19 -0
  160. package/dist/stories/components/notification.js.map +1 -0
  161. package/dist/stories/components/notificationItem.js +17 -0
  162. package/dist/stories/components/notificationItem.js.map +1 -0
  163. package/dist/stories/components/paginator.js +28 -0
  164. package/dist/stories/components/paginator.js.map +1 -0
  165. package/dist/stories/components/radioButton.js +17 -0
  166. package/dist/stories/components/radioButton.js.map +1 -0
  167. package/dist/stories/components/select.js +23 -0
  168. package/dist/stories/components/select.js.map +1 -0
  169. package/dist/stories/components/sidebar.js +11 -0
  170. package/dist/stories/components/sidebar.js.map +1 -0
  171. package/dist/stories/components/skeleton.js +9 -0
  172. package/dist/stories/components/skeleton.js.map +1 -0
  173. package/dist/stories/components/spinner.js +18 -0
  174. package/dist/stories/components/spinner.js.map +1 -0
  175. package/dist/stories/components/table.js +29 -0
  176. package/dist/stories/components/table.js.map +1 -0
  177. package/dist/stories/components/toast.js +36 -0
  178. package/dist/stories/components/toast.js.map +1 -0
  179. package/dist/types/index.d.ts +25 -4
  180. package/dist/{stories → types/stories}/components/iconButton.d.ts +2 -2
  181. package/dist/types/types/index.d.ts +4 -0
  182. package/dist/utils/sortData.js +28 -0
  183. package/dist/utils/sortData.js.map +1 -0
  184. package/package.json +15 -7
  185. package/dist/auto-Ccr0jDWk.js +0 -14782
  186. package/dist/auto-Ccr0jDWk.js.map +0 -1
  187. package/dist/index.d.ts +0 -25
  188. /package/dist/{assets → types/assets}/icons/bell.d.ts +0 -0
  189. /package/dist/{assets → types/assets}/icons/cart.d.ts +0 -0
  190. /package/dist/{assets → types/assets}/icons/check.d.ts +0 -0
  191. /package/dist/{assets → types/assets}/icons/circleCheck.d.ts +0 -0
  192. /package/dist/{assets → types/assets}/icons/clock.d.ts +0 -0
  193. /package/dist/{assets → types/assets}/icons/close.d.ts +0 -0
  194. /package/dist/{assets → types/assets}/icons/dashboard.d.ts +0 -0
  195. /package/dist/{assets → types/assets}/icons/error.d.ts +0 -0
  196. /package/dist/{assets → types/assets}/icons/filter.d.ts +0 -0
  197. /package/dist/{assets → types/assets}/icons/grayInfo.d.ts +0 -0
  198. /package/dist/{assets → types/assets}/icons/home/account.d.ts +0 -0
  199. /package/dist/{assets → types/assets}/icons/home/accountsReceivable.d.ts +0 -0
  200. /package/dist/{assets → types/assets}/icons/home/box.d.ts +0 -0
  201. /package/dist/{assets → types/assets}/icons/home/circleWithDollarSign.d.ts +0 -0
  202. /package/dist/{assets → types/assets}/icons/home/computer.d.ts +0 -0
  203. /package/dist/{assets → types/assets}/icons/home/credit.d.ts +0 -0
  204. /package/dist/{assets → types/assets}/icons/home/payments.d.ts +0 -0
  205. /package/dist/{assets → types/assets}/icons/home/pieChart.d.ts +0 -0
  206. /package/dist/{assets → types/assets}/icons/home/profitability.d.ts +0 -0
  207. /package/dist/{assets → types/assets}/icons/home.d.ts +0 -0
  208. /package/dist/{assets → types/assets}/icons/info.d.ts +0 -0
  209. /package/dist/{assets → types/assets}/icons/menu.d.ts +0 -0
  210. /package/dist/{assets → types/assets}/icons/success.d.ts +0 -0
  211. /package/dist/{assets → types/assets}/icons/text.d.ts +0 -0
  212. /package/dist/{assets → types/assets}/icons/trash.d.ts +0 -0
  213. /package/dist/{assets → types/assets}/logo.d.ts +0 -0
  214. /package/dist/{assets → types/assets}/logoSmall.d.ts +0 -0
  215. /package/dist/{hook → types/hook}/useToast.d.ts +0 -0
  216. /package/dist/{mock → types/mock}/internalMenu.d.ts +0 -0
  217. /package/dist/{mock → types/mock}/mockedComponente/mockedChart.d.ts +0 -0
  218. /package/dist/{mock → types/mock}/mockedComponente/mockedInternalMenu.d.ts +0 -0
  219. /package/dist/{mock → types/mock}/mockedComponente/notificationMocked.d.ts +0 -0
  220. /package/dist/{mock → types/mock}/mockedComponente/screenContainer.d.ts +0 -0
  221. /package/dist/{mock → types/mock}/notifications.d.ts +0 -0
  222. /package/dist/{mock → types/mock}/tableItems.d.ts +0 -0
  223. /package/dist/{stories → types/stories}/components/accordion.d.ts +0 -0
  224. /package/dist/{stories → types/stories}/components/autoComplete.d.ts +0 -0
  225. /package/dist/{stories → types/stories}/components/breadcrumb.d.ts +0 -0
  226. /package/dist/{stories → types/stories}/components/breadcrumb.stories.d.ts +0 -0
  227. /package/dist/{stories → types/stories}/components/button.d.ts +0 -0
  228. /package/dist/{stories → types/stories}/components/button.stories.d.ts +0 -0
  229. /package/dist/{stories → types/stories}/components/card.d.ts +0 -0
  230. /package/dist/{stories → types/stories}/components/chart.d.ts +0 -0
  231. /package/dist/{stories → types/stories}/components/dateInput.d.ts +0 -0
  232. /package/dist/{stories → types/stories}/components/dialog.d.ts +0 -0
  233. /package/dist/{stories → types/stories}/components/divider.d.ts +0 -0
  234. /package/dist/{stories → types/stories}/components/filterButton.d.ts +0 -0
  235. /package/dist/{stories → types/stories}/components/header.d.ts +0 -0
  236. /package/dist/{stories → types/stories}/components/iconButton.stories.d.ts +0 -0
  237. /package/dist/{stories → types/stories}/components/icons.d.ts +0 -0
  238. /package/dist/{stories → types/stories}/components/infoCard.d.ts +0 -0
  239. /package/dist/{stories → types/stories}/components/input.d.ts +0 -0
  240. /package/dist/{stories → types/stories}/components/internalMenu.d.ts +0 -0
  241. /package/dist/{stories → types/stories}/components/link.d.ts +0 -0
  242. /package/dist/{stories → types/stories}/components/megaMenu.d.ts +0 -0
  243. /package/dist/{stories → types/stories}/components/megaMenu.stories.d.ts +0 -0
  244. /package/dist/{stories → types/stories}/components/notification.d.ts +0 -0
  245. /package/dist/{stories → types/stories}/components/notificationItem.d.ts +0 -0
  246. /package/dist/{stories → types/stories}/components/paginator.d.ts +0 -0
  247. /package/dist/{stories → types/stories}/components/radioButton.d.ts +0 -0
  248. /package/dist/{stories → types/stories}/components/select.d.ts +0 -0
  249. /package/dist/{stories → types/stories}/components/sidebar.d.ts +0 -0
  250. /package/dist/{stories → types/stories}/components/skeleton.d.ts +0 -0
  251. /package/dist/{stories → types/stories}/components/spinner.d.ts +0 -0
  252. /package/dist/{stories → types/stories}/components/spinner.stories.d.ts +0 -0
  253. /package/dist/{stories → types/stories}/components/table.d.ts +0 -0
  254. /package/dist/{stories → types/stories}/components/toast.d.ts +0 -0
  255. /package/dist/{stories → types/stories}/screens/accountsPayable.d.ts +0 -0
  256. /package/dist/{stories → types/stories}/screens/dashboard.d.ts +0 -0
  257. /package/dist/{stories → types/stories}/screens/home.d.ts +0 -0
  258. /package/dist/{stories → types/stories}/screens/sign-in.d.ts +0 -0
  259. /package/dist/{stories → types/stories}/screens/table.d.ts +0 -0
  260. /package/dist/types/{breadcrumbItems.d.ts → types/breadcrumbItems.d.ts} +0 -0
  261. /package/dist/types/{internalMenu.d.ts → types/internalMenu.d.ts} +0 -0
  262. /package/dist/types/{megaMenuItems.d.ts → types/megaMenuItems.d.ts} +0 -0
  263. /package/dist/types/{notification.d.ts → types/notification.d.ts} +0 -0
  264. /package/dist/types/{options.d.ts → types/options.d.ts} +0 -0
  265. /package/dist/types/{table.d.ts → types/table.d.ts} +0 -0
  266. /package/dist/{utils → types/utils}/sortData.d.ts +0 -0
@@ -0,0 +1,778 @@
1
+ import { getDayOfYear } from '../../getDayOfYear.js';
2
+ import { getISOWeek } from '../../getISOWeek.js';
3
+ import { getISOWeekYear } from '../../getISOWeekYear.js';
4
+ import { getWeek } from '../../getWeek.js';
5
+ import { getWeekYear } from '../../getWeekYear.js';
6
+ import { addLeadingZeros } from '../addLeadingZeros.js';
7
+ import { lightFormatters } from './lightFormatters.js';
8
+
9
+ const dayPeriodEnum = {
10
+ am: "am",
11
+ pm: "pm",
12
+ midnight: "midnight",
13
+ noon: "noon",
14
+ morning: "morning",
15
+ afternoon: "afternoon",
16
+ evening: "evening",
17
+ night: "night",
18
+ };
19
+
20
+ /*
21
+ * | | Unit | | Unit |
22
+ * |-----|--------------------------------|-----|--------------------------------|
23
+ * | a | AM, PM | A* | Milliseconds in day |
24
+ * | b | AM, PM, noon, midnight | B | Flexible day period |
25
+ * | c | Stand-alone local day of week | C* | Localized hour w/ day period |
26
+ * | d | Day of month | D | Day of year |
27
+ * | e | Local day of week | E | Day of week |
28
+ * | f | | F* | Day of week in month |
29
+ * | g* | Modified Julian day | G | Era |
30
+ * | h | Hour [1-12] | H | Hour [0-23] |
31
+ * | i! | ISO day of week | I! | ISO week of year |
32
+ * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |
33
+ * | k | Hour [1-24] | K | Hour [0-11] |
34
+ * | l* | (deprecated) | L | Stand-alone month |
35
+ * | m | Minute | M | Month |
36
+ * | n | | N | |
37
+ * | o! | Ordinal number modifier | O | Timezone (GMT) |
38
+ * | p! | Long localized time | P! | Long localized date |
39
+ * | q | Stand-alone quarter | Q | Quarter |
40
+ * | r* | Related Gregorian year | R! | ISO week-numbering year |
41
+ * | s | Second | S | Fraction of second |
42
+ * | t! | Seconds timestamp | T! | Milliseconds timestamp |
43
+ * | u | Extended year | U* | Cyclic year |
44
+ * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |
45
+ * | w | Local week of year | W* | Week of month |
46
+ * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |
47
+ * | y | Year (abs) | Y | Local week-numbering year |
48
+ * | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) |
49
+ *
50
+ * Letters marked by * are not implemented but reserved by Unicode standard.
51
+ *
52
+ * Letters marked by ! are non-standard, but implemented by date-fns:
53
+ * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)
54
+ * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,
55
+ * i.e. 7 for Sunday, 1 for Monday, etc.
56
+ * - `I` is ISO week of year, as opposed to `w` which is local week of year.
57
+ * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.
58
+ * `R` is supposed to be used in conjunction with `I` and `i`
59
+ * for universal ISO week-numbering date, whereas
60
+ * `Y` is supposed to be used in conjunction with `w` and `e`
61
+ * for week-numbering date specific to the locale.
62
+ * - `P` is long localized date format
63
+ * - `p` is long localized time format
64
+ */
65
+
66
+ const formatters = {
67
+ // Era
68
+ G: function (date, token, localize) {
69
+ const era = date.getFullYear() > 0 ? 1 : 0;
70
+ switch (token) {
71
+ // AD, BC
72
+ case "G":
73
+ case "GG":
74
+ case "GGG":
75
+ return localize.era(era, { width: "abbreviated" });
76
+ // A, B
77
+ case "GGGGG":
78
+ return localize.era(era, { width: "narrow" });
79
+ // Anno Domini, Before Christ
80
+ case "GGGG":
81
+ default:
82
+ return localize.era(era, { width: "wide" });
83
+ }
84
+ },
85
+
86
+ // Year
87
+ y: function (date, token, localize) {
88
+ // Ordinal number
89
+ if (token === "yo") {
90
+ const signedYear = date.getFullYear();
91
+ // Returns 1 for 1 BC (which is year 0 in JavaScript)
92
+ const year = signedYear > 0 ? signedYear : 1 - signedYear;
93
+ return localize.ordinalNumber(year, { unit: "year" });
94
+ }
95
+
96
+ return lightFormatters.y(date, token);
97
+ },
98
+
99
+ // Local week-numbering year
100
+ Y: function (date, token, localize, options) {
101
+ const signedWeekYear = getWeekYear(date, options);
102
+ // Returns 1 for 1 BC (which is year 0 in JavaScript)
103
+ const weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear;
104
+
105
+ // Two digit year
106
+ if (token === "YY") {
107
+ const twoDigitYear = weekYear % 100;
108
+ return addLeadingZeros(twoDigitYear, 2);
109
+ }
110
+
111
+ // Ordinal number
112
+ if (token === "Yo") {
113
+ return localize.ordinalNumber(weekYear, { unit: "year" });
114
+ }
115
+
116
+ // Padding
117
+ return addLeadingZeros(weekYear, token.length);
118
+ },
119
+
120
+ // ISO week-numbering year
121
+ R: function (date, token) {
122
+ const isoWeekYear = getISOWeekYear(date);
123
+
124
+ // Padding
125
+ return addLeadingZeros(isoWeekYear, token.length);
126
+ },
127
+
128
+ // Extended year. This is a single number designating the year of this calendar system.
129
+ // The main difference between `y` and `u` localizers are B.C. years:
130
+ // | Year | `y` | `u` |
131
+ // |------|-----|-----|
132
+ // | AC 1 | 1 | 1 |
133
+ // | BC 1 | 1 | 0 |
134
+ // | BC 2 | 2 | -1 |
135
+ // Also `yy` always returns the last two digits of a year,
136
+ // while `uu` pads single digit years to 2 characters and returns other years unchanged.
137
+ u: function (date, token) {
138
+ const year = date.getFullYear();
139
+ return addLeadingZeros(year, token.length);
140
+ },
141
+
142
+ // Quarter
143
+ Q: function (date, token, localize) {
144
+ const quarter = Math.ceil((date.getMonth() + 1) / 3);
145
+ switch (token) {
146
+ // 1, 2, 3, 4
147
+ case "Q":
148
+ return String(quarter);
149
+ // 01, 02, 03, 04
150
+ case "QQ":
151
+ return addLeadingZeros(quarter, 2);
152
+ // 1st, 2nd, 3rd, 4th
153
+ case "Qo":
154
+ return localize.ordinalNumber(quarter, { unit: "quarter" });
155
+ // Q1, Q2, Q3, Q4
156
+ case "QQQ":
157
+ return localize.quarter(quarter, {
158
+ width: "abbreviated",
159
+ context: "formatting",
160
+ });
161
+ // 1, 2, 3, 4 (narrow quarter; could be not numerical)
162
+ case "QQQQQ":
163
+ return localize.quarter(quarter, {
164
+ width: "narrow",
165
+ context: "formatting",
166
+ });
167
+ // 1st quarter, 2nd quarter, ...
168
+ case "QQQQ":
169
+ default:
170
+ return localize.quarter(quarter, {
171
+ width: "wide",
172
+ context: "formatting",
173
+ });
174
+ }
175
+ },
176
+
177
+ // Stand-alone quarter
178
+ q: function (date, token, localize) {
179
+ const quarter = Math.ceil((date.getMonth() + 1) / 3);
180
+ switch (token) {
181
+ // 1, 2, 3, 4
182
+ case "q":
183
+ return String(quarter);
184
+ // 01, 02, 03, 04
185
+ case "qq":
186
+ return addLeadingZeros(quarter, 2);
187
+ // 1st, 2nd, 3rd, 4th
188
+ case "qo":
189
+ return localize.ordinalNumber(quarter, { unit: "quarter" });
190
+ // Q1, Q2, Q3, Q4
191
+ case "qqq":
192
+ return localize.quarter(quarter, {
193
+ width: "abbreviated",
194
+ context: "standalone",
195
+ });
196
+ // 1, 2, 3, 4 (narrow quarter; could be not numerical)
197
+ case "qqqqq":
198
+ return localize.quarter(quarter, {
199
+ width: "narrow",
200
+ context: "standalone",
201
+ });
202
+ // 1st quarter, 2nd quarter, ...
203
+ case "qqqq":
204
+ default:
205
+ return localize.quarter(quarter, {
206
+ width: "wide",
207
+ context: "standalone",
208
+ });
209
+ }
210
+ },
211
+
212
+ // Month
213
+ M: function (date, token, localize) {
214
+ const month = date.getMonth();
215
+ switch (token) {
216
+ case "M":
217
+ case "MM":
218
+ return lightFormatters.M(date, token);
219
+ // 1st, 2nd, ..., 12th
220
+ case "Mo":
221
+ return localize.ordinalNumber(month + 1, { unit: "month" });
222
+ // Jan, Feb, ..., Dec
223
+ case "MMM":
224
+ return localize.month(month, {
225
+ width: "abbreviated",
226
+ context: "formatting",
227
+ });
228
+ // J, F, ..., D
229
+ case "MMMMM":
230
+ return localize.month(month, {
231
+ width: "narrow",
232
+ context: "formatting",
233
+ });
234
+ // January, February, ..., December
235
+ case "MMMM":
236
+ default:
237
+ return localize.month(month, { width: "wide", context: "formatting" });
238
+ }
239
+ },
240
+
241
+ // Stand-alone month
242
+ L: function (date, token, localize) {
243
+ const month = date.getMonth();
244
+ switch (token) {
245
+ // 1, 2, ..., 12
246
+ case "L":
247
+ return String(month + 1);
248
+ // 01, 02, ..., 12
249
+ case "LL":
250
+ return addLeadingZeros(month + 1, 2);
251
+ // 1st, 2nd, ..., 12th
252
+ case "Lo":
253
+ return localize.ordinalNumber(month + 1, { unit: "month" });
254
+ // Jan, Feb, ..., Dec
255
+ case "LLL":
256
+ return localize.month(month, {
257
+ width: "abbreviated",
258
+ context: "standalone",
259
+ });
260
+ // J, F, ..., D
261
+ case "LLLLL":
262
+ return localize.month(month, {
263
+ width: "narrow",
264
+ context: "standalone",
265
+ });
266
+ // January, February, ..., December
267
+ case "LLLL":
268
+ default:
269
+ return localize.month(month, { width: "wide", context: "standalone" });
270
+ }
271
+ },
272
+
273
+ // Local week of year
274
+ w: function (date, token, localize, options) {
275
+ const week = getWeek(date, options);
276
+
277
+ if (token === "wo") {
278
+ return localize.ordinalNumber(week, { unit: "week" });
279
+ }
280
+
281
+ return addLeadingZeros(week, token.length);
282
+ },
283
+
284
+ // ISO week of year
285
+ I: function (date, token, localize) {
286
+ const isoWeek = getISOWeek(date);
287
+
288
+ if (token === "Io") {
289
+ return localize.ordinalNumber(isoWeek, { unit: "week" });
290
+ }
291
+
292
+ return addLeadingZeros(isoWeek, token.length);
293
+ },
294
+
295
+ // Day of the month
296
+ d: function (date, token, localize) {
297
+ if (token === "do") {
298
+ return localize.ordinalNumber(date.getDate(), { unit: "date" });
299
+ }
300
+
301
+ return lightFormatters.d(date, token);
302
+ },
303
+
304
+ // Day of year
305
+ D: function (date, token, localize) {
306
+ const dayOfYear = getDayOfYear(date);
307
+
308
+ if (token === "Do") {
309
+ return localize.ordinalNumber(dayOfYear, { unit: "dayOfYear" });
310
+ }
311
+
312
+ return addLeadingZeros(dayOfYear, token.length);
313
+ },
314
+
315
+ // Day of week
316
+ E: function (date, token, localize) {
317
+ const dayOfWeek = date.getDay();
318
+ switch (token) {
319
+ // Tue
320
+ case "E":
321
+ case "EE":
322
+ case "EEE":
323
+ return localize.day(dayOfWeek, {
324
+ width: "abbreviated",
325
+ context: "formatting",
326
+ });
327
+ // T
328
+ case "EEEEE":
329
+ return localize.day(dayOfWeek, {
330
+ width: "narrow",
331
+ context: "formatting",
332
+ });
333
+ // Tu
334
+ case "EEEEEE":
335
+ return localize.day(dayOfWeek, {
336
+ width: "short",
337
+ context: "formatting",
338
+ });
339
+ // Tuesday
340
+ case "EEEE":
341
+ default:
342
+ return localize.day(dayOfWeek, {
343
+ width: "wide",
344
+ context: "formatting",
345
+ });
346
+ }
347
+ },
348
+
349
+ // Local day of week
350
+ e: function (date, token, localize, options) {
351
+ const dayOfWeek = date.getDay();
352
+ const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;
353
+ switch (token) {
354
+ // Numerical value (Nth day of week with current locale or weekStartsOn)
355
+ case "e":
356
+ return String(localDayOfWeek);
357
+ // Padded numerical value
358
+ case "ee":
359
+ return addLeadingZeros(localDayOfWeek, 2);
360
+ // 1st, 2nd, ..., 7th
361
+ case "eo":
362
+ return localize.ordinalNumber(localDayOfWeek, { unit: "day" });
363
+ case "eee":
364
+ return localize.day(dayOfWeek, {
365
+ width: "abbreviated",
366
+ context: "formatting",
367
+ });
368
+ // T
369
+ case "eeeee":
370
+ return localize.day(dayOfWeek, {
371
+ width: "narrow",
372
+ context: "formatting",
373
+ });
374
+ // Tu
375
+ case "eeeeee":
376
+ return localize.day(dayOfWeek, {
377
+ width: "short",
378
+ context: "formatting",
379
+ });
380
+ // Tuesday
381
+ case "eeee":
382
+ default:
383
+ return localize.day(dayOfWeek, {
384
+ width: "wide",
385
+ context: "formatting",
386
+ });
387
+ }
388
+ },
389
+
390
+ // Stand-alone local day of week
391
+ c: function (date, token, localize, options) {
392
+ const dayOfWeek = date.getDay();
393
+ const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;
394
+ switch (token) {
395
+ // Numerical value (same as in `e`)
396
+ case "c":
397
+ return String(localDayOfWeek);
398
+ // Padded numerical value
399
+ case "cc":
400
+ return addLeadingZeros(localDayOfWeek, token.length);
401
+ // 1st, 2nd, ..., 7th
402
+ case "co":
403
+ return localize.ordinalNumber(localDayOfWeek, { unit: "day" });
404
+ case "ccc":
405
+ return localize.day(dayOfWeek, {
406
+ width: "abbreviated",
407
+ context: "standalone",
408
+ });
409
+ // T
410
+ case "ccccc":
411
+ return localize.day(dayOfWeek, {
412
+ width: "narrow",
413
+ context: "standalone",
414
+ });
415
+ // Tu
416
+ case "cccccc":
417
+ return localize.day(dayOfWeek, {
418
+ width: "short",
419
+ context: "standalone",
420
+ });
421
+ // Tuesday
422
+ case "cccc":
423
+ default:
424
+ return localize.day(dayOfWeek, {
425
+ width: "wide",
426
+ context: "standalone",
427
+ });
428
+ }
429
+ },
430
+
431
+ // ISO day of week
432
+ i: function (date, token, localize) {
433
+ const dayOfWeek = date.getDay();
434
+ const isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;
435
+ switch (token) {
436
+ // 2
437
+ case "i":
438
+ return String(isoDayOfWeek);
439
+ // 02
440
+ case "ii":
441
+ return addLeadingZeros(isoDayOfWeek, token.length);
442
+ // 2nd
443
+ case "io":
444
+ return localize.ordinalNumber(isoDayOfWeek, { unit: "day" });
445
+ // Tue
446
+ case "iii":
447
+ return localize.day(dayOfWeek, {
448
+ width: "abbreviated",
449
+ context: "formatting",
450
+ });
451
+ // T
452
+ case "iiiii":
453
+ return localize.day(dayOfWeek, {
454
+ width: "narrow",
455
+ context: "formatting",
456
+ });
457
+ // Tu
458
+ case "iiiiii":
459
+ return localize.day(dayOfWeek, {
460
+ width: "short",
461
+ context: "formatting",
462
+ });
463
+ // Tuesday
464
+ case "iiii":
465
+ default:
466
+ return localize.day(dayOfWeek, {
467
+ width: "wide",
468
+ context: "formatting",
469
+ });
470
+ }
471
+ },
472
+
473
+ // AM or PM
474
+ a: function (date, token, localize) {
475
+ const hours = date.getHours();
476
+ const dayPeriodEnumValue = hours / 12 >= 1 ? "pm" : "am";
477
+
478
+ switch (token) {
479
+ case "a":
480
+ case "aa":
481
+ return localize.dayPeriod(dayPeriodEnumValue, {
482
+ width: "abbreviated",
483
+ context: "formatting",
484
+ });
485
+ case "aaa":
486
+ return localize
487
+ .dayPeriod(dayPeriodEnumValue, {
488
+ width: "abbreviated",
489
+ context: "formatting",
490
+ })
491
+ .toLowerCase();
492
+ case "aaaaa":
493
+ return localize.dayPeriod(dayPeriodEnumValue, {
494
+ width: "narrow",
495
+ context: "formatting",
496
+ });
497
+ case "aaaa":
498
+ default:
499
+ return localize.dayPeriod(dayPeriodEnumValue, {
500
+ width: "wide",
501
+ context: "formatting",
502
+ });
503
+ }
504
+ },
505
+
506
+ // AM, PM, midnight, noon
507
+ b: function (date, token, localize) {
508
+ const hours = date.getHours();
509
+ let dayPeriodEnumValue;
510
+ if (hours === 12) {
511
+ dayPeriodEnumValue = dayPeriodEnum.noon;
512
+ } else if (hours === 0) {
513
+ dayPeriodEnumValue = dayPeriodEnum.midnight;
514
+ } else {
515
+ dayPeriodEnumValue = hours / 12 >= 1 ? "pm" : "am";
516
+ }
517
+
518
+ switch (token) {
519
+ case "b":
520
+ case "bb":
521
+ return localize.dayPeriod(dayPeriodEnumValue, {
522
+ width: "abbreviated",
523
+ context: "formatting",
524
+ });
525
+ case "bbb":
526
+ return localize
527
+ .dayPeriod(dayPeriodEnumValue, {
528
+ width: "abbreviated",
529
+ context: "formatting",
530
+ })
531
+ .toLowerCase();
532
+ case "bbbbb":
533
+ return localize.dayPeriod(dayPeriodEnumValue, {
534
+ width: "narrow",
535
+ context: "formatting",
536
+ });
537
+ case "bbbb":
538
+ default:
539
+ return localize.dayPeriod(dayPeriodEnumValue, {
540
+ width: "wide",
541
+ context: "formatting",
542
+ });
543
+ }
544
+ },
545
+
546
+ // in the morning, in the afternoon, in the evening, at night
547
+ B: function (date, token, localize) {
548
+ const hours = date.getHours();
549
+ let dayPeriodEnumValue;
550
+ if (hours >= 17) {
551
+ dayPeriodEnumValue = dayPeriodEnum.evening;
552
+ } else if (hours >= 12) {
553
+ dayPeriodEnumValue = dayPeriodEnum.afternoon;
554
+ } else if (hours >= 4) {
555
+ dayPeriodEnumValue = dayPeriodEnum.morning;
556
+ } else {
557
+ dayPeriodEnumValue = dayPeriodEnum.night;
558
+ }
559
+
560
+ switch (token) {
561
+ case "B":
562
+ case "BB":
563
+ case "BBB":
564
+ return localize.dayPeriod(dayPeriodEnumValue, {
565
+ width: "abbreviated",
566
+ context: "formatting",
567
+ });
568
+ case "BBBBB":
569
+ return localize.dayPeriod(dayPeriodEnumValue, {
570
+ width: "narrow",
571
+ context: "formatting",
572
+ });
573
+ case "BBBB":
574
+ default:
575
+ return localize.dayPeriod(dayPeriodEnumValue, {
576
+ width: "wide",
577
+ context: "formatting",
578
+ });
579
+ }
580
+ },
581
+
582
+ // Hour [1-12]
583
+ h: function (date, token, localize) {
584
+ if (token === "ho") {
585
+ let hours = date.getHours() % 12;
586
+ if (hours === 0) hours = 12;
587
+ return localize.ordinalNumber(hours, { unit: "hour" });
588
+ }
589
+
590
+ return lightFormatters.h(date, token);
591
+ },
592
+
593
+ // Hour [0-23]
594
+ H: function (date, token, localize) {
595
+ if (token === "Ho") {
596
+ return localize.ordinalNumber(date.getHours(), { unit: "hour" });
597
+ }
598
+
599
+ return lightFormatters.H(date, token);
600
+ },
601
+
602
+ // Hour [0-11]
603
+ K: function (date, token, localize) {
604
+ const hours = date.getHours() % 12;
605
+
606
+ if (token === "Ko") {
607
+ return localize.ordinalNumber(hours, { unit: "hour" });
608
+ }
609
+
610
+ return addLeadingZeros(hours, token.length);
611
+ },
612
+
613
+ // Hour [1-24]
614
+ k: function (date, token, localize) {
615
+ let hours = date.getHours();
616
+ if (hours === 0) hours = 24;
617
+
618
+ if (token === "ko") {
619
+ return localize.ordinalNumber(hours, { unit: "hour" });
620
+ }
621
+
622
+ return addLeadingZeros(hours, token.length);
623
+ },
624
+
625
+ // Minute
626
+ m: function (date, token, localize) {
627
+ if (token === "mo") {
628
+ return localize.ordinalNumber(date.getMinutes(), { unit: "minute" });
629
+ }
630
+
631
+ return lightFormatters.m(date, token);
632
+ },
633
+
634
+ // Second
635
+ s: function (date, token, localize) {
636
+ if (token === "so") {
637
+ return localize.ordinalNumber(date.getSeconds(), { unit: "second" });
638
+ }
639
+
640
+ return lightFormatters.s(date, token);
641
+ },
642
+
643
+ // Fraction of second
644
+ S: function (date, token) {
645
+ return lightFormatters.S(date, token);
646
+ },
647
+
648
+ // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)
649
+ X: function (date, token, _localize) {
650
+ const timezoneOffset = date.getTimezoneOffset();
651
+
652
+ if (timezoneOffset === 0) {
653
+ return "Z";
654
+ }
655
+
656
+ switch (token) {
657
+ // Hours and optional minutes
658
+ case "X":
659
+ return formatTimezoneWithOptionalMinutes(timezoneOffset);
660
+
661
+ // Hours, minutes and optional seconds without `:` delimiter
662
+ // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
663
+ // so this token always has the same output as `XX`
664
+ case "XXXX":
665
+ case "XX": // Hours and minutes without `:` delimiter
666
+ return formatTimezone(timezoneOffset);
667
+
668
+ // Hours, minutes and optional seconds with `:` delimiter
669
+ // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
670
+ // so this token always has the same output as `XXX`
671
+ case "XXXXX":
672
+ case "XXX": // Hours and minutes with `:` delimiter
673
+ default:
674
+ return formatTimezone(timezoneOffset, ":");
675
+ }
676
+ },
677
+
678
+ // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)
679
+ x: function (date, token, _localize) {
680
+ const timezoneOffset = date.getTimezoneOffset();
681
+
682
+ switch (token) {
683
+ // Hours and optional minutes
684
+ case "x":
685
+ return formatTimezoneWithOptionalMinutes(timezoneOffset);
686
+
687
+ // Hours, minutes and optional seconds without `:` delimiter
688
+ // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
689
+ // so this token always has the same output as `xx`
690
+ case "xxxx":
691
+ case "xx": // Hours and minutes without `:` delimiter
692
+ return formatTimezone(timezoneOffset);
693
+
694
+ // Hours, minutes and optional seconds with `:` delimiter
695
+ // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
696
+ // so this token always has the same output as `xxx`
697
+ case "xxxxx":
698
+ case "xxx": // Hours and minutes with `:` delimiter
699
+ default:
700
+ return formatTimezone(timezoneOffset, ":");
701
+ }
702
+ },
703
+
704
+ // Timezone (GMT)
705
+ O: function (date, token, _localize) {
706
+ const timezoneOffset = date.getTimezoneOffset();
707
+
708
+ switch (token) {
709
+ // Short
710
+ case "O":
711
+ case "OO":
712
+ case "OOO":
713
+ return "GMT" + formatTimezoneShort(timezoneOffset, ":");
714
+ // Long
715
+ case "OOOO":
716
+ default:
717
+ return "GMT" + formatTimezone(timezoneOffset, ":");
718
+ }
719
+ },
720
+
721
+ // Timezone (specific non-location)
722
+ z: function (date, token, _localize) {
723
+ const timezoneOffset = date.getTimezoneOffset();
724
+
725
+ switch (token) {
726
+ // Short
727
+ case "z":
728
+ case "zz":
729
+ case "zzz":
730
+ return "GMT" + formatTimezoneShort(timezoneOffset, ":");
731
+ // Long
732
+ case "zzzz":
733
+ default:
734
+ return "GMT" + formatTimezone(timezoneOffset, ":");
735
+ }
736
+ },
737
+
738
+ // Seconds timestamp
739
+ t: function (date, token, _localize) {
740
+ const timestamp = Math.trunc(+date / 1000);
741
+ return addLeadingZeros(timestamp, token.length);
742
+ },
743
+
744
+ // Milliseconds timestamp
745
+ T: function (date, token, _localize) {
746
+ return addLeadingZeros(+date, token.length);
747
+ },
748
+ };
749
+
750
+ function formatTimezoneShort(offset, delimiter = "") {
751
+ const sign = offset > 0 ? "-" : "+";
752
+ const absOffset = Math.abs(offset);
753
+ const hours = Math.trunc(absOffset / 60);
754
+ const minutes = absOffset % 60;
755
+ if (minutes === 0) {
756
+ return sign + String(hours);
757
+ }
758
+ return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);
759
+ }
760
+
761
+ function formatTimezoneWithOptionalMinutes(offset, delimiter) {
762
+ if (offset % 60 === 0) {
763
+ const sign = offset > 0 ? "-" : "+";
764
+ return sign + addLeadingZeros(Math.abs(offset) / 60, 2);
765
+ }
766
+ return formatTimezone(offset, delimiter);
767
+ }
768
+
769
+ function formatTimezone(offset, delimiter = "") {
770
+ const sign = offset > 0 ? "-" : "+";
771
+ const absOffset = Math.abs(offset);
772
+ const hours = addLeadingZeros(Math.trunc(absOffset / 60), 2);
773
+ const minutes = addLeadingZeros(absOffset % 60, 2);
774
+ return sign + hours + delimiter + minutes;
775
+ }
776
+
777
+ export { formatters };
778
+ //# sourceMappingURL=formatters.js.map