yuyeon 0.3.1-rc.6 → 0.3.2-rc.1

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 (951) hide show
  1. package/dist/yuyeon.js +459 -458
  2. package/dist/yuyeon.umd.cjs +2 -2
  3. package/lib/abstract/items.js +20 -0
  4. package/lib/abstract/items.js.map +1 -0
  5. package/lib/components/alert/YAlert.js +83 -0
  6. package/lib/components/alert/YAlert.js.map +1 -0
  7. package/lib/components/alert/index.js +2 -0
  8. package/lib/components/alert/index.js.map +1 -0
  9. package/lib/components/app/YApp.js +21 -0
  10. package/lib/components/app/YApp.js.map +1 -0
  11. package/lib/components/app/index.js +2 -0
  12. package/lib/components/app/index.js.map +1 -0
  13. package/lib/components/badge/YBadge.js +83 -0
  14. package/lib/components/badge/YBadge.js.map +1 -0
  15. package/lib/components/badge/index.js +2 -0
  16. package/lib/components/badge/index.js.map +1 -0
  17. package/lib/components/bench/YBench.js +43 -0
  18. package/lib/components/bench/YBench.js.map +1 -0
  19. package/lib/components/bench/index.js +2 -0
  20. package/lib/components/bench/index.js.map +1 -0
  21. package/lib/components/button/YButton.js +169 -0
  22. package/lib/components/button/YButton.js.map +1 -0
  23. package/lib/components/button/index.js +2 -0
  24. package/lib/components/button/index.js.map +1 -0
  25. package/lib/components/card/YCard.js +28 -0
  26. package/lib/components/card/YCard.js.map +1 -0
  27. package/lib/components/card/YCardBody.js +11 -0
  28. package/lib/components/card/YCardBody.js.map +1 -0
  29. package/lib/components/card/YCardFooter.js +11 -0
  30. package/lib/components/card/YCardFooter.js.map +1 -0
  31. package/lib/components/card/YCardHeader.js +11 -0
  32. package/lib/components/card/YCardHeader.js.map +1 -0
  33. package/lib/components/card/index.js +5 -0
  34. package/lib/components/card/index.js.map +1 -0
  35. package/lib/components/checkbox/YCheckbox.js +160 -0
  36. package/lib/components/checkbox/YCheckbox.js.map +1 -0
  37. package/lib/components/checkbox/YInputCheckbox.js +114 -0
  38. package/lib/components/checkbox/YInputCheckbox.js.map +1 -0
  39. package/lib/components/checkbox/index.js +4 -0
  40. package/lib/components/checkbox/index.js.map +1 -0
  41. package/lib/components/chip/YChip.js +39 -0
  42. package/lib/components/chip/YChip.js.map +1 -0
  43. package/lib/components/chip/index.js +2 -0
  44. package/lib/components/chip/index.js.map +1 -0
  45. package/lib/components/date-picker/YDateCalendar.js +243 -0
  46. package/lib/components/date-picker/YDateCalendar.js.map +1 -0
  47. package/lib/components/date-picker/YDatePicker.js +132 -0
  48. package/lib/components/date-picker/YDatePicker.js.map +1 -0
  49. package/lib/components/date-picker/YDatePickerControl.js +107 -0
  50. package/lib/components/date-picker/YDatePickerControl.js.map +1 -0
  51. package/lib/components/date-picker/YMonthPicker.js +64 -0
  52. package/lib/components/date-picker/YMonthPicker.js.map +1 -0
  53. package/lib/components/date-picker/YYearPicker.js +87 -0
  54. package/lib/components/date-picker/YYearPicker.js.map +1 -0
  55. package/lib/components/date-picker/index.js +4 -0
  56. package/lib/components/date-picker/index.js.map +1 -0
  57. package/lib/components/default-provider/YDefaultProvider.js +2 -0
  58. package/lib/components/default-provider/YDefaultProvider.js.map +1 -0
  59. package/lib/components/default-provider/index.js +2 -0
  60. package/lib/components/default-provider/index.js.map +1 -0
  61. package/lib/components/dialog/YDialog.js +213 -0
  62. package/lib/components/dialog/YDialog.js.map +1 -0
  63. package/lib/components/dialog/index.js +2 -0
  64. package/lib/components/dialog/index.js.map +1 -0
  65. package/lib/components/divider/YDivider.js +20 -0
  66. package/lib/components/divider/YDivider.js.map +1 -0
  67. package/lib/components/divider/index.js +2 -0
  68. package/lib/components/divider/index.js.map +1 -0
  69. package/lib/components/draggable/YDraggable.js +95 -0
  70. package/lib/components/draggable/YDraggable.js.map +1 -0
  71. package/lib/components/dropdown/YDropdown.js +109 -0
  72. package/lib/components/dropdown/YDropdown.js.map +1 -0
  73. package/lib/components/dropdown/index.js +2 -0
  74. package/lib/components/dropdown/index.js.map +1 -0
  75. package/lib/components/field-input/YFieldInput.js +229 -0
  76. package/lib/components/field-input/YFieldInput.js.map +1 -0
  77. package/lib/components/field-input/index.js +2 -0
  78. package/lib/components/field-input/index.js.map +1 -0
  79. package/lib/components/form/YForm.js +65 -0
  80. package/lib/components/form/YForm.js.map +1 -0
  81. package/lib/components/form/index.js +2 -0
  82. package/lib/components/form/index.js.map +1 -0
  83. package/lib/components/hover/YHover.js +54 -0
  84. package/lib/components/hover/YHover.js.map +1 -0
  85. package/lib/components/hover/index.js +2 -0
  86. package/lib/components/hover/index.js.map +1 -0
  87. package/lib/components/icon/YIcon.js +63 -0
  88. package/lib/components/icon/YIcon.js.map +1 -0
  89. package/lib/components/icon/index.js +2 -0
  90. package/lib/components/icon/index.js.map +1 -0
  91. package/lib/components/icons/YIconCheckbox.js +32 -0
  92. package/lib/components/icons/YIconCheckbox.js.map +1 -0
  93. package/lib/components/icons/YIconClear.js +16 -0
  94. package/lib/components/icons/YIconClear.js.map +1 -0
  95. package/lib/components/icons/YIconDropdown.js +16 -0
  96. package/lib/components/icons/YIconDropdown.js.map +1 -0
  97. package/lib/components/icons/YIconExpand.js +20 -0
  98. package/lib/components/icons/YIconExpand.js.map +1 -0
  99. package/lib/components/icons/YIconPageControl.js +32 -0
  100. package/lib/components/icons/YIconPageControl.js.map +1 -0
  101. package/lib/components/icons/YIconSort.js +45 -0
  102. package/lib/components/icons/YIconSort.js.map +1 -0
  103. package/lib/components/icons/index.js +32 -0
  104. package/lib/components/icons/index.js.map +1 -0
  105. package/lib/components/img/YImg.js +173 -0
  106. package/lib/components/img/YImg.js.map +1 -0
  107. package/lib/components/img/index.js +2 -0
  108. package/lib/components/img/index.js.map +1 -0
  109. package/lib/components/index.js +39 -0
  110. package/lib/components/index.js.map +1 -0
  111. package/lib/components/input/YInput.js +258 -0
  112. package/lib/components/input/YInput.js.map +1 -0
  113. package/lib/components/input/index.js +2 -0
  114. package/lib/components/input/index.js.map +1 -0
  115. package/lib/components/ip-field/YIpv4Field.js +297 -0
  116. package/lib/components/ip-field/YIpv4Field.js.map +1 -0
  117. package/lib/components/ip-field/index.js +2 -0
  118. package/lib/components/ip-field/index.js.map +1 -0
  119. package/lib/components/layer/YLayer.js +326 -0
  120. package/lib/components/layer/YLayer.js.map +1 -0
  121. package/lib/components/layer/active-delay.js +28 -0
  122. package/lib/components/layer/active-delay.js.map +1 -0
  123. package/lib/components/layer/active-stack.js +52 -0
  124. package/lib/components/layer/active-stack.js.map +1 -0
  125. package/lib/components/layer/base.js +87 -0
  126. package/lib/components/layer/base.js.map +1 -0
  127. package/lib/components/layer/content.js +22 -0
  128. package/lib/components/layer/content.js.map +1 -0
  129. package/lib/components/layer/index.js +2 -0
  130. package/lib/components/layer/index.js.map +1 -0
  131. package/lib/components/layer/scroll-strategies.js +132 -0
  132. package/lib/components/layer/scroll-strategies.js.map +1 -0
  133. package/lib/components/list/YList.js +55 -0
  134. package/lib/components/list/YList.js.map +1 -0
  135. package/lib/components/list/YListItem.js +59 -0
  136. package/lib/components/list/YListItem.js.map +1 -0
  137. package/lib/components/list/index.js +3 -0
  138. package/lib/components/list/index.js.map +1 -0
  139. package/lib/components/loading/YSpinnerRing.js +25 -0
  140. package/lib/components/loading/YSpinnerRing.js.map +1 -0
  141. package/lib/components/loading/index.js +2 -0
  142. package/lib/components/loading/index.js.map +1 -0
  143. package/lib/components/menu/YMenu.js +211 -0
  144. package/lib/components/menu/YMenu.js.map +1 -0
  145. package/lib/components/menu/index.js +2 -0
  146. package/lib/components/menu/index.js.map +1 -0
  147. package/lib/components/navigation/YNavigation.js +18 -0
  148. package/lib/components/navigation/YNavigation.js.map +1 -0
  149. package/lib/components/navigation/index.js +2 -0
  150. package/lib/components/navigation/index.js.map +1 -0
  151. package/lib/components/pagination/YPagination.js +288 -0
  152. package/lib/components/pagination/YPagination.js.map +1 -0
  153. package/lib/components/pagination/index.js +2 -0
  154. package/lib/components/pagination/index.js.map +1 -0
  155. package/lib/components/panel/YDividePanel.js +90 -0
  156. package/lib/components/panel/YDividePanel.js.map +1 -0
  157. package/lib/components/panel/index.js +2 -0
  158. package/lib/components/panel/index.js.map +1 -0
  159. package/lib/components/plate/YPlate.js +28 -0
  160. package/lib/components/plate/YPlate.js.map +1 -0
  161. package/lib/components/plate/index.js +2 -0
  162. package/lib/components/plate/index.js.map +1 -0
  163. package/lib/components/progress-bar/YProgressBar.js +117 -0
  164. package/lib/components/progress-bar/YProgressBar.js.map +1 -0
  165. package/lib/components/progress-bar/index.js +2 -0
  166. package/lib/components/progress-bar/index.js.map +1 -0
  167. package/lib/components/progress-ring/YProgressRing.js +128 -0
  168. package/lib/components/progress-ring/YProgressRing.js.map +1 -0
  169. package/lib/components/progress-ring/index.js +2 -0
  170. package/lib/components/progress-ring/index.js.map +1 -0
  171. package/lib/components/select/YSelect.js +344 -0
  172. package/lib/components/select/YSelect.js.map +1 -0
  173. package/lib/components/select/index.js +2 -0
  174. package/lib/components/select/index.js.map +1 -0
  175. package/lib/components/slider/YSlider.js +26 -0
  176. package/lib/components/slider/YSlider.js.map +1 -0
  177. package/lib/components/slider/index.js +2 -0
  178. package/lib/components/slider/index.js.map +1 -0
  179. package/lib/components/snackbar/YSnackbar.js +209 -0
  180. package/lib/components/snackbar/YSnackbar.js.map +1 -0
  181. package/lib/components/snackbar/index.js +2 -0
  182. package/lib/components/snackbar/index.js.map +1 -0
  183. package/lib/components/switch/YSwitch.js +184 -0
  184. package/lib/components/switch/YSwitch.js.map +1 -0
  185. package/lib/components/switch/index.js +2 -0
  186. package/lib/components/switch/index.js.map +1 -0
  187. package/lib/components/tab/YTab.js +64 -0
  188. package/lib/components/tab/YTab.js.map +1 -0
  189. package/lib/components/tab/YTabs.js +86 -0
  190. package/lib/components/tab/YTabs.js.map +1 -0
  191. package/lib/components/tab/index.js +4 -0
  192. package/lib/components/tab/index.js.map +1 -0
  193. package/lib/components/tab/shared.js +2 -0
  194. package/lib/components/tab/shared.js.map +1 -0
  195. package/lib/components/tab/types.js +2 -0
  196. package/lib/components/tab/types.js.map +1 -0
  197. package/lib/components/table/YDataTable.js +182 -0
  198. package/lib/components/table/YDataTable.js.map +1 -0
  199. package/lib/components/table/YDataTableBody.js +131 -0
  200. package/lib/components/table/YDataTableBody.js.map +1 -0
  201. package/lib/components/table/YDataTableCell.js +78 -0
  202. package/lib/components/table/YDataTableCell.js.map +1 -0
  203. package/lib/components/table/YDataTableControl.js +46 -0
  204. package/lib/components/table/YDataTableControl.js.map +1 -0
  205. package/lib/components/table/YDataTableHead.js +172 -0
  206. package/lib/components/table/YDataTableHead.js.map +1 -0
  207. package/lib/components/table/YDataTableLayer.js +29 -0
  208. package/lib/components/table/YDataTableLayer.js.map +1 -0
  209. package/lib/components/table/YDataTableRow.js +150 -0
  210. package/lib/components/table/YDataTableRow.js.map +1 -0
  211. package/lib/components/table/YDataTableServer.js +173 -0
  212. package/lib/components/table/YDataTableServer.js.map +1 -0
  213. package/lib/components/table/YTable.js +77 -0
  214. package/lib/components/table/YTable.js.map +1 -0
  215. package/lib/components/table/composibles/header.js +127 -0
  216. package/lib/components/table/composibles/header.js.map +1 -0
  217. package/lib/components/table/composibles/items.js +52 -0
  218. package/lib/components/table/composibles/items.js.map +1 -0
  219. package/lib/components/table/composibles/measure.js +39 -0
  220. package/lib/components/table/composibles/measure.js.map +1 -0
  221. package/lib/components/table/composibles/options.js +33 -0
  222. package/lib/components/table/composibles/options.js.map +1 -0
  223. package/lib/components/table/composibles/pagination.js +99 -0
  224. package/lib/components/table/composibles/pagination.js.map +1 -0
  225. package/lib/components/table/composibles/selection.js +196 -0
  226. package/lib/components/table/composibles/selection.js.map +1 -0
  227. package/lib/components/table/composibles/sorted-items.js +50 -0
  228. package/lib/components/table/composibles/sorted-items.js.map +1 -0
  229. package/lib/components/table/composibles/sorting.js +73 -0
  230. package/lib/components/table/composibles/sorting.js.map +1 -0
  231. package/lib/components/table/index.js +9 -0
  232. package/lib/components/table/index.js.map +1 -0
  233. package/lib/components/table/types/common.js +2 -0
  234. package/lib/components/table/types/common.js.map +1 -0
  235. package/lib/components/table/types/header.js +2 -0
  236. package/lib/components/table/types/header.js.map +1 -0
  237. package/lib/components/table/types/index.js +2 -0
  238. package/lib/components/table/types/index.js.map +1 -0
  239. package/lib/components/table/types/item.js +2 -0
  240. package/lib/components/table/types/item.js.map +1 -0
  241. package/lib/components/table/types/row.js +2 -0
  242. package/lib/components/table/types/row.js.map +1 -0
  243. package/lib/components/text-ellipsis/YTextEllipsis.js +66 -0
  244. package/lib/components/text-ellipsis/YTextEllipsis.js.map +1 -0
  245. package/lib/components/text-ellipsis/index.js +2 -0
  246. package/lib/components/text-ellipsis/index.js.map +1 -0
  247. package/lib/components/text-highlighter/YTextHighlighter.js +95 -0
  248. package/lib/components/text-highlighter/YTextHighlighter.js.map +1 -0
  249. package/lib/components/text-highlighter/index.js +2 -0
  250. package/lib/components/text-highlighter/index.js.map +1 -0
  251. package/lib/components/text-interpolation/YTi.js +47 -0
  252. package/lib/components/text-interpolation/YTi.js.map +1 -0
  253. package/lib/components/text-interpolation/index.js +2 -0
  254. package/lib/components/text-interpolation/index.js.map +1 -0
  255. package/lib/components/textarea/YTextarea.js +157 -0
  256. package/lib/components/textarea/YTextarea.js.map +1 -0
  257. package/lib/components/textarea/index.js +2 -0
  258. package/lib/components/textarea/index.js.map +1 -0
  259. package/lib/components/toggle-button/YToggleButton.js +2 -0
  260. package/lib/components/toggle-button/YToggleButton.js.map +1 -0
  261. package/lib/components/toggle-button/index.js +2 -0
  262. package/lib/components/toggle-button/index.js.map +1 -0
  263. package/lib/components/tooltip/YTooltip.js +157 -0
  264. package/lib/components/tooltip/YTooltip.js.map +1 -0
  265. package/lib/components/tooltip/index.js +2 -0
  266. package/lib/components/tooltip/index.js.map +1 -0
  267. package/lib/components/transitions/expand-transition.js +109 -0
  268. package/lib/components/transitions/expand-transition.js.map +1 -0
  269. package/lib/components/transitions/index.js +4 -0
  270. package/lib/components/transitions/index.js.map +1 -0
  271. package/lib/components/tree-view/YTreeView.js +290 -0
  272. package/lib/components/tree-view/YTreeView.js.map +1 -0
  273. package/lib/components/tree-view/YTreeViewNode.js +250 -0
  274. package/lib/components/tree-view/YTreeViewNode.js.map +1 -0
  275. package/lib/components/tree-view/index.js +3 -0
  276. package/lib/components/tree-view/index.js.map +1 -0
  277. package/lib/components/tree-view/tree-view.js +179 -0
  278. package/lib/components/tree-view/tree-view.js.map +1 -0
  279. package/lib/components/tree-view/types.js +2 -0
  280. package/lib/components/tree-view/types.js.map +1 -0
  281. package/lib/components/tree-view/util.js +40 -0
  282. package/lib/components/tree-view/util.js.map +1 -0
  283. package/lib/composables/choice-link.js +13 -0
  284. package/lib/composables/choice-link.js.map +1 -0
  285. package/lib/composables/choice.js +187 -0
  286. package/lib/composables/choice.js.map +1 -0
  287. package/lib/composables/communication.js +55 -0
  288. package/lib/composables/communication.js.map +1 -0
  289. package/lib/composables/component.js +8 -0
  290. package/lib/composables/component.js.map +1 -0
  291. package/lib/composables/coordinate/arrangement.js +14 -0
  292. package/lib/composables/coordinate/arrangement.js.map +1 -0
  293. package/lib/composables/coordinate/index.js +67 -0
  294. package/lib/composables/coordinate/index.js.map +1 -0
  295. package/lib/composables/coordinate/levitation.js +315 -0
  296. package/lib/composables/coordinate/levitation.js.map +1 -0
  297. package/lib/composables/coordinate/types.js +2 -0
  298. package/lib/composables/coordinate/types.js.map +1 -0
  299. package/lib/composables/coordinate/utils/point.js +55 -0
  300. package/lib/composables/coordinate/utils/point.js.map +1 -0
  301. package/lib/composables/date/factory.js +12 -0
  302. package/lib/composables/date/factory.js.map +1 -0
  303. package/lib/composables/date/index.js +20 -0
  304. package/lib/composables/date/index.js.map +1 -0
  305. package/lib/composables/date/setting.js +11 -0
  306. package/lib/composables/date/setting.js.map +1 -0
  307. package/lib/composables/date/types.js +2 -0
  308. package/lib/composables/date/types.js.map +1 -0
  309. package/lib/composables/defaults/index.js +99 -0
  310. package/lib/composables/defaults/index.js.map +1 -0
  311. package/lib/composables/defaults/share.js +2 -0
  312. package/lib/composables/defaults/share.js.map +1 -0
  313. package/lib/composables/defaults/types.js +2 -0
  314. package/lib/composables/defaults/types.js.map +1 -0
  315. package/lib/composables/dimension.js +26 -0
  316. package/lib/composables/dimension.js.map +1 -0
  317. package/lib/composables/focus.js +29 -0
  318. package/lib/composables/focus.js.map +1 -0
  319. package/lib/composables/form.js +100 -0
  320. package/lib/composables/form.js.map +1 -0
  321. package/lib/composables/i18n/index.js +30 -0
  322. package/lib/composables/i18n/index.js.map +1 -0
  323. package/lib/composables/i18n/locale.js +5 -0
  324. package/lib/composables/i18n/locale.js.map +1 -0
  325. package/lib/composables/i18n/rtl.js +34 -0
  326. package/lib/composables/i18n/rtl.js.map +1 -0
  327. package/lib/composables/i18n/share.js +2 -0
  328. package/lib/composables/i18n/share.js.map +1 -0
  329. package/lib/composables/icon.js +164 -0
  330. package/lib/composables/icon.js.map +1 -0
  331. package/lib/composables/index.js +11 -0
  332. package/lib/composables/index.js.map +1 -0
  333. package/lib/composables/layer-group.js +66 -0
  334. package/lib/composables/layer-group.js.map +1 -0
  335. package/lib/composables/layout.js +13 -0
  336. package/lib/composables/layout.js.map +1 -0
  337. package/lib/composables/list-items.js +66 -0
  338. package/lib/composables/list-items.js.map +1 -0
  339. package/lib/composables/progress.js +26 -0
  340. package/lib/composables/progress.js.map +1 -0
  341. package/lib/composables/ref.js +13 -0
  342. package/lib/composables/ref.js.map +1 -0
  343. package/lib/composables/resize-observer.js +33 -0
  344. package/lib/composables/resize-observer.js.map +1 -0
  345. package/lib/composables/scope.js +26 -0
  346. package/lib/composables/scope.js.map +1 -0
  347. package/lib/composables/style-color.js +37 -0
  348. package/lib/composables/style-color.js.map +1 -0
  349. package/lib/composables/theme/factory.js +47 -0
  350. package/lib/composables/theme/factory.js.map +1 -0
  351. package/lib/composables/theme/helper.js +14 -0
  352. package/lib/composables/theme/helper.js.map +1 -0
  353. package/lib/composables/theme/index.js +187 -0
  354. package/lib/composables/theme/index.js.map +1 -0
  355. package/lib/composables/theme/setting.js +113 -0
  356. package/lib/composables/theme/setting.js.map +1 -0
  357. package/lib/composables/theme/types.js +2 -0
  358. package/lib/composables/theme/types.js.map +1 -0
  359. package/lib/composables/timing.js +102 -0
  360. package/lib/composables/timing.js.map +1 -0
  361. package/lib/composables/transition.js +51 -0
  362. package/lib/composables/transition.js.map +1 -0
  363. package/lib/composables/validation.js +126 -0
  364. package/lib/composables/validation.js.map +1 -0
  365. package/lib/composables/vue-router.js +32 -0
  366. package/lib/composables/vue-router.js.map +1 -0
  367. package/lib/directives/complement-click/index.js +78 -0
  368. package/lib/directives/complement-click/index.js.map +1 -0
  369. package/lib/directives/plate-wave/index.js +100 -0
  370. package/lib/directives/plate-wave/index.js.map +1 -0
  371. package/lib/directives/theme-class.js +24 -0
  372. package/lib/directives/theme-class.js.map +1 -0
  373. package/lib/etc/index.js +6 -0
  374. package/lib/etc/index.js.map +1 -0
  375. package/lib/i18n/built-in.js +77 -0
  376. package/lib/i18n/built-in.js.map +1 -0
  377. package/lib/i18n/config.js +82 -0
  378. package/lib/i18n/config.js.map +1 -0
  379. package/lib/i18n/types.js +2 -0
  380. package/lib/i18n/types.js.map +1 -0
  381. package/lib/index.js +103 -0
  382. package/lib/index.js.map +1 -0
  383. package/lib/locales/en.js +6 -0
  384. package/lib/locales/en.js.map +1 -0
  385. package/lib/locales/index.js +3 -0
  386. package/lib/locales/index.js.map +1 -0
  387. package/lib/locales/ko.js +6 -0
  388. package/lib/locales/ko.js.map +1 -0
  389. package/lib/mixins/di.js +19 -0
  390. package/lib/mixins/di.js.map +1 -0
  391. package/lib/mixins/rebind-attrs.js +37 -0
  392. package/lib/mixins/rebind-attrs.js.map +1 -0
  393. package/lib/types/index.js +2 -0
  394. package/lib/types/index.js.map +1 -0
  395. package/lib/util/anchor.js +53 -0
  396. package/lib/util/anchor.js.map +1 -0
  397. package/lib/util/array.js +13 -0
  398. package/lib/util/array.js.map +1 -0
  399. package/lib/util/collection.js +10 -0
  400. package/lib/util/collection.js.map +1 -0
  401. package/lib/util/color/apca.js +201 -0
  402. package/lib/util/color/apca.js.map +1 -0
  403. package/lib/util/color/const.js +6 -0
  404. package/lib/util/color/const.js.map +1 -0
  405. package/lib/util/color/contrast/contrast.js +149 -0
  406. package/lib/util/color/contrast/contrast.js.map +1 -0
  407. package/lib/util/color/conversion.js +310 -0
  408. package/lib/util/color/conversion.js.map +1 -0
  409. package/lib/util/color/hct/cam16.js +349 -0
  410. package/lib/util/color/hct/cam16.js.map +1 -0
  411. package/lib/util/color/hct/hct-solver.js +389 -0
  412. package/lib/util/color/hct/hct-solver.js.map +1 -0
  413. package/lib/util/color/hct/hct.js +153 -0
  414. package/lib/util/color/hct/hct.js.map +1 -0
  415. package/lib/util/color/hct/viewing-conditions.js +110 -0
  416. package/lib/util/color/hct/viewing-conditions.js.map +1 -0
  417. package/lib/util/color/index.js +40 -0
  418. package/lib/util/color/index.js.map +1 -0
  419. package/lib/util/color/palettes/core-palette.js +99 -0
  420. package/lib/util/color/palettes/core-palette.js.map +1 -0
  421. package/lib/util/color/palettes/tonal-palette.js +112 -0
  422. package/lib/util/color/palettes/tonal-palette.js.map +1 -0
  423. package/lib/util/color/types.js +2 -0
  424. package/lib/util/color/types.js.map +1 -0
  425. package/lib/util/color/utils/math-utils.js +139 -0
  426. package/lib/util/color/utils/math-utils.js.map +1 -0
  427. package/lib/util/common.js +107 -0
  428. package/lib/util/common.js.map +1 -0
  429. package/lib/util/component/component.js +26 -0
  430. package/lib/util/component/component.js.map +1 -0
  431. package/lib/util/component/index.js +65 -0
  432. package/lib/util/component/index.js.map +1 -0
  433. package/lib/util/component/inject-self.js +10 -0
  434. package/lib/util/component/inject-self.js.map +1 -0
  435. package/lib/util/component/props.js +41 -0
  436. package/lib/util/component/props.js.map +1 -0
  437. package/lib/util/component/types.js +2 -0
  438. package/lib/util/component/types.js.map +1 -0
  439. package/lib/util/date/adapters/yuyeon-date-adapter.js +111 -0
  440. package/lib/util/date/adapters/yuyeon-date-adapter.js.map +1 -0
  441. package/lib/util/date/built-in.js +416 -0
  442. package/lib/util/date/built-in.js.map +1 -0
  443. package/lib/util/date/index.js +4 -0
  444. package/lib/util/date/index.js.map +1 -0
  445. package/lib/util/date/types.js +2 -0
  446. package/lib/util/date/types.js.map +1 -0
  447. package/lib/util/debounce.js +114 -0
  448. package/lib/util/debounce.js.map +1 -0
  449. package/lib/util/dom.js +23 -0
  450. package/lib/util/dom.js.map +1 -0
  451. package/lib/util/environments.js +8 -0
  452. package/lib/util/environments.js.map +1 -0
  453. package/lib/util/frame-scheduler.js +29 -0
  454. package/lib/util/frame-scheduler.js.map +1 -0
  455. package/lib/util/index.js +17 -0
  456. package/lib/util/index.js.map +1 -0
  457. package/lib/util/reactivity.js +19 -0
  458. package/lib/util/reactivity.js.map +1 -0
  459. package/lib/util/rect.js +39 -0
  460. package/lib/util/rect.js.map +1 -0
  461. package/lib/util/scroll.js +28 -0
  462. package/lib/util/scroll.js.map +1 -0
  463. package/lib/util/string.js +69 -0
  464. package/lib/util/string.js.map +1 -0
  465. package/lib/util/ui.js +60 -0
  466. package/lib/util/ui.js.map +1 -0
  467. package/lib/util/validation.js +5 -0
  468. package/lib/util/validation.js.map +1 -0
  469. package/package.json +12 -12
  470. package/types/components/tree-view/YTreeView.d.ts +1 -0
  471. package/types/composables/theme/setting.d.ts +1 -0
  472. package/lib/abstract/items.mjs +0 -20
  473. package/lib/abstract/items.mjs.map +0 -1
  474. package/lib/components/alert/YAlert.mjs +0 -83
  475. package/lib/components/alert/YAlert.mjs.map +0 -1
  476. package/lib/components/alert/index.mjs +0 -2
  477. package/lib/components/alert/index.mjs.map +0 -1
  478. package/lib/components/app/YApp.mjs +0 -21
  479. package/lib/components/app/YApp.mjs.map +0 -1
  480. package/lib/components/app/index.mjs +0 -2
  481. package/lib/components/app/index.mjs.map +0 -1
  482. package/lib/components/badge/YBadge.mjs +0 -83
  483. package/lib/components/badge/YBadge.mjs.map +0 -1
  484. package/lib/components/badge/index.mjs +0 -2
  485. package/lib/components/badge/index.mjs.map +0 -1
  486. package/lib/components/bench/YBench.mjs +0 -43
  487. package/lib/components/bench/YBench.mjs.map +0 -1
  488. package/lib/components/bench/index.mjs +0 -2
  489. package/lib/components/bench/index.mjs.map +0 -1
  490. package/lib/components/button/YButton.mjs +0 -169
  491. package/lib/components/button/YButton.mjs.map +0 -1
  492. package/lib/components/button/index.mjs +0 -2
  493. package/lib/components/button/index.mjs.map +0 -1
  494. package/lib/components/card/YCard.mjs +0 -28
  495. package/lib/components/card/YCard.mjs.map +0 -1
  496. package/lib/components/card/YCardBody.mjs +0 -11
  497. package/lib/components/card/YCardBody.mjs.map +0 -1
  498. package/lib/components/card/YCardFooter.mjs +0 -11
  499. package/lib/components/card/YCardFooter.mjs.map +0 -1
  500. package/lib/components/card/YCardHeader.mjs +0 -11
  501. package/lib/components/card/YCardHeader.mjs.map +0 -1
  502. package/lib/components/card/index.mjs +0 -5
  503. package/lib/components/card/index.mjs.map +0 -1
  504. package/lib/components/checkbox/YCheckbox.mjs +0 -160
  505. package/lib/components/checkbox/YCheckbox.mjs.map +0 -1
  506. package/lib/components/checkbox/YInputCheckbox.mjs +0 -114
  507. package/lib/components/checkbox/YInputCheckbox.mjs.map +0 -1
  508. package/lib/components/checkbox/index.mjs +0 -4
  509. package/lib/components/checkbox/index.mjs.map +0 -1
  510. package/lib/components/chip/YChip.mjs +0 -39
  511. package/lib/components/chip/YChip.mjs.map +0 -1
  512. package/lib/components/chip/index.mjs +0 -2
  513. package/lib/components/chip/index.mjs.map +0 -1
  514. package/lib/components/date-picker/YDateCalendar.mjs +0 -243
  515. package/lib/components/date-picker/YDateCalendar.mjs.map +0 -1
  516. package/lib/components/date-picker/YDatePicker.mjs +0 -132
  517. package/lib/components/date-picker/YDatePicker.mjs.map +0 -1
  518. package/lib/components/date-picker/YDatePickerControl.mjs +0 -107
  519. package/lib/components/date-picker/YDatePickerControl.mjs.map +0 -1
  520. package/lib/components/date-picker/YMonthPicker.mjs +0 -64
  521. package/lib/components/date-picker/YMonthPicker.mjs.map +0 -1
  522. package/lib/components/date-picker/YYearPicker.mjs +0 -87
  523. package/lib/components/date-picker/YYearPicker.mjs.map +0 -1
  524. package/lib/components/date-picker/index.mjs +0 -4
  525. package/lib/components/date-picker/index.mjs.map +0 -1
  526. package/lib/components/default-provider/YDefaultProvider.mjs +0 -2
  527. package/lib/components/default-provider/YDefaultProvider.mjs.map +0 -1
  528. package/lib/components/default-provider/index.mjs +0 -2
  529. package/lib/components/default-provider/index.mjs.map +0 -1
  530. package/lib/components/dialog/YDialog.mjs +0 -213
  531. package/lib/components/dialog/YDialog.mjs.map +0 -1
  532. package/lib/components/dialog/index.mjs +0 -2
  533. package/lib/components/dialog/index.mjs.map +0 -1
  534. package/lib/components/divider/YDivider.mjs +0 -20
  535. package/lib/components/divider/YDivider.mjs.map +0 -1
  536. package/lib/components/divider/index.mjs +0 -2
  537. package/lib/components/divider/index.mjs.map +0 -1
  538. package/lib/components/draggable/YDraggable.mjs +0 -95
  539. package/lib/components/draggable/YDraggable.mjs.map +0 -1
  540. package/lib/components/dropdown/YDropdown.mjs +0 -109
  541. package/lib/components/dropdown/YDropdown.mjs.map +0 -1
  542. package/lib/components/dropdown/index.mjs +0 -2
  543. package/lib/components/dropdown/index.mjs.map +0 -1
  544. package/lib/components/field-input/YFieldInput.mjs +0 -229
  545. package/lib/components/field-input/YFieldInput.mjs.map +0 -1
  546. package/lib/components/field-input/index.mjs +0 -2
  547. package/lib/components/field-input/index.mjs.map +0 -1
  548. package/lib/components/form/YForm.mjs +0 -65
  549. package/lib/components/form/YForm.mjs.map +0 -1
  550. package/lib/components/form/index.mjs +0 -2
  551. package/lib/components/form/index.mjs.map +0 -1
  552. package/lib/components/hover/YHover.mjs +0 -54
  553. package/lib/components/hover/YHover.mjs.map +0 -1
  554. package/lib/components/hover/index.mjs +0 -2
  555. package/lib/components/hover/index.mjs.map +0 -1
  556. package/lib/components/icon/YIcon.mjs +0 -63
  557. package/lib/components/icon/YIcon.mjs.map +0 -1
  558. package/lib/components/icon/index.mjs +0 -2
  559. package/lib/components/icon/index.mjs.map +0 -1
  560. package/lib/components/icon/poly.mjs +0 -57
  561. package/lib/components/icon/poly.mjs.map +0 -1
  562. package/lib/components/icons/YIconCheckbox.mjs +0 -32
  563. package/lib/components/icons/YIconCheckbox.mjs.map +0 -1
  564. package/lib/components/icons/YIconClear.mjs +0 -16
  565. package/lib/components/icons/YIconClear.mjs.map +0 -1
  566. package/lib/components/icons/YIconDropdown.mjs +0 -16
  567. package/lib/components/icons/YIconDropdown.mjs.map +0 -1
  568. package/lib/components/icons/YIconExpand.mjs +0 -20
  569. package/lib/components/icons/YIconExpand.mjs.map +0 -1
  570. package/lib/components/icons/YIconPageControl.mjs +0 -32
  571. package/lib/components/icons/YIconPageControl.mjs.map +0 -1
  572. package/lib/components/icons/YIconSort.mjs +0 -45
  573. package/lib/components/icons/YIconSort.mjs.map +0 -1
  574. package/lib/components/icons/index.mjs +0 -32
  575. package/lib/components/icons/index.mjs.map +0 -1
  576. package/lib/components/img/YImg.mjs +0 -173
  577. package/lib/components/img/YImg.mjs.map +0 -1
  578. package/lib/components/img/index.mjs +0 -2
  579. package/lib/components/img/index.mjs.map +0 -1
  580. package/lib/components/index.mjs +0 -39
  581. package/lib/components/index.mjs.map +0 -1
  582. package/lib/components/input/YInput.mjs +0 -258
  583. package/lib/components/input/YInput.mjs.map +0 -1
  584. package/lib/components/input/index.mjs +0 -2
  585. package/lib/components/input/index.mjs.map +0 -1
  586. package/lib/components/ip-field/YIpv4Field.mjs +0 -297
  587. package/lib/components/ip-field/YIpv4Field.mjs.map +0 -1
  588. package/lib/components/ip-field/index.mjs +0 -2
  589. package/lib/components/ip-field/index.mjs.map +0 -1
  590. package/lib/components/layer/YLayer.mjs +0 -326
  591. package/lib/components/layer/YLayer.mjs.map +0 -1
  592. package/lib/components/layer/active-delay.mjs +0 -28
  593. package/lib/components/layer/active-delay.mjs.map +0 -1
  594. package/lib/components/layer/active-stack.mjs +0 -52
  595. package/lib/components/layer/active-stack.mjs.map +0 -1
  596. package/lib/components/layer/base.mjs +0 -87
  597. package/lib/components/layer/base.mjs.map +0 -1
  598. package/lib/components/layer/content.mjs +0 -22
  599. package/lib/components/layer/content.mjs.map +0 -1
  600. package/lib/components/layer/index.mjs +0 -2
  601. package/lib/components/layer/index.mjs.map +0 -1
  602. package/lib/components/layer/scroll-strategies.mjs +0 -132
  603. package/lib/components/layer/scroll-strategies.mjs.map +0 -1
  604. package/lib/components/list/YList.mjs +0 -55
  605. package/lib/components/list/YList.mjs.map +0 -1
  606. package/lib/components/list/YListItem.mjs +0 -59
  607. package/lib/components/list/YListItem.mjs.map +0 -1
  608. package/lib/components/list/index.mjs +0 -3
  609. package/lib/components/list/index.mjs.map +0 -1
  610. package/lib/components/loading/YSpinnerRing.mjs +0 -25
  611. package/lib/components/loading/YSpinnerRing.mjs.map +0 -1
  612. package/lib/components/loading/index.mjs +0 -2
  613. package/lib/components/loading/index.mjs.map +0 -1
  614. package/lib/components/menu/YMenu.mjs +0 -211
  615. package/lib/components/menu/YMenu.mjs.map +0 -1
  616. package/lib/components/menu/index.mjs +0 -2
  617. package/lib/components/menu/index.mjs.map +0 -1
  618. package/lib/components/navigation/YNavigation.mjs +0 -18
  619. package/lib/components/navigation/YNavigation.mjs.map +0 -1
  620. package/lib/components/navigation/index.mjs +0 -2
  621. package/lib/components/navigation/index.mjs.map +0 -1
  622. package/lib/components/pagination/YPagination.mjs +0 -288
  623. package/lib/components/pagination/YPagination.mjs.map +0 -1
  624. package/lib/components/pagination/index.mjs +0 -2
  625. package/lib/components/pagination/index.mjs.map +0 -1
  626. package/lib/components/panel/YDividePanel.mjs +0 -90
  627. package/lib/components/panel/YDividePanel.mjs.map +0 -1
  628. package/lib/components/panel/index.mjs +0 -2
  629. package/lib/components/panel/index.mjs.map +0 -1
  630. package/lib/components/plate/YPlate.mjs +0 -28
  631. package/lib/components/plate/YPlate.mjs.map +0 -1
  632. package/lib/components/plate/index.mjs +0 -2
  633. package/lib/components/plate/index.mjs.map +0 -1
  634. package/lib/components/progress-bar/YProgressBar.mjs +0 -117
  635. package/lib/components/progress-bar/YProgressBar.mjs.map +0 -1
  636. package/lib/components/progress-bar/index.mjs +0 -2
  637. package/lib/components/progress-bar/index.mjs.map +0 -1
  638. package/lib/components/progress-ring/YProgressRing.mjs +0 -128
  639. package/lib/components/progress-ring/YProgressRing.mjs.map +0 -1
  640. package/lib/components/progress-ring/index.mjs +0 -2
  641. package/lib/components/progress-ring/index.mjs.map +0 -1
  642. package/lib/components/select/YSelect.mjs +0 -344
  643. package/lib/components/select/YSelect.mjs.map +0 -1
  644. package/lib/components/select/index.mjs +0 -2
  645. package/lib/components/select/index.mjs.map +0 -1
  646. package/lib/components/slider/YSlider.mjs +0 -26
  647. package/lib/components/slider/YSlider.mjs.map +0 -1
  648. package/lib/components/slider/index.mjs +0 -2
  649. package/lib/components/slider/index.mjs.map +0 -1
  650. package/lib/components/snackbar/YSnackbar.mjs +0 -209
  651. package/lib/components/snackbar/YSnackbar.mjs.map +0 -1
  652. package/lib/components/snackbar/index.mjs +0 -2
  653. package/lib/components/snackbar/index.mjs.map +0 -1
  654. package/lib/components/switch/YSwitch.mjs +0 -184
  655. package/lib/components/switch/YSwitch.mjs.map +0 -1
  656. package/lib/components/switch/index.mjs +0 -2
  657. package/lib/components/switch/index.mjs.map +0 -1
  658. package/lib/components/tab/YTab.mjs +0 -64
  659. package/lib/components/tab/YTab.mjs.map +0 -1
  660. package/lib/components/tab/YTabs.mjs +0 -86
  661. package/lib/components/tab/YTabs.mjs.map +0 -1
  662. package/lib/components/tab/index.mjs +0 -4
  663. package/lib/components/tab/index.mjs.map +0 -1
  664. package/lib/components/tab/shared.mjs +0 -2
  665. package/lib/components/tab/shared.mjs.map +0 -1
  666. package/lib/components/tab/types.mjs +0 -2
  667. package/lib/components/tab/types.mjs.map +0 -1
  668. package/lib/components/table/YDataTable.mjs +0 -182
  669. package/lib/components/table/YDataTable.mjs.map +0 -1
  670. package/lib/components/table/YDataTableBody.mjs +0 -131
  671. package/lib/components/table/YDataTableBody.mjs.map +0 -1
  672. package/lib/components/table/YDataTableCell.mjs +0 -78
  673. package/lib/components/table/YDataTableCell.mjs.map +0 -1
  674. package/lib/components/table/YDataTableControl.mjs +0 -46
  675. package/lib/components/table/YDataTableControl.mjs.map +0 -1
  676. package/lib/components/table/YDataTableHead.mjs +0 -172
  677. package/lib/components/table/YDataTableHead.mjs.map +0 -1
  678. package/lib/components/table/YDataTableLayer.mjs +0 -29
  679. package/lib/components/table/YDataTableLayer.mjs.map +0 -1
  680. package/lib/components/table/YDataTableRow.mjs +0 -150
  681. package/lib/components/table/YDataTableRow.mjs.map +0 -1
  682. package/lib/components/table/YDataTableServer.mjs +0 -173
  683. package/lib/components/table/YDataTableServer.mjs.map +0 -1
  684. package/lib/components/table/YTable.mjs +0 -77
  685. package/lib/components/table/YTable.mjs.map +0 -1
  686. package/lib/components/table/composibles/header.mjs +0 -127
  687. package/lib/components/table/composibles/header.mjs.map +0 -1
  688. package/lib/components/table/composibles/items.mjs +0 -52
  689. package/lib/components/table/composibles/items.mjs.map +0 -1
  690. package/lib/components/table/composibles/measure.mjs +0 -39
  691. package/lib/components/table/composibles/measure.mjs.map +0 -1
  692. package/lib/components/table/composibles/options.mjs +0 -33
  693. package/lib/components/table/composibles/options.mjs.map +0 -1
  694. package/lib/components/table/composibles/pagination.mjs +0 -99
  695. package/lib/components/table/composibles/pagination.mjs.map +0 -1
  696. package/lib/components/table/composibles/selection.mjs +0 -196
  697. package/lib/components/table/composibles/selection.mjs.map +0 -1
  698. package/lib/components/table/composibles/sorted-items.mjs +0 -50
  699. package/lib/components/table/composibles/sorted-items.mjs.map +0 -1
  700. package/lib/components/table/composibles/sorting.mjs +0 -73
  701. package/lib/components/table/composibles/sorting.mjs.map +0 -1
  702. package/lib/components/table/index.mjs +0 -9
  703. package/lib/components/table/index.mjs.map +0 -1
  704. package/lib/components/table/types/common.mjs +0 -2
  705. package/lib/components/table/types/common.mjs.map +0 -1
  706. package/lib/components/table/types/header.mjs +0 -2
  707. package/lib/components/table/types/header.mjs.map +0 -1
  708. package/lib/components/table/types/index.mjs +0 -2
  709. package/lib/components/table/types/index.mjs.map +0 -1
  710. package/lib/components/table/types/item.mjs +0 -2
  711. package/lib/components/table/types/item.mjs.map +0 -1
  712. package/lib/components/table/types/row.mjs +0 -2
  713. package/lib/components/table/types/row.mjs.map +0 -1
  714. package/lib/components/text-ellipsis/YTextEllipsis.mjs +0 -66
  715. package/lib/components/text-ellipsis/YTextEllipsis.mjs.map +0 -1
  716. package/lib/components/text-ellipsis/index.mjs +0 -2
  717. package/lib/components/text-ellipsis/index.mjs.map +0 -1
  718. package/lib/components/text-highlighter/YTextHighlighter.mjs +0 -95
  719. package/lib/components/text-highlighter/YTextHighlighter.mjs.map +0 -1
  720. package/lib/components/text-highlighter/index.mjs +0 -2
  721. package/lib/components/text-highlighter/index.mjs.map +0 -1
  722. package/lib/components/text-interpolation/YTi.mjs +0 -47
  723. package/lib/components/text-interpolation/YTi.mjs.map +0 -1
  724. package/lib/components/text-interpolation/index.mjs +0 -2
  725. package/lib/components/text-interpolation/index.mjs.map +0 -1
  726. package/lib/components/textarea/YTextarea.mjs +0 -157
  727. package/lib/components/textarea/YTextarea.mjs.map +0 -1
  728. package/lib/components/textarea/index.mjs +0 -2
  729. package/lib/components/textarea/index.mjs.map +0 -1
  730. package/lib/components/toggle-button/YToggleButton.mjs +0 -2
  731. package/lib/components/toggle-button/YToggleButton.mjs.map +0 -1
  732. package/lib/components/toggle-button/index.mjs +0 -2
  733. package/lib/components/toggle-button/index.mjs.map +0 -1
  734. package/lib/components/tooltip/YTooltip.mjs +0 -157
  735. package/lib/components/tooltip/YTooltip.mjs.map +0 -1
  736. package/lib/components/tooltip/index.mjs +0 -2
  737. package/lib/components/tooltip/index.mjs.map +0 -1
  738. package/lib/components/transitions/expand-transition.mjs +0 -109
  739. package/lib/components/transitions/expand-transition.mjs.map +0 -1
  740. package/lib/components/transitions/index.mjs +0 -4
  741. package/lib/components/transitions/index.mjs.map +0 -1
  742. package/lib/components/tree-view/YTreeView.mjs +0 -289
  743. package/lib/components/tree-view/YTreeView.mjs.map +0 -1
  744. package/lib/components/tree-view/YTreeViewNode.mjs +0 -250
  745. package/lib/components/tree-view/YTreeViewNode.mjs.map +0 -1
  746. package/lib/components/tree-view/index.mjs +0 -3
  747. package/lib/components/tree-view/index.mjs.map +0 -1
  748. package/lib/components/tree-view/tree-view.mjs +0 -179
  749. package/lib/components/tree-view/tree-view.mjs.map +0 -1
  750. package/lib/components/tree-view/types.mjs +0 -2
  751. package/lib/components/tree-view/types.mjs.map +0 -1
  752. package/lib/components/tree-view/util.mjs +0 -40
  753. package/lib/components/tree-view/util.mjs.map +0 -1
  754. package/lib/composables/choice-link.mjs +0 -13
  755. package/lib/composables/choice-link.mjs.map +0 -1
  756. package/lib/composables/choice.mjs +0 -187
  757. package/lib/composables/choice.mjs.map +0 -1
  758. package/lib/composables/communication.mjs +0 -55
  759. package/lib/composables/communication.mjs.map +0 -1
  760. package/lib/composables/component.mjs +0 -8
  761. package/lib/composables/component.mjs.map +0 -1
  762. package/lib/composables/coordinate/arrangement.mjs +0 -14
  763. package/lib/composables/coordinate/arrangement.mjs.map +0 -1
  764. package/lib/composables/coordinate/index.mjs +0 -67
  765. package/lib/composables/coordinate/index.mjs.map +0 -1
  766. package/lib/composables/coordinate/levitation.mjs +0 -315
  767. package/lib/composables/coordinate/levitation.mjs.map +0 -1
  768. package/lib/composables/coordinate/types.mjs +0 -2
  769. package/lib/composables/coordinate/types.mjs.map +0 -1
  770. package/lib/composables/coordinate/utils/point.mjs +0 -55
  771. package/lib/composables/coordinate/utils/point.mjs.map +0 -1
  772. package/lib/composables/date/factory.mjs +0 -12
  773. package/lib/composables/date/factory.mjs.map +0 -1
  774. package/lib/composables/date/index.mjs +0 -20
  775. package/lib/composables/date/index.mjs.map +0 -1
  776. package/lib/composables/date/setting.mjs +0 -11
  777. package/lib/composables/date/setting.mjs.map +0 -1
  778. package/lib/composables/date/types.mjs +0 -2
  779. package/lib/composables/date/types.mjs.map +0 -1
  780. package/lib/composables/defaults/index.mjs +0 -99
  781. package/lib/composables/defaults/index.mjs.map +0 -1
  782. package/lib/composables/defaults/share.mjs +0 -2
  783. package/lib/composables/defaults/share.mjs.map +0 -1
  784. package/lib/composables/defaults/types.mjs +0 -2
  785. package/lib/composables/defaults/types.mjs.map +0 -1
  786. package/lib/composables/dimension.mjs +0 -26
  787. package/lib/composables/dimension.mjs.map +0 -1
  788. package/lib/composables/focus.mjs +0 -29
  789. package/lib/composables/focus.mjs.map +0 -1
  790. package/lib/composables/form.mjs +0 -100
  791. package/lib/composables/form.mjs.map +0 -1
  792. package/lib/composables/group.mjs +0 -194
  793. package/lib/composables/group.mjs.map +0 -1
  794. package/lib/composables/i18n/index.mjs +0 -30
  795. package/lib/composables/i18n/index.mjs.map +0 -1
  796. package/lib/composables/i18n/locale.mjs +0 -5
  797. package/lib/composables/i18n/locale.mjs.map +0 -1
  798. package/lib/composables/i18n/rtl.mjs +0 -34
  799. package/lib/composables/i18n/rtl.mjs.map +0 -1
  800. package/lib/composables/i18n/share.mjs +0 -2
  801. package/lib/composables/i18n/share.mjs.map +0 -1
  802. package/lib/composables/icon.mjs +0 -164
  803. package/lib/composables/icon.mjs.map +0 -1
  804. package/lib/composables/index.mjs +0 -11
  805. package/lib/composables/index.mjs.map +0 -1
  806. package/lib/composables/layer-group.mjs +0 -66
  807. package/lib/composables/layer-group.mjs.map +0 -1
  808. package/lib/composables/layout.mjs +0 -13
  809. package/lib/composables/layout.mjs.map +0 -1
  810. package/lib/composables/list-items.mjs +0 -66
  811. package/lib/composables/list-items.mjs.map +0 -1
  812. package/lib/composables/progress.mjs +0 -26
  813. package/lib/composables/progress.mjs.map +0 -1
  814. package/lib/composables/ref.mjs +0 -13
  815. package/lib/composables/ref.mjs.map +0 -1
  816. package/lib/composables/resize-observer.mjs +0 -33
  817. package/lib/composables/resize-observer.mjs.map +0 -1
  818. package/lib/composables/scope.mjs +0 -26
  819. package/lib/composables/scope.mjs.map +0 -1
  820. package/lib/composables/style-color.mjs +0 -37
  821. package/lib/composables/style-color.mjs.map +0 -1
  822. package/lib/composables/theme/factory.mjs +0 -47
  823. package/lib/composables/theme/factory.mjs.map +0 -1
  824. package/lib/composables/theme/helper.mjs +0 -14
  825. package/lib/composables/theme/helper.mjs.map +0 -1
  826. package/lib/composables/theme/index.mjs +0 -187
  827. package/lib/composables/theme/index.mjs.map +0 -1
  828. package/lib/composables/theme/setting.mjs +0 -112
  829. package/lib/composables/theme/setting.mjs.map +0 -1
  830. package/lib/composables/theme/types.mjs +0 -2
  831. package/lib/composables/theme/types.mjs.map +0 -1
  832. package/lib/composables/timing.mjs +0 -102
  833. package/lib/composables/timing.mjs.map +0 -1
  834. package/lib/composables/transition.mjs +0 -51
  835. package/lib/composables/transition.mjs.map +0 -1
  836. package/lib/composables/validation.mjs +0 -126
  837. package/lib/composables/validation.mjs.map +0 -1
  838. package/lib/composables/vue-router.mjs +0 -32
  839. package/lib/composables/vue-router.mjs.map +0 -1
  840. package/lib/directives/complement-click/index.mjs +0 -78
  841. package/lib/directives/complement-click/index.mjs.map +0 -1
  842. package/lib/directives/plate-wave/index.mjs +0 -100
  843. package/lib/directives/plate-wave/index.mjs.map +0 -1
  844. package/lib/directives/theme-class.mjs +0 -24
  845. package/lib/directives/theme-class.mjs.map +0 -1
  846. package/lib/etc/index.mjs +0 -6
  847. package/lib/etc/index.mjs.map +0 -1
  848. package/lib/i18n/built-in.mjs +0 -77
  849. package/lib/i18n/built-in.mjs.map +0 -1
  850. package/lib/i18n/config.mjs +0 -82
  851. package/lib/i18n/config.mjs.map +0 -1
  852. package/lib/i18n/types.mjs +0 -2
  853. package/lib/i18n/types.mjs.map +0 -1
  854. package/lib/index.mjs +0 -103
  855. package/lib/index.mjs.map +0 -1
  856. package/lib/locales/en.mjs +0 -6
  857. package/lib/locales/en.mjs.map +0 -1
  858. package/lib/locales/index.mjs +0 -3
  859. package/lib/locales/index.mjs.map +0 -1
  860. package/lib/locales/ko.mjs +0 -6
  861. package/lib/locales/ko.mjs.map +0 -1
  862. package/lib/mixins/di.mjs +0 -19
  863. package/lib/mixins/di.mjs.map +0 -1
  864. package/lib/mixins/rebind-attrs.mjs +0 -37
  865. package/lib/mixins/rebind-attrs.mjs.map +0 -1
  866. package/lib/types/index.mjs +0 -2
  867. package/lib/types/index.mjs.map +0 -1
  868. package/lib/util/anchor.mjs +0 -53
  869. package/lib/util/anchor.mjs.map +0 -1
  870. package/lib/util/array.mjs +0 -13
  871. package/lib/util/array.mjs.map +0 -1
  872. package/lib/util/collection.mjs +0 -10
  873. package/lib/util/collection.mjs.map +0 -1
  874. package/lib/util/color/apca.mjs +0 -201
  875. package/lib/util/color/apca.mjs.map +0 -1
  876. package/lib/util/color/const.mjs +0 -6
  877. package/lib/util/color/const.mjs.map +0 -1
  878. package/lib/util/color/contrast/contrast.mjs +0 -149
  879. package/lib/util/color/contrast/contrast.mjs.map +0 -1
  880. package/lib/util/color/conversion.mjs +0 -310
  881. package/lib/util/color/conversion.mjs.map +0 -1
  882. package/lib/util/color/hct/cam16.mjs +0 -349
  883. package/lib/util/color/hct/cam16.mjs.map +0 -1
  884. package/lib/util/color/hct/hct-solver.mjs +0 -389
  885. package/lib/util/color/hct/hct-solver.mjs.map +0 -1
  886. package/lib/util/color/hct/hct.mjs +0 -153
  887. package/lib/util/color/hct/hct.mjs.map +0 -1
  888. package/lib/util/color/hct/viewing-conditions.mjs +0 -110
  889. package/lib/util/color/hct/viewing-conditions.mjs.map +0 -1
  890. package/lib/util/color/index.mjs +0 -40
  891. package/lib/util/color/index.mjs.map +0 -1
  892. package/lib/util/color/palettes/core-palette.mjs +0 -99
  893. package/lib/util/color/palettes/core-palette.mjs.map +0 -1
  894. package/lib/util/color/palettes/tonal-palette.mjs +0 -112
  895. package/lib/util/color/palettes/tonal-palette.mjs.map +0 -1
  896. package/lib/util/color/types.mjs +0 -2
  897. package/lib/util/color/types.mjs.map +0 -1
  898. package/lib/util/color/utils/math-utils.mjs +0 -139
  899. package/lib/util/color/utils/math-utils.mjs.map +0 -1
  900. package/lib/util/common.mjs +0 -107
  901. package/lib/util/common.mjs.map +0 -1
  902. package/lib/util/component/component.mjs +0 -26
  903. package/lib/util/component/component.mjs.map +0 -1
  904. package/lib/util/component/index.mjs +0 -65
  905. package/lib/util/component/index.mjs.map +0 -1
  906. package/lib/util/component/inject-self.mjs +0 -10
  907. package/lib/util/component/inject-self.mjs.map +0 -1
  908. package/lib/util/component/props.mjs +0 -41
  909. package/lib/util/component/props.mjs.map +0 -1
  910. package/lib/util/component/types.mjs +0 -2
  911. package/lib/util/component/types.mjs.map +0 -1
  912. package/lib/util/date/adapters/yuyeon-date-adapter.mjs +0 -111
  913. package/lib/util/date/adapters/yuyeon-date-adapter.mjs.map +0 -1
  914. package/lib/util/date/built-in.mjs +0 -416
  915. package/lib/util/date/built-in.mjs.map +0 -1
  916. package/lib/util/date/index.mjs +0 -4
  917. package/lib/util/date/index.mjs.map +0 -1
  918. package/lib/util/date/types.mjs +0 -2
  919. package/lib/util/date/types.mjs.map +0 -1
  920. package/lib/util/debounce.mjs +0 -114
  921. package/lib/util/debounce.mjs.map +0 -1
  922. package/lib/util/dom.mjs +0 -23
  923. package/lib/util/dom.mjs.map +0 -1
  924. package/lib/util/environments.mjs +0 -8
  925. package/lib/util/environments.mjs.map +0 -1
  926. package/lib/util/frame-scheduler.mjs +0 -29
  927. package/lib/util/frame-scheduler.mjs.map +0 -1
  928. package/lib/util/index.mjs +0 -17
  929. package/lib/util/index.mjs.map +0 -1
  930. package/lib/util/parser.mjs +0 -31
  931. package/lib/util/parser.mjs.map +0 -1
  932. package/lib/util/reactivity.mjs +0 -19
  933. package/lib/util/reactivity.mjs.map +0 -1
  934. package/lib/util/rect.mjs +0 -39
  935. package/lib/util/rect.mjs.map +0 -1
  936. package/lib/util/scroll.mjs +0 -28
  937. package/lib/util/scroll.mjs.map +0 -1
  938. package/lib/util/string.mjs +0 -69
  939. package/lib/util/string.mjs.map +0 -1
  940. package/lib/util/ui.mjs +0 -60
  941. package/lib/util/ui.mjs.map +0 -1
  942. package/lib/util/validation.mjs +0 -5
  943. package/lib/util/validation.mjs.map +0 -1
  944. package/lib/util/vue-component/index.mjs +0 -63
  945. package/lib/util/vue-component/index.mjs.map +0 -1
  946. package/lib/util/vue-component/props.mjs +0 -37
  947. package/lib/util/vue-component/props.mjs.map +0 -1
  948. package/lib/util/vue-component/types.mjs +0 -2
  949. package/lib/util/vue-component/types.mjs.map +0 -1
  950. package/lib/util/vue-component.mjs +0 -102
  951. package/lib/util/vue-component.mjs.map +0 -1
@@ -0,0 +1,53 @@
1
+ const includes = (array, item) => array.includes(item);
2
+ const block = ['top', 'bottom'];
3
+ const inline = ['start', 'end', 'left', 'right'];
4
+ /** Parse a raw anchor string into an object */
5
+ export function parseAnchor(anchor, isRtl) {
6
+ let [side, align] = anchor.split(' ');
7
+ if (!align) {
8
+ align = includes(block, side) ? 'start' : includes(inline, side) ? 'top' : 'center';
9
+ }
10
+ return {
11
+ side: toPhysical(side, isRtl),
12
+ align: toPhysical(align, isRtl)
13
+ };
14
+ }
15
+ export function toPhysical(str, isRtl) {
16
+ if (str === 'start') return isRtl ? 'right' : 'left';
17
+ if (str === 'end') return isRtl ? 'left' : 'right';
18
+ return str;
19
+ }
20
+ export function flipSide(anchor) {
21
+ return {
22
+ side: {
23
+ center: 'center',
24
+ top: 'bottom',
25
+ bottom: 'top',
26
+ left: 'right',
27
+ right: 'left'
28
+ }[anchor.side],
29
+ align: anchor.align
30
+ };
31
+ }
32
+ export function flipAlign(anchor) {
33
+ return {
34
+ side: anchor.side,
35
+ align: {
36
+ center: 'center',
37
+ top: 'bottom',
38
+ bottom: 'top',
39
+ left: 'right',
40
+ right: 'left'
41
+ }[anchor.align]
42
+ };
43
+ }
44
+ export function flipCorner(anchor) {
45
+ return {
46
+ side: anchor.align,
47
+ align: anchor.side
48
+ };
49
+ }
50
+ export function getAxis(anchor) {
51
+ return includes(block, anchor.side) ? 'y' : 'x';
52
+ }
53
+ //# sourceMappingURL=anchor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anchor.js","names":["includes","array","item","block","inline","parseAnchor","anchor","isRtl","side","align","split","toPhysical","str","flipSide","center","top","bottom","left","right","flipAlign","flipCorner","getAxis"],"sources":["../../src/util/anchor.ts"],"sourcesContent":["const includes = <T, A extends T>(\r\n array: ReadonlyArray<A>,\r\n item: T,\r\n): item is A => array.includes(item as A);\r\n\r\nconst block = ['top', 'bottom'] as const;\r\nconst inline = ['start', 'end', 'left', 'right'] as const;\r\ntype Tblock = (typeof block)[number];\r\ntype Tinline = (typeof inline)[number];\r\nexport type Anchor =\r\n | Tblock\r\n | Tinline\r\n | 'center'\r\n | 'center center'\r\n | `${Tblock} ${Tinline | 'center'}`\r\n | `${Tinline} ${Tblock | 'center'}`;\r\nexport type ParsedAnchor =\r\n | { side: 'center'; align: 'center' }\r\n | { side: Tblock; align: 'left' | 'right' | 'center' }\r\n | { side: 'left' | 'right'; align: Tblock | 'center' };\r\n\r\n/** Parse a raw anchor string into an object */\r\nexport function parseAnchor(anchor: Anchor, isRtl: boolean) {\r\n let [side, align] = anchor.split(' ') as [\r\n Tblock | Tinline | 'center',\r\n Tblock | Tinline | 'center' | undefined,\r\n ];\r\n if (!align) {\r\n align = includes(block, side)\r\n ? 'start'\r\n : includes(inline, side)\r\n ? 'top'\r\n : 'center';\r\n }\r\n\r\n return {\r\n side: toPhysical(side, isRtl),\r\n align: toPhysical(align, isRtl),\r\n } as ParsedAnchor;\r\n}\r\n\r\nexport function toPhysical(str: 'center' | Tblock | Tinline, isRtl: boolean) {\r\n if (str === 'start') return isRtl ? 'right' : 'left';\r\n if (str === 'end') return isRtl ? 'left' : 'right';\r\n return str;\r\n}\r\n\r\nexport function flipSide(anchor: ParsedAnchor) {\r\n return {\r\n side: {\r\n center: 'center',\r\n top: 'bottom',\r\n bottom: 'top',\r\n left: 'right',\r\n right: 'left',\r\n }[anchor.side],\r\n align: anchor.align,\r\n } as ParsedAnchor;\r\n}\r\n\r\nexport function flipAlign(anchor: ParsedAnchor) {\r\n return {\r\n side: anchor.side,\r\n align: {\r\n center: 'center',\r\n top: 'bottom',\r\n bottom: 'top',\r\n left: 'right',\r\n right: 'left',\r\n }[anchor.align],\r\n } as ParsedAnchor;\r\n}\r\n\r\nexport function flipCorner(anchor: ParsedAnchor) {\r\n return {\r\n side: anchor.align,\r\n align: anchor.side,\r\n } as ParsedAnchor;\r\n}\r\n\r\nexport function getAxis(anchor: ParsedAnchor) {\r\n return includes(block, anchor.side) ? 'y' : 'x';\r\n}\r\n"],"mappings":"AAAA,MAAMA,QAAQ,GAAGA,CACfC,KAAuB,EACvBC,IAAO,KACOD,KAAK,CAACD,QAAQ,CAACE,IAAS,CAAC;AAEzC,MAAMC,KAAK,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAU;AACxC,MAAMC,MAAM,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAU;AAezD;AACA,OAAO,SAASC,WAAWA,CAACC,MAAc,EAAEC,KAAc,EAAE;EAC1D,IAAI,CAACC,IAAI,EAAEC,KAAK,CAAC,GAAGH,MAAM,CAACI,KAAK,CAAC,GAAG,CAGnC;EACD,IAAI,CAACD,KAAK,EAAE;IACVA,KAAK,GAAGT,QAAQ,CAACG,KAAK,EAAEK,IAAI,CAAC,GACzB,OAAO,GACPR,QAAQ,CAACI,MAAM,EAAEI,IAAI,CAAC,GACpB,KAAK,GACL,QAAQ;EAChB;EAEA,OAAO;IACLA,IAAI,EAAEG,UAAU,CAACH,IAAI,EAAED,KAAK,CAAC;IAC7BE,KAAK,EAAEE,UAAU,CAACF,KAAK,EAAEF,KAAK;EAChC,CAAC;AACH;AAEA,OAAO,SAASI,UAAUA,CAACC,GAAgC,EAAEL,KAAc,EAAE;EAC3E,IAAIK,GAAG,KAAK,OAAO,EAAE,OAAOL,KAAK,GAAG,OAAO,GAAG,MAAM;EACpD,IAAIK,GAAG,KAAK,KAAK,EAAE,OAAOL,KAAK,GAAG,MAAM,GAAG,OAAO;EAClD,OAAOK,GAAG;AACZ;AAEA,OAAO,SAASC,QAAQA,CAACP,MAAoB,EAAE;EAC7C,OAAO;IACLE,IAAI,EAAE;MACJM,MAAM,EAAE,QAAQ;MAChBC,GAAG,EAAE,QAAQ;MACbC,MAAM,EAAE,KAAK;MACbC,IAAI,EAAE,OAAO;MACbC,KAAK,EAAE;IACT,CAAC,CAACZ,MAAM,CAACE,IAAI,CAAC;IACdC,KAAK,EAAEH,MAAM,CAACG;EAChB,CAAC;AACH;AAEA,OAAO,SAASU,SAASA,CAACb,MAAoB,EAAE;EAC9C,OAAO;IACLE,IAAI,EAAEF,MAAM,CAACE,IAAI;IACjBC,KAAK,EAAE;MACLK,MAAM,EAAE,QAAQ;MAChBC,GAAG,EAAE,QAAQ;MACbC,MAAM,EAAE,KAAK;MACbC,IAAI,EAAE,OAAO;MACbC,KAAK,EAAE;IACT,CAAC,CAACZ,MAAM,CAACG,KAAK;EAChB,CAAC;AACH;AAEA,OAAO,SAASW,UAAUA,CAACd,MAAoB,EAAE;EAC/C,OAAO;IACLE,IAAI,EAAEF,MAAM,CAACG,KAAK;IAClBA,KAAK,EAAEH,MAAM,CAACE;EAChB,CAAC;AACH;AAEA,OAAO,SAASa,OAAOA,CAACf,MAAoB,EAAE;EAC5C,OAAON,QAAQ,CAACG,KAAK,EAAEG,MAAM,CAACE,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG;AACjD"}
@@ -0,0 +1,13 @@
1
+ export function differenceBetween(inspect, exclude) {
2
+ const ret = [];
3
+ for (const target of exclude) {
4
+ if (!inspect.includes(target)) {
5
+ ret.push(target);
6
+ }
7
+ }
8
+ return ret;
9
+ }
10
+ export function wrapInArray(arrOrNot) {
11
+ return Array.isArray(arrOrNot) ? arrOrNot : [arrOrNot];
12
+ }
13
+ //# sourceMappingURL=array.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array.js","names":["differenceBetween","inspect","exclude","ret","target","includes","push","wrapInArray","arrOrNot","Array","isArray"],"sources":["../../src/util/array.ts"],"sourcesContent":["export function differenceBetween(inspect: any[], exclude: any[]) {\n const ret = [];\n for (const target of exclude) {\n if (!inspect.includes(target)) {\n ret.push(target);\n }\n }\n return ret;\n}\n\nexport function wrapInArray(arrOrNot: any | any[]) {\n return Array.isArray(arrOrNot) ? arrOrNot : [arrOrNot];\n}\n"],"mappings":"AAAA,OAAO,SAASA,iBAAiBA,CAACC,OAAc,EAAEC,OAAc,EAAE;EAChE,MAAMC,GAAG,GAAG,EAAE;EACd,KAAK,MAAMC,MAAM,IAAIF,OAAO,EAAE;IAC5B,IAAI,CAACD,OAAO,CAACI,QAAQ,CAACD,MAAM,CAAC,EAAE;MAC7BD,GAAG,CAACG,IAAI,CAACF,MAAM,CAAC;IAClB;EACF;EACA,OAAOD,GAAG;AACZ;AAEA,OAAO,SAASI,WAAWA,CAACC,QAAqB,EAAE;EACjD,OAAOC,KAAK,CAACC,OAAO,CAACF,QAAQ,CAAC,GAAGA,QAAQ,GAAG,CAACA,QAAQ,CAAC;AACxD"}
@@ -0,0 +1,10 @@
1
+ export function getFlatChildren(children) {
2
+ let childrenKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'children';
3
+ return children.map(child => {
4
+ if (child[childrenKey]) {
5
+ return [child, ...getFlatChildren(child[childrenKey])];
6
+ }
7
+ return [child];
8
+ });
9
+ }
10
+ //# sourceMappingURL=collection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collection.js","names":["getFlatChildren","children","childrenKey","arguments","length","undefined","map","child"],"sources":["../../src/util/collection.ts"],"sourcesContent":["export function getFlatChildren(\r\n children: any[],\r\n childrenKey = 'children',\r\n): any[] {\r\n return children.map((child) => {\r\n if (child[childrenKey]) {\r\n return [child, ...getFlatChildren(child[childrenKey])];\r\n }\r\n return [child];\r\n });\r\n}\r\n"],"mappings":"AAAA,OAAO,SAASA,eAAeA,CAC7BC,QAAe,EAER;EAAA,IADPC,WAAW,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,UAAU;EAExB,OAAOF,QAAQ,CAACK,GAAG,CAAEC,KAAK,IAAK;IAC7B,IAAIA,KAAK,CAACL,WAAW,CAAC,EAAE;MACtB,OAAO,CAACK,KAAK,EAAE,GAAGP,eAAe,CAACO,KAAK,CAACL,WAAW,CAAC,CAAC,CAAC;IACxD;IACA,OAAO,CAACK,KAAK,CAAC;EAChB,CAAC,CAAC;AACJ"}
@@ -0,0 +1,201 @@
1
+ ///////////////////////////////////////////////////////////////////////////////
2
+ /** @preserve
3
+ ///// SAPC APCA - Advanced Perceptual Contrast Algorithm
4
+ ///// Beta 0.1.9 W3 • contrast function only
5
+ ///// DIST: W3 • Revision date: July 3, 2022
6
+ ///// Function to parse color values and determine Lc contrast
7
+ ///// Copyright © 2019-2022 by Andrew Somers. All Rights Reserved.
8
+ ///// LICENSE: W3 LICENSE
9
+ ///// CONTACT: Please use the ISSUES or DISCUSSIONS tab at:
10
+ ///// https://github.com/Myndex/SAPC-APCA/
11
+ /////
12
+ ///////////////////////////////////////////////////////////////////////////////
13
+ /////
14
+ ///// MINIMAL IMPORTS:
15
+ ///// import { APCAcontrast, sRGBtoY, displayP3toY,
16
+ ///// calcAPCA, fontLookupAPCA } from 'apca-w3';
17
+ ///// import { colorParsley } from 'colorparsley';
18
+ /////
19
+ ///// FORWARD CONTRAST USAGE:
20
+ ///// Lc = APCAcontrast( sRGBtoY( TEXTcolor ) , sRGBtoY( BACKGNDcolor ) );
21
+ ///// Where the colors are sent as an rgba array [255,255,255,1]
22
+ /////
23
+ ///// Retrieving an array of font sizes for the contrast:
24
+ ///// fontArray = fontLookupAPCA(Lc);
25
+ /////
26
+ ///// Live Demonstrator at https://www.myndex.com/APCA/
27
+ // */
28
+ ///////////////////////////////////////////////////////////////////////////////
29
+
30
+ ///// Module Scope Object Containing Constants /////
31
+ ///// APCA 0.0.98G - 4g - W3 Compatible Constants
32
+
33
+ ///// 𝒦 SA98G ///////////////////////////////////
34
+ const SA98G = {
35
+ mainTRC: 2.4,
36
+ // 2.4 exponent for emulating actual monitor perception
37
+
38
+ // For reverseAPCA
39
+ get mainTRCencode() {
40
+ return 1 / this.mainTRC;
41
+ },
42
+ // sRGB coefficients
43
+ sRco: 0.2126729,
44
+ sGco: 0.7151522,
45
+ sBco: 0.072175,
46
+ // G-4g constants for use with 2.4 exponent
47
+ normBG: 0.56,
48
+ normTXT: 0.57,
49
+ revTXT: 0.62,
50
+ revBG: 0.65,
51
+ // G-4g Clamps and Scalers
52
+ blkThrs: 0.022,
53
+ blkClmp: 1.414,
54
+ scaleBoW: 1.14,
55
+ scaleWoB: 1.14,
56
+ loBoWoffset: 0.027,
57
+ loWoBoffset: 0.027,
58
+ deltaYmin: 0.0005,
59
+ loClip: 0.1,
60
+ ///// MAGIC NUMBERS for UNCLAMP, for use with 0.022 & 1.414 /////
61
+ // Magic Numbers for reverseAPCA
62
+ mFactor: 1.9468554433171,
63
+ get mFactInv() {
64
+ return 1 / this.mFactor;
65
+ },
66
+ mOffsetIn: 0.0387393816571401,
67
+ mExpAdj: 0.283343396420869,
68
+ get mExp() {
69
+ return this.mExpAdj / this.blkClmp;
70
+ },
71
+ mOffsetOut: 0.312865795870758
72
+ };
73
+
74
+ //////////////////////////////////////////////////////////////////////////////
75
+ ////////// LUMINANCE CONVERTERS |//////////////////////////////////////////
76
+
77
+ ////////// ƒ sRGBtoY() //////////////////////////////////////////////////
78
+ export function sRGBtoY() {
79
+ let rgb = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [0, 0, 0];
80
+ // send sRGB 8bpc (0xFFFFFF) or string
81
+
82
+ // NOTE: Currently expects 0-255
83
+
84
+ ///// APCA 0.0.98G - 4g - W3 Compatible Constants ////////////////////
85
+ /*
86
+ const mainTRC = 2.4; // 2.4 exponent emulates actual monitor perception
87
+ const sRco = 0.2126729,
88
+ sGco = 0.7151522,
89
+ sBco = 0.0721750; // sRGB coefficients
90
+ */
91
+ // Future:
92
+ // 0.2126478133913640 0.7151791475336150 0.0721730390750208
93
+ // Derived from:
94
+ // xW yW K xR yR xG yG xB yB
95
+ // 0.312720 0.329030 6504 0.640 0.330 0.300 0.600 0.150 0.060
96
+
97
+ // linearize r, g, or b then apply coefficients
98
+ // and sum then return the resulting luminance
99
+
100
+ function simpleExp(chan) {
101
+ return Math.pow(chan / 255.0, SA98G.mainTRC);
102
+ }
103
+ return SA98G.sRco * simpleExp(rgb[0]) + SA98G.sGco * simpleExp(rgb[1]) + SA98G.sBco * simpleExp(rgb[2]);
104
+ }
105
+ export function APCAcontrast(txtY, bgY) {
106
+ let places = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : -1;
107
+ // send linear Y (luminance) for text and background.
108
+ // txtY and bgY must be between 0.0-1.0
109
+ // IMPORTANT: Do not swap, polarity is important.
110
+
111
+ const icp = [0.0, 1.1]; // input range clamp / input error check
112
+
113
+ if (isNaN(txtY) || isNaN(bgY) || Math.min(txtY, bgY) < icp[0] || Math.max(txtY, bgY) > icp[1]) {
114
+ return 0.0; // return zero on error
115
+ // return 'error'; // optional string return for error
116
+ }
117
+
118
+ ////////// SAPC LOCAL VARS /////////////////////////////////////////
119
+
120
+ let SAPC = 0.0; // For raw SAPC values
121
+ let outputContrast = 0.0; // For weighted final values
122
+ let polCat = 'BoW'; // Alternate Polarity Indicator. N normal R reverse
123
+
124
+ // TUTORIAL
125
+
126
+ // Use Y for text and BG, and soft clamp black,
127
+ // return 0 for very close luminances, determine
128
+ // polarity, and calculate SAPC raw contrast
129
+ // Then scale for easy to remember levels.
130
+
131
+ // Note that reverse contrast (white text on black)
132
+ // intentionally returns a negative number
133
+ // Proper polarity is important!
134
+
135
+ ////////// BLACK SOFT CLAMP ////////////////////////////////////////
136
+
137
+ // Soft clamps Y for either color if it is near black.
138
+ txtY = txtY > SA98G.blkThrs ? txtY : txtY + Math.pow(SA98G.blkThrs - txtY, SA98G.blkClmp);
139
+ bgY = bgY > SA98G.blkThrs ? bgY : bgY + Math.pow(SA98G.blkThrs - bgY, SA98G.blkClmp);
140
+
141
+ ///// Return 0 Early for extremely low ∆Y
142
+ if (Math.abs(bgY - txtY) < SA98G.deltaYmin) {
143
+ return 0.0;
144
+ }
145
+
146
+ ////////// APCA/SAPC CONTRAST - LOW CLIP (W3 LICENSE) ///////////////
147
+
148
+ if (bgY > txtY) {
149
+ // For normal polarity, black text on white (BoW)
150
+
151
+ // Calculate the SAPC contrast value and scale
152
+ SAPC = (Math.pow(bgY, SA98G.normBG) - Math.pow(txtY, SA98G.normTXT)) * SA98G.scaleBoW;
153
+
154
+ // Low Contrast smooth rollout to prevent polarity reversal
155
+ // and also a low-clip for very low contrasts
156
+ outputContrast = SAPC < SA98G.loClip ? 0.0 : SAPC - SA98G.loBoWoffset;
157
+ } else {
158
+ // For reverse polarity, light text on dark (WoB)
159
+ // WoB should always return negative value.
160
+ polCat = 'WoB';
161
+ SAPC = (Math.pow(bgY, SA98G.revBG) - Math.pow(txtY, SA98G.revTXT)) * SA98G.scaleWoB;
162
+ outputContrast = SAPC > -SA98G.loClip ? 0.0 : SAPC + SA98G.loWoBoffset;
163
+ }
164
+
165
+ // return Lc (lightness contrast) as a signed numeric value
166
+ // Round to the nearest whole number as string is optional.
167
+ // Rounded can be a signed INT as output will be within ± 127
168
+ // places = -1 returns signed float, 1 or more set that many places
169
+ // 0 returns rounded string, uses BoW or WoB instead of minus sign
170
+
171
+ if (places < 0) {
172
+ // Default (-1) number out, all others are strings
173
+ return outputContrast * 100.0;
174
+ } else if (places == 0) {
175
+ return Math.round(Math.abs(outputContrast) * 100.0) + '<sub>' + polCat + '</sub>';
176
+ } else if (Number.isInteger(places)) {
177
+ return (outputContrast * 100.0).toFixed(places);
178
+ } else {
179
+ return 0.0;
180
+ }
181
+ }
182
+
183
+ // send rgba array for text/icon, rgb for background.
184
+ // Only foreground allows alpha of 0.0 to 1.0
185
+ // This blends using gamma encoded space (standard)
186
+ // rounded 0-255 or set round=false for number 0.0-255.0
187
+ export function alphaBlend() {
188
+ let rgbaFG = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [0, 0, 0, 1.0];
189
+ let rgbBG = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [0, 0, 0];
190
+ let round = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
191
+ rgbaFG[3] = Math.max(Math.min(rgbaFG[3], 1.0), 0.0); // clamp alpha 0-1
192
+ let compBlend = 1.0 - rgbaFG[3];
193
+ let rgbOut = [0, 0, 0, 1, true]; // or just use rgbBG to retain other elements?
194
+
195
+ for (let i = 0; i < 3; i++) {
196
+ rgbOut[i] = rgbBG[i] * compBlend + rgbaFG[i] * rgbaFG[3];
197
+ if (round) rgbOut[i] = Math.min(Math.round(rgbOut[i]), 255);
198
+ }
199
+ return rgbOut;
200
+ }
201
+ //# sourceMappingURL=apca.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apca.js","names":["SA98G","mainTRC","mainTRCencode","sRco","sGco","sBco","normBG","normTXT","revTXT","revBG","blkThrs","blkClmp","scaleBoW","scaleWoB","loBoWoffset","loWoBoffset","deltaYmin","loClip","mFactor","mFactInv","mOffsetIn","mExpAdj","mExp","mOffsetOut","sRGBtoY","rgb","arguments","length","undefined","simpleExp","chan","Math","pow","APCAcontrast","txtY","bgY","places","icp","isNaN","min","max","SAPC","outputContrast","polCat","abs","round","Number","isInteger","toFixed","alphaBlend","rgbaFG","rgbBG","compBlend","rgbOut","i"],"sources":["../../../src/util/color/apca.ts"],"sourcesContent":["///////////////////////////////////////////////////////////////////////////////\n/** @preserve\n ///// SAPC APCA - Advanced Perceptual Contrast Algorithm\n ///// Beta 0.1.9 W3 • contrast function only\n ///// DIST: W3 • Revision date: July 3, 2022\n ///// Function to parse color values and determine Lc contrast\n ///// Copyright © 2019-2022 by Andrew Somers. All Rights Reserved.\n ///// LICENSE: W3 LICENSE\n ///// CONTACT: Please use the ISSUES or DISCUSSIONS tab at:\n ///// https://github.com/Myndex/SAPC-APCA/\n /////\n ///////////////////////////////////////////////////////////////////////////////\n /////\n ///// MINIMAL IMPORTS:\n ///// import { APCAcontrast, sRGBtoY, displayP3toY,\n///// calcAPCA, fontLookupAPCA } from 'apca-w3';\n ///// import { colorParsley } from 'colorparsley';\n /////\n ///// FORWARD CONTRAST USAGE:\n ///// Lc = APCAcontrast( sRGBtoY( TEXTcolor ) , sRGBtoY( BACKGNDcolor ) );\n ///// Where the colors are sent as an rgba array [255,255,255,1]\n /////\n ///// Retrieving an array of font sizes for the contrast:\n ///// fontArray = fontLookupAPCA(Lc);\n /////\n ///// Live Demonstrator at https://www.myndex.com/APCA/\n // */\n///////////////////////////////////////////////////////////////////////////////\n\n///// Module Scope Object Containing Constants /////\n///// APCA 0.0.98G - 4g - W3 Compatible Constants\n\n///// 𝒦 SA98G ///////////////////////////////////\nconst SA98G = {\n mainTRC: 2.4, // 2.4 exponent for emulating actual monitor perception\n\n // For reverseAPCA\n get mainTRCencode() {\n return 1 / this.mainTRC;\n },\n\n // sRGB coefficients\n sRco: 0.2126729,\n sGco: 0.7151522,\n sBco: 0.072175,\n\n // G-4g constants for use with 2.4 exponent\n normBG: 0.56,\n normTXT: 0.57,\n revTXT: 0.62,\n revBG: 0.65,\n\n // G-4g Clamps and Scalers\n blkThrs: 0.022,\n blkClmp: 1.414,\n scaleBoW: 1.14,\n scaleWoB: 1.14,\n loBoWoffset: 0.027,\n loWoBoffset: 0.027,\n deltaYmin: 0.0005,\n loClip: 0.1,\n\n ///// MAGIC NUMBERS for UNCLAMP, for use with 0.022 & 1.414 /////\n // Magic Numbers for reverseAPCA\n mFactor: 1.9468554433171,\n get mFactInv() {\n return 1 / this.mFactor;\n },\n mOffsetIn: 0.0387393816571401,\n mExpAdj: 0.283343396420869,\n get mExp() {\n return this.mExpAdj / this.blkClmp;\n },\n mOffsetOut: 0.312865795870758,\n};\n\n//////////////////////////////////////////////////////////////////////////////\n////////// LUMINANCE CONVERTERS |//////////////////////////////////////////\n\n////////// ƒ sRGBtoY() //////////////////////////////////////////////////\nexport function sRGBtoY(rgb = [0, 0, 0]) {\n // send sRGB 8bpc (0xFFFFFF) or string\n\n // NOTE: Currently expects 0-255\n\n ///// APCA 0.0.98G - 4g - W3 Compatible Constants ////////////////////\n /*\n const mainTRC = 2.4; // 2.4 exponent emulates actual monitor perception\n\n const sRco = 0.2126729,\n sGco = 0.7151522,\n sBco = 0.0721750; // sRGB coefficients\n */\n // Future:\n // 0.2126478133913640\t0.7151791475336150\t0.0721730390750208\n // Derived from:\n // xW\tyW\tK\txR\tyR\txG\tyG\txB\tyB\n // 0.312720\t0.329030\t6504\t0.640\t0.330\t0.300\t0.600\t0.150\t0.060\n\n // linearize r, g, or b then apply coefficients\n // and sum then return the resulting luminance\n\n function simpleExp(chan: number) {\n return Math.pow(chan / 255.0, SA98G.mainTRC);\n }\n\n return (\n SA98G.sRco * simpleExp(rgb[0]) +\n SA98G.sGco * simpleExp(rgb[1]) +\n SA98G.sBco * simpleExp(rgb[2])\n );\n}\n\nexport function APCAcontrast(txtY: number, bgY: number, places = -1) {\n // send linear Y (luminance) for text and background.\n // txtY and bgY must be between 0.0-1.0\n // IMPORTANT: Do not swap, polarity is important.\n\n const icp = [0.0, 1.1]; // input range clamp / input error check\n\n if (\n isNaN(txtY) ||\n isNaN(bgY) ||\n Math.min(txtY, bgY) < icp[0] ||\n Math.max(txtY, bgY) > icp[1]\n ) {\n return 0.0; // return zero on error\n // return 'error'; // optional string return for error\n }\n\n ////////// SAPC LOCAL VARS /////////////////////////////////////////\n\n let SAPC = 0.0; // For raw SAPC values\n let outputContrast = 0.0; // For weighted final values\n let polCat = 'BoW'; // Alternate Polarity Indicator. N normal R reverse\n\n // TUTORIAL\n\n // Use Y for text and BG, and soft clamp black,\n // return 0 for very close luminances, determine\n // polarity, and calculate SAPC raw contrast\n // Then scale for easy to remember levels.\n\n // Note that reverse contrast (white text on black)\n // intentionally returns a negative number\n // Proper polarity is important!\n\n ////////// BLACK SOFT CLAMP ////////////////////////////////////////\n\n // Soft clamps Y for either color if it is near black.\n txtY =\n txtY > SA98G.blkThrs\n ? txtY\n : txtY + Math.pow(SA98G.blkThrs - txtY, SA98G.blkClmp);\n bgY =\n bgY > SA98G.blkThrs\n ? bgY\n : bgY + Math.pow(SA98G.blkThrs - bgY, SA98G.blkClmp);\n\n ///// Return 0 Early for extremely low ∆Y\n if (Math.abs(bgY - txtY) < SA98G.deltaYmin) {\n return 0.0;\n }\n\n ////////// APCA/SAPC CONTRAST - LOW CLIP (W3 LICENSE) ///////////////\n\n if (bgY > txtY) {\n // For normal polarity, black text on white (BoW)\n\n // Calculate the SAPC contrast value and scale\n SAPC =\n (Math.pow(bgY, SA98G.normBG) - Math.pow(txtY, SA98G.normTXT)) *\n SA98G.scaleBoW;\n\n // Low Contrast smooth rollout to prevent polarity reversal\n // and also a low-clip for very low contrasts\n outputContrast = SAPC < SA98G.loClip ? 0.0 : SAPC - SA98G.loBoWoffset;\n } else {\n // For reverse polarity, light text on dark (WoB)\n // WoB should always return negative value.\n polCat = 'WoB';\n\n SAPC =\n (Math.pow(bgY, SA98G.revBG) - Math.pow(txtY, SA98G.revTXT)) *\n SA98G.scaleWoB;\n\n outputContrast = SAPC > -SA98G.loClip ? 0.0 : SAPC + SA98G.loWoBoffset;\n }\n\n // return Lc (lightness contrast) as a signed numeric value\n // Round to the nearest whole number as string is optional.\n // Rounded can be a signed INT as output will be within ± 127\n // places = -1 returns signed float, 1 or more set that many places\n // 0 returns rounded string, uses BoW or WoB instead of minus sign\n\n if (places < 0) {\n // Default (-1) number out, all others are strings\n return outputContrast * 100.0;\n } else if (places == 0) {\n return (\n Math.round(Math.abs(outputContrast) * 100.0) + '<sub>' + polCat + '</sub>'\n );\n } else if (Number.isInteger(places)) {\n return (outputContrast * 100.0).toFixed(places);\n } else {\n return 0.0;\n }\n}\n\n// send rgba array for text/icon, rgb for background.\n// Only foreground allows alpha of 0.0 to 1.0\n// This blends using gamma encoded space (standard)\n// rounded 0-255 or set round=false for number 0.0-255.0\nexport function alphaBlend(\n rgbaFG = [0, 0, 0, 1.0],\n rgbBG = [0, 0, 0],\n round = true,\n) {\n rgbaFG[3] = Math.max(Math.min(rgbaFG[3], 1.0), 0.0); // clamp alpha 0-1\n let compBlend = 1.0 - rgbaFG[3];\n let rgbOut = [0, 0, 0, 1, true]; // or just use rgbBG to retain other elements?\n\n for (let i = 0; i < 3; i++) {\n rgbOut[i] = rgbBG[i] * compBlend + rgbaFG[i] * rgbaFG[3];\n if (round) rgbOut[i] = Math.min(Math.round(rgbOut[i] as number), 255);\n }\n return rgbOut;\n}\n"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export const RGBA_REGEX = /rgb(a?)\((?<v>.*)\)/;
2
+ export const HEX_COLOR_REGEX = /^#([A-Fa-f0-9]{3}|[A-Fa-f0-9]{6}|[A-Fa-f0-9]{8})$/;
3
+ export const SRGB_TO_XYZ = [[0.41233895, 0.35762064, 0.18051042], [0.2126, 0.7152, 0.0722], [0.01932141, 0.11916382, 0.95034478]];
4
+ export const XYZ_TO_SRGB = [[3.2413774792388685, -1.5376652402851851, -0.49885366846268053], [-0.9691452513005321, 1.8758853451067872, 0.04156585616912061], [0.05562093689691305, -0.20395524564742123, 1.0571799111220335]];
5
+ export const WHITE_POINT_D65 = [95.047, 100.0, 108.883];
6
+ //# sourceMappingURL=const.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"const.js","names":["RGBA_REGEX","HEX_COLOR_REGEX","SRGB_TO_XYZ","XYZ_TO_SRGB","WHITE_POINT_D65"],"sources":["../../../src/util/color/const.ts"],"sourcesContent":["export const RGBA_REGEX = /rgb(a?)\\((?<v>.*)\\)/;\r\nexport const HEX_COLOR_REGEX = /^#([A-Fa-f0-9]{3}|[A-Fa-f0-9]{6}|[A-Fa-f0-9]{8})$/;\r\n\r\nexport const SRGB_TO_XYZ = [\r\n [0.41233895, 0.35762064, 0.18051042],\r\n [0.2126, 0.7152, 0.0722],\r\n [0.01932141, 0.11916382, 0.95034478],\r\n];\r\n\r\nexport const XYZ_TO_SRGB = [\r\n [\r\n 3.2413774792388685,\r\n -1.5376652402851851,\r\n -0.49885366846268053,\r\n ],\r\n [\r\n -0.9691452513005321,\r\n 1.8758853451067872,\r\n 0.04156585616912061,\r\n ],\r\n [\r\n 0.05562093689691305,\r\n -0.20395524564742123,\r\n 1.0571799111220335,\r\n ],\r\n];\r\n\r\nexport const WHITE_POINT_D65 = [95.047, 100.0, 108.883];\r\n"],"mappings":"AAAA,OAAO,MAAMA,UAAU,GAAG,qBAAqB;AAC/C,OAAO,MAAMC,eAAe,GAAG,mDAAmD;AAElF,OAAO,MAAMC,WAAW,GAAG,CACzB,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,EACpC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACxB,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CACrC;AAED,OAAO,MAAMC,WAAW,GAAG,CACzB,CACE,kBAAkB,EAClB,CAAC,kBAAkB,EACnB,CAAC,mBAAmB,CACrB,EACD,CACE,CAAC,kBAAkB,EACnB,kBAAkB,EAClB,mBAAmB,CACpB,EACD,CACE,mBAAmB,EACnB,CAAC,mBAAmB,EACpB,kBAAkB,CACnB,CACF;AAED,OAAO,MAAMC,eAAe,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC"}
@@ -0,0 +1,149 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022 Google LLC
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { lstarFromY, yFromLstar } from "../conversion.js";
18
+ import { clampDouble } from "../utils/math-utils.js";
19
+ /**
20
+ * Utility methods for calculating contrast given two colors, or calculating a
21
+ * color given one color and a contrast ratio.
22
+ *
23
+ * Contrast ratio is calculated using XYZ's Y. When linearized to match human
24
+ * perception, Y becomes HCT's tone and L*a*b*'s' L*. Informally, this is the
25
+ * lightness of a color.
26
+ *
27
+ * Methods refer to tone, T in the the HCT color space.
28
+ * Tone is equivalent to L* in the L*a*b* color space, or L in the LCH color
29
+ * space.
30
+ */
31
+ export class Contrast {
32
+ /**
33
+ * Returns a contrast ratio, which ranges from 1 to 21.
34
+ *
35
+ * @param toneA Tone between 0 and 100. Values outside will be clamped.
36
+ * @param toneB Tone between 0 and 100. Values outside will be clamped.
37
+ */
38
+ static ratioOfTones(toneA, toneB) {
39
+ toneA = clampDouble(0.0, 100.0, toneA);
40
+ toneB = clampDouble(0.0, 100.0, toneB);
41
+ return Contrast.ratioOfYs(yFromLstar(toneA), yFromLstar(toneB));
42
+ }
43
+ static ratioOfYs(y1, y2) {
44
+ const lighter = y1 > y2 ? y1 : y2;
45
+ const darker = lighter === y2 ? y1 : y2;
46
+ return (lighter + 5.0) / (darker + 5.0);
47
+ }
48
+
49
+ /**
50
+ * Returns a tone >= tone parameter that ensures ratio parameter.
51
+ * Return value is between 0 and 100.
52
+ * Returns -1 if ratio cannot be achieved with tone parameter.
53
+ *
54
+ * @param tone Tone return value must contrast with.
55
+ * Range is 0 to 100. Invalid values will result in -1 being returned.
56
+ * @param ratio Contrast ratio of return value and tone.
57
+ * Range is 1 to 21, invalid values have undefined behavior.
58
+ */
59
+ static lighter(tone, ratio) {
60
+ if (tone < 0.0 || tone > 100.0) {
61
+ return -1.0;
62
+ }
63
+ const darkY = yFromLstar(tone);
64
+ const lightY = ratio * (darkY + 5.0) - 5.0;
65
+ const realContrast = Contrast.ratioOfYs(lightY, darkY);
66
+ const delta = Math.abs(realContrast - ratio);
67
+ if (realContrast < ratio && delta > 0.04) {
68
+ return -1;
69
+ }
70
+
71
+ // Ensure gamut mapping, which requires a 'range' on tone, will still result
72
+ // the correct ratio by darkening slightly.
73
+ const returnValue = lstarFromY(lightY) + 0.4;
74
+ if (returnValue < 0 || returnValue > 100) {
75
+ return -1;
76
+ }
77
+ return returnValue;
78
+ }
79
+
80
+ /**
81
+ * Returns a tone <= tone parameter that ensures ratio parameter.
82
+ * Return value is between 0 and 100.
83
+ * Returns -1 if ratio cannot be achieved with tone parameter.
84
+ *
85
+ * @param tone Tone return value must contrast with.
86
+ * Range is 0 to 100. Invalid values will result in -1 being returned.
87
+ * @param ratio Contrast ratio of return value and tone.
88
+ * Range is 1 to 21, invalid values have undefined behavior.
89
+ */
90
+ static darker(tone, ratio) {
91
+ if (tone < 0.0 || tone > 100.0) {
92
+ return -1.0;
93
+ }
94
+ const lightY = yFromLstar(tone);
95
+ const darkY = (lightY + 5.0) / ratio - 5.0;
96
+ const realContrast = Contrast.ratioOfYs(lightY, darkY);
97
+ const delta = Math.abs(realContrast - ratio);
98
+ if (realContrast < ratio && delta > 0.04) {
99
+ return -1;
100
+ }
101
+
102
+ // Ensure gamut mapping, which requires a 'range' on tone, will still result
103
+ // the correct ratio by darkening slightly.
104
+ const returnValue = lstarFromY(darkY) - 0.4;
105
+ if (returnValue < 0 || returnValue > 100) {
106
+ return -1;
107
+ }
108
+ return returnValue;
109
+ }
110
+
111
+ /**
112
+ * Returns a tone >= tone parameter that ensures ratio parameter.
113
+ * Return value is between 0 and 100.
114
+ * Returns 100 if ratio cannot be achieved with tone parameter.
115
+ *
116
+ * This method is unsafe because the returned value is guaranteed to be in
117
+ * bounds for tone, i.e. between 0 and 100. However, that value may not reach
118
+ * the ratio with tone. For example, there is no color lighter than T100.
119
+ *
120
+ * @param tone Tone return value must contrast with.
121
+ * Range is 0 to 100. Invalid values will result in 100 being returned.
122
+ * @param ratio Desired contrast ratio of return value and tone parameter.
123
+ * Range is 1 to 21, invalid values have undefined behavior.
124
+ */
125
+ static lighterUnsafe(tone, ratio) {
126
+ const lighterSafe = Contrast.lighter(tone, ratio);
127
+ return lighterSafe < 0.0 ? 100.0 : lighterSafe;
128
+ }
129
+
130
+ /**
131
+ * Returns a tone >= tone parameter that ensures ratio parameter.
132
+ * Return value is between 0 and 100.
133
+ * Returns 100 if ratio cannot be achieved with tone parameter.
134
+ *
135
+ * This method is unsafe because the returned value is guaranteed to be in
136
+ * bounds for tone, i.e. between 0 and 100. However, that value may not reach
137
+ * the [ratio with [tone]. For example, there is no color darker than T0.
138
+ *
139
+ * @param tone Tone return value must contrast with.
140
+ * Range is 0 to 100. Invalid values will result in 0 being returned.
141
+ * @param ratio Desired contrast ratio of return value and tone parameter.
142
+ * Range is 1 to 21, invalid values have undefined behavior.
143
+ */
144
+ static darkerUnsafe(tone, ratio) {
145
+ const darkerSafe = Contrast.darker(tone, ratio);
146
+ return darkerSafe < 0.0 ? 0.0 : darkerSafe;
147
+ }
148
+ }
149
+ //# sourceMappingURL=contrast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contrast.js","names":["lstarFromY","yFromLstar","clampDouble","Contrast","ratioOfTones","toneA","toneB","ratioOfYs","y1","y2","lighter","darker","tone","ratio","darkY","lightY","realContrast","delta","Math","abs","returnValue","lighterUnsafe","lighterSafe","darkerUnsafe","darkerSafe"],"sources":["../../../../src/util/color/contrast/contrast.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { lstarFromY, yFromLstar } from '../conversion';\nimport { clampDouble } from '../utils/math-utils';\n\n/**\n * Utility methods for calculating contrast given two colors, or calculating a\n * color given one color and a contrast ratio.\n *\n * Contrast ratio is calculated using XYZ's Y. When linearized to match human\n * perception, Y becomes HCT's tone and L*a*b*'s' L*. Informally, this is the\n * lightness of a color.\n *\n * Methods refer to tone, T in the the HCT color space.\n * Tone is equivalent to L* in the L*a*b* color space, or L in the LCH color\n * space.\n */\nexport class Contrast {\n /**\n * Returns a contrast ratio, which ranges from 1 to 21.\n *\n * @param toneA Tone between 0 and 100. Values outside will be clamped.\n * @param toneB Tone between 0 and 100. Values outside will be clamped.\n */\n static ratioOfTones(toneA: number, toneB: number): number {\n toneA = clampDouble(0.0, 100.0, toneA);\n toneB = clampDouble(0.0, 100.0, toneB);\n return Contrast.ratioOfYs(yFromLstar(toneA), yFromLstar(toneB));\n }\n\n static ratioOfYs(y1: number, y2: number): number {\n const lighter = y1 > y2 ? y1 : y2;\n const darker = lighter === y2 ? y1 : y2;\n return (lighter + 5.0) / (darker + 5.0);\n }\n\n /**\n * Returns a tone >= tone parameter that ensures ratio parameter.\n * Return value is between 0 and 100.\n * Returns -1 if ratio cannot be achieved with tone parameter.\n *\n * @param tone Tone return value must contrast with.\n * Range is 0 to 100. Invalid values will result in -1 being returned.\n * @param ratio Contrast ratio of return value and tone.\n * Range is 1 to 21, invalid values have undefined behavior.\n */\n static lighter(tone: number, ratio: number): number {\n if (tone < 0.0 || tone > 100.0) {\n return -1.0;\n }\n\n const darkY = yFromLstar(tone);\n const lightY = ratio * (darkY + 5.0) - 5.0;\n const realContrast = Contrast.ratioOfYs(lightY, darkY);\n const delta = Math.abs(realContrast - ratio);\n if (realContrast < ratio && delta > 0.04) {\n return -1;\n }\n\n // Ensure gamut mapping, which requires a 'range' on tone, will still result\n // the correct ratio by darkening slightly.\n const returnValue = lstarFromY(lightY) + 0.4;\n if (returnValue < 0 || returnValue > 100) {\n return -1;\n }\n return returnValue;\n }\n\n /**\n * Returns a tone <= tone parameter that ensures ratio parameter.\n * Return value is between 0 and 100.\n * Returns -1 if ratio cannot be achieved with tone parameter.\n *\n * @param tone Tone return value must contrast with.\n * Range is 0 to 100. Invalid values will result in -1 being returned.\n * @param ratio Contrast ratio of return value and tone.\n * Range is 1 to 21, invalid values have undefined behavior.\n */\n static darker(tone: number, ratio: number): number {\n if (tone < 0.0 || tone > 100.0) {\n return -1.0;\n }\n\n const lightY = yFromLstar(tone);\n const darkY = (lightY + 5.0) / ratio - 5.0;\n const realContrast = Contrast.ratioOfYs(lightY, darkY);\n\n const delta = Math.abs(realContrast - ratio);\n if (realContrast < ratio && delta > 0.04) {\n return -1;\n }\n\n // Ensure gamut mapping, which requires a 'range' on tone, will still result\n // the correct ratio by darkening slightly.\n const returnValue = lstarFromY(darkY) - 0.4;\n if (returnValue < 0 || returnValue > 100) {\n return -1;\n }\n return returnValue;\n }\n\n /**\n * Returns a tone >= tone parameter that ensures ratio parameter.\n * Return value is between 0 and 100.\n * Returns 100 if ratio cannot be achieved with tone parameter.\n *\n * This method is unsafe because the returned value is guaranteed to be in\n * bounds for tone, i.e. between 0 and 100. However, that value may not reach\n * the ratio with tone. For example, there is no color lighter than T100.\n *\n * @param tone Tone return value must contrast with.\n * Range is 0 to 100. Invalid values will result in 100 being returned.\n * @param ratio Desired contrast ratio of return value and tone parameter.\n * Range is 1 to 21, invalid values have undefined behavior.\n */\n static lighterUnsafe(tone: number, ratio: number): number {\n const lighterSafe = Contrast.lighter(tone, ratio);\n return lighterSafe < 0.0 ? 100.0 : lighterSafe;\n }\n\n /**\n * Returns a tone >= tone parameter that ensures ratio parameter.\n * Return value is between 0 and 100.\n * Returns 100 if ratio cannot be achieved with tone parameter.\n *\n * This method is unsafe because the returned value is guaranteed to be in\n * bounds for tone, i.e. between 0 and 100. However, that value may not reach\n * the [ratio with [tone]. For example, there is no color darker than T0.\n *\n * @param tone Tone return value must contrast with.\n * Range is 0 to 100. Invalid values will result in 0 being returned.\n * @param ratio Desired contrast ratio of return value and tone parameter.\n * Range is 1 to 21, invalid values have undefined behavior.\n */\n static darkerUnsafe(tone: number, ratio: number): number {\n const darkerSafe = Contrast.darker(tone, ratio);\n return darkerSafe < 0.0 ? 0.0 : darkerSafe;\n }\n}\n"],"mappings":"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"}