yuyeon 0.3.1-rc.5 → 0.3.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 (963) hide show
  1. package/dist/yuyeon.js +1512 -1572
  2. package/dist/yuyeon.umd.cjs +3 -3
  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 +289 -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 +112 -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/dropdown/YDropdown.d.ts +4 -4
  471. package/types/components/select/YSelect.d.ts +107 -5630
  472. package/types/components/tooltip/YTooltip.d.ts +292 -3501
  473. package/lib/abstract/items.mjs +0 -20
  474. package/lib/abstract/items.mjs.map +0 -1
  475. package/lib/components/alert/YAlert.mjs +0 -83
  476. package/lib/components/alert/YAlert.mjs.map +0 -1
  477. package/lib/components/alert/index.mjs +0 -2
  478. package/lib/components/alert/index.mjs.map +0 -1
  479. package/lib/components/app/YApp.mjs +0 -21
  480. package/lib/components/app/YApp.mjs.map +0 -1
  481. package/lib/components/app/index.mjs +0 -2
  482. package/lib/components/app/index.mjs.map +0 -1
  483. package/lib/components/badge/YBadge.mjs +0 -83
  484. package/lib/components/badge/YBadge.mjs.map +0 -1
  485. package/lib/components/badge/index.mjs +0 -2
  486. package/lib/components/badge/index.mjs.map +0 -1
  487. package/lib/components/bench/YBench.mjs +0 -43
  488. package/lib/components/bench/YBench.mjs.map +0 -1
  489. package/lib/components/bench/index.mjs +0 -2
  490. package/lib/components/bench/index.mjs.map +0 -1
  491. package/lib/components/button/YButton.mjs +0 -169
  492. package/lib/components/button/YButton.mjs.map +0 -1
  493. package/lib/components/button/index.mjs +0 -2
  494. package/lib/components/button/index.mjs.map +0 -1
  495. package/lib/components/card/YCard.mjs +0 -28
  496. package/lib/components/card/YCard.mjs.map +0 -1
  497. package/lib/components/card/YCardBody.mjs +0 -11
  498. package/lib/components/card/YCardBody.mjs.map +0 -1
  499. package/lib/components/card/YCardFooter.mjs +0 -11
  500. package/lib/components/card/YCardFooter.mjs.map +0 -1
  501. package/lib/components/card/YCardHeader.mjs +0 -11
  502. package/lib/components/card/YCardHeader.mjs.map +0 -1
  503. package/lib/components/card/index.mjs +0 -5
  504. package/lib/components/card/index.mjs.map +0 -1
  505. package/lib/components/checkbox/YCheckbox.mjs +0 -160
  506. package/lib/components/checkbox/YCheckbox.mjs.map +0 -1
  507. package/lib/components/checkbox/YInputCheckbox.mjs +0 -114
  508. package/lib/components/checkbox/YInputCheckbox.mjs.map +0 -1
  509. package/lib/components/checkbox/index.mjs +0 -4
  510. package/lib/components/checkbox/index.mjs.map +0 -1
  511. package/lib/components/chip/YChip.mjs +0 -39
  512. package/lib/components/chip/YChip.mjs.map +0 -1
  513. package/lib/components/chip/index.mjs +0 -2
  514. package/lib/components/chip/index.mjs.map +0 -1
  515. package/lib/components/date-picker/YDateCalendar.mjs +0 -243
  516. package/lib/components/date-picker/YDateCalendar.mjs.map +0 -1
  517. package/lib/components/date-picker/YDatePicker.mjs +0 -132
  518. package/lib/components/date-picker/YDatePicker.mjs.map +0 -1
  519. package/lib/components/date-picker/YDatePickerControl.mjs +0 -107
  520. package/lib/components/date-picker/YDatePickerControl.mjs.map +0 -1
  521. package/lib/components/date-picker/YMonthPicker.mjs +0 -64
  522. package/lib/components/date-picker/YMonthPicker.mjs.map +0 -1
  523. package/lib/components/date-picker/YYearPicker.mjs +0 -87
  524. package/lib/components/date-picker/YYearPicker.mjs.map +0 -1
  525. package/lib/components/date-picker/index.mjs +0 -4
  526. package/lib/components/date-picker/index.mjs.map +0 -1
  527. package/lib/components/default-provider/YDefaultProvider.mjs +0 -2
  528. package/lib/components/default-provider/YDefaultProvider.mjs.map +0 -1
  529. package/lib/components/default-provider/index.mjs +0 -2
  530. package/lib/components/default-provider/index.mjs.map +0 -1
  531. package/lib/components/dialog/YDialog.mjs +0 -213
  532. package/lib/components/dialog/YDialog.mjs.map +0 -1
  533. package/lib/components/dialog/index.mjs +0 -2
  534. package/lib/components/dialog/index.mjs.map +0 -1
  535. package/lib/components/divider/YDivider.mjs +0 -20
  536. package/lib/components/divider/YDivider.mjs.map +0 -1
  537. package/lib/components/divider/index.mjs +0 -2
  538. package/lib/components/divider/index.mjs.map +0 -1
  539. package/lib/components/draggable/YDraggable.mjs +0 -95
  540. package/lib/components/draggable/YDraggable.mjs.map +0 -1
  541. package/lib/components/dropdown/YDropdown.mjs +0 -109
  542. package/lib/components/dropdown/YDropdown.mjs.map +0 -1
  543. package/lib/components/dropdown/index.mjs +0 -2
  544. package/lib/components/dropdown/index.mjs.map +0 -1
  545. package/lib/components/field-input/YFieldInput.mjs +0 -229
  546. package/lib/components/field-input/YFieldInput.mjs.map +0 -1
  547. package/lib/components/field-input/index.mjs +0 -2
  548. package/lib/components/field-input/index.mjs.map +0 -1
  549. package/lib/components/form/YForm.mjs +0 -65
  550. package/lib/components/form/YForm.mjs.map +0 -1
  551. package/lib/components/form/index.mjs +0 -2
  552. package/lib/components/form/index.mjs.map +0 -1
  553. package/lib/components/hover/YHover.mjs +0 -54
  554. package/lib/components/hover/YHover.mjs.map +0 -1
  555. package/lib/components/hover/index.mjs +0 -2
  556. package/lib/components/hover/index.mjs.map +0 -1
  557. package/lib/components/icon/YIcon.mjs +0 -63
  558. package/lib/components/icon/YIcon.mjs.map +0 -1
  559. package/lib/components/icon/index.mjs +0 -2
  560. package/lib/components/icon/index.mjs.map +0 -1
  561. package/lib/components/icon/poly.mjs +0 -57
  562. package/lib/components/icon/poly.mjs.map +0 -1
  563. package/lib/components/icons/YIconCheckbox.mjs +0 -32
  564. package/lib/components/icons/YIconCheckbox.mjs.map +0 -1
  565. package/lib/components/icons/YIconClear.mjs +0 -16
  566. package/lib/components/icons/YIconClear.mjs.map +0 -1
  567. package/lib/components/icons/YIconDropdown.mjs +0 -16
  568. package/lib/components/icons/YIconDropdown.mjs.map +0 -1
  569. package/lib/components/icons/YIconExpand.mjs +0 -20
  570. package/lib/components/icons/YIconExpand.mjs.map +0 -1
  571. package/lib/components/icons/YIconPageControl.mjs +0 -32
  572. package/lib/components/icons/YIconPageControl.mjs.map +0 -1
  573. package/lib/components/icons/YIconSort.mjs +0 -45
  574. package/lib/components/icons/YIconSort.mjs.map +0 -1
  575. package/lib/components/icons/index.mjs +0 -32
  576. package/lib/components/icons/index.mjs.map +0 -1
  577. package/lib/components/img/YImg.mjs +0 -173
  578. package/lib/components/img/YImg.mjs.map +0 -1
  579. package/lib/components/img/index.mjs +0 -2
  580. package/lib/components/img/index.mjs.map +0 -1
  581. package/lib/components/index.mjs +0 -39
  582. package/lib/components/index.mjs.map +0 -1
  583. package/lib/components/input/YInput.mjs +0 -258
  584. package/lib/components/input/YInput.mjs.map +0 -1
  585. package/lib/components/input/index.mjs +0 -2
  586. package/lib/components/input/index.mjs.map +0 -1
  587. package/lib/components/ip-field/YIpv4Field.mjs +0 -297
  588. package/lib/components/ip-field/YIpv4Field.mjs.map +0 -1
  589. package/lib/components/ip-field/index.mjs +0 -2
  590. package/lib/components/ip-field/index.mjs.map +0 -1
  591. package/lib/components/layer/YLayer.mjs +0 -326
  592. package/lib/components/layer/YLayer.mjs.map +0 -1
  593. package/lib/components/layer/active-delay.mjs +0 -28
  594. package/lib/components/layer/active-delay.mjs.map +0 -1
  595. package/lib/components/layer/active-stack.mjs +0 -52
  596. package/lib/components/layer/active-stack.mjs.map +0 -1
  597. package/lib/components/layer/base.mjs +0 -87
  598. package/lib/components/layer/base.mjs.map +0 -1
  599. package/lib/components/layer/content.mjs +0 -22
  600. package/lib/components/layer/content.mjs.map +0 -1
  601. package/lib/components/layer/index.mjs +0 -2
  602. package/lib/components/layer/index.mjs.map +0 -1
  603. package/lib/components/layer/scroll-strategies.mjs +0 -132
  604. package/lib/components/layer/scroll-strategies.mjs.map +0 -1
  605. package/lib/components/list/YList.mjs +0 -55
  606. package/lib/components/list/YList.mjs.map +0 -1
  607. package/lib/components/list/YListItem.mjs +0 -59
  608. package/lib/components/list/YListItem.mjs.map +0 -1
  609. package/lib/components/list/index.mjs +0 -3
  610. package/lib/components/list/index.mjs.map +0 -1
  611. package/lib/components/loading/YSpinnerRing.mjs +0 -25
  612. package/lib/components/loading/YSpinnerRing.mjs.map +0 -1
  613. package/lib/components/loading/index.mjs +0 -2
  614. package/lib/components/loading/index.mjs.map +0 -1
  615. package/lib/components/menu/YMenu.mjs +0 -211
  616. package/lib/components/menu/YMenu.mjs.map +0 -1
  617. package/lib/components/menu/index.mjs +0 -2
  618. package/lib/components/menu/index.mjs.map +0 -1
  619. package/lib/components/navigation/YNavigation.mjs +0 -18
  620. package/lib/components/navigation/YNavigation.mjs.map +0 -1
  621. package/lib/components/navigation/index.mjs +0 -2
  622. package/lib/components/navigation/index.mjs.map +0 -1
  623. package/lib/components/pagination/YPagination.mjs +0 -288
  624. package/lib/components/pagination/YPagination.mjs.map +0 -1
  625. package/lib/components/pagination/index.mjs +0 -2
  626. package/lib/components/pagination/index.mjs.map +0 -1
  627. package/lib/components/panel/YDividePanel.mjs +0 -90
  628. package/lib/components/panel/YDividePanel.mjs.map +0 -1
  629. package/lib/components/panel/index.mjs +0 -2
  630. package/lib/components/panel/index.mjs.map +0 -1
  631. package/lib/components/plate/YPlate.mjs +0 -28
  632. package/lib/components/plate/YPlate.mjs.map +0 -1
  633. package/lib/components/plate/index.mjs +0 -2
  634. package/lib/components/plate/index.mjs.map +0 -1
  635. package/lib/components/progress-bar/YProgressBar.mjs +0 -117
  636. package/lib/components/progress-bar/YProgressBar.mjs.map +0 -1
  637. package/lib/components/progress-bar/index.mjs +0 -2
  638. package/lib/components/progress-bar/index.mjs.map +0 -1
  639. package/lib/components/progress-ring/YProgressRing.mjs +0 -128
  640. package/lib/components/progress-ring/YProgressRing.mjs.map +0 -1
  641. package/lib/components/progress-ring/index.mjs +0 -2
  642. package/lib/components/progress-ring/index.mjs.map +0 -1
  643. package/lib/components/select/YSelect.mjs +0 -344
  644. package/lib/components/select/YSelect.mjs.map +0 -1
  645. package/lib/components/select/index.mjs +0 -2
  646. package/lib/components/select/index.mjs.map +0 -1
  647. package/lib/components/slider/YSlider.mjs +0 -26
  648. package/lib/components/slider/YSlider.mjs.map +0 -1
  649. package/lib/components/slider/index.mjs +0 -2
  650. package/lib/components/slider/index.mjs.map +0 -1
  651. package/lib/components/snackbar/YSnackbar.mjs +0 -209
  652. package/lib/components/snackbar/YSnackbar.mjs.map +0 -1
  653. package/lib/components/snackbar/index.mjs +0 -2
  654. package/lib/components/snackbar/index.mjs.map +0 -1
  655. package/lib/components/switch/YSwitch.mjs +0 -184
  656. package/lib/components/switch/YSwitch.mjs.map +0 -1
  657. package/lib/components/switch/index.mjs +0 -2
  658. package/lib/components/switch/index.mjs.map +0 -1
  659. package/lib/components/tab/YTab.mjs +0 -64
  660. package/lib/components/tab/YTab.mjs.map +0 -1
  661. package/lib/components/tab/YTabs.mjs +0 -86
  662. package/lib/components/tab/YTabs.mjs.map +0 -1
  663. package/lib/components/tab/index.mjs +0 -4
  664. package/lib/components/tab/index.mjs.map +0 -1
  665. package/lib/components/tab/shared.mjs +0 -2
  666. package/lib/components/tab/shared.mjs.map +0 -1
  667. package/lib/components/tab/types.mjs +0 -2
  668. package/lib/components/tab/types.mjs.map +0 -1
  669. package/lib/components/table/YDataTable.mjs +0 -182
  670. package/lib/components/table/YDataTable.mjs.map +0 -1
  671. package/lib/components/table/YDataTableBody.mjs +0 -131
  672. package/lib/components/table/YDataTableBody.mjs.map +0 -1
  673. package/lib/components/table/YDataTableCell.mjs +0 -78
  674. package/lib/components/table/YDataTableCell.mjs.map +0 -1
  675. package/lib/components/table/YDataTableControl.mjs +0 -46
  676. package/lib/components/table/YDataTableControl.mjs.map +0 -1
  677. package/lib/components/table/YDataTableHead.mjs +0 -172
  678. package/lib/components/table/YDataTableHead.mjs.map +0 -1
  679. package/lib/components/table/YDataTableLayer.mjs +0 -29
  680. package/lib/components/table/YDataTableLayer.mjs.map +0 -1
  681. package/lib/components/table/YDataTableRow.mjs +0 -150
  682. package/lib/components/table/YDataTableRow.mjs.map +0 -1
  683. package/lib/components/table/YDataTableServer.mjs +0 -173
  684. package/lib/components/table/YDataTableServer.mjs.map +0 -1
  685. package/lib/components/table/YTable.mjs +0 -77
  686. package/lib/components/table/YTable.mjs.map +0 -1
  687. package/lib/components/table/composibles/header.mjs +0 -127
  688. package/lib/components/table/composibles/header.mjs.map +0 -1
  689. package/lib/components/table/composibles/items.mjs +0 -52
  690. package/lib/components/table/composibles/items.mjs.map +0 -1
  691. package/lib/components/table/composibles/measure.mjs +0 -39
  692. package/lib/components/table/composibles/measure.mjs.map +0 -1
  693. package/lib/components/table/composibles/options.mjs +0 -33
  694. package/lib/components/table/composibles/options.mjs.map +0 -1
  695. package/lib/components/table/composibles/pagination.mjs +0 -99
  696. package/lib/components/table/composibles/pagination.mjs.map +0 -1
  697. package/lib/components/table/composibles/selection.mjs +0 -196
  698. package/lib/components/table/composibles/selection.mjs.map +0 -1
  699. package/lib/components/table/composibles/sorted-items.mjs +0 -50
  700. package/lib/components/table/composibles/sorted-items.mjs.map +0 -1
  701. package/lib/components/table/composibles/sorting.mjs +0 -73
  702. package/lib/components/table/composibles/sorting.mjs.map +0 -1
  703. package/lib/components/table/index.mjs +0 -9
  704. package/lib/components/table/index.mjs.map +0 -1
  705. package/lib/components/table/types/common.mjs +0 -2
  706. package/lib/components/table/types/common.mjs.map +0 -1
  707. package/lib/components/table/types/header.mjs +0 -2
  708. package/lib/components/table/types/header.mjs.map +0 -1
  709. package/lib/components/table/types/index.mjs +0 -2
  710. package/lib/components/table/types/index.mjs.map +0 -1
  711. package/lib/components/table/types/item.mjs +0 -2
  712. package/lib/components/table/types/item.mjs.map +0 -1
  713. package/lib/components/table/types/row.mjs +0 -2
  714. package/lib/components/table/types/row.mjs.map +0 -1
  715. package/lib/components/text-ellipsis/YTextEllipsis.mjs +0 -66
  716. package/lib/components/text-ellipsis/YTextEllipsis.mjs.map +0 -1
  717. package/lib/components/text-ellipsis/index.mjs +0 -2
  718. package/lib/components/text-ellipsis/index.mjs.map +0 -1
  719. package/lib/components/text-highlighter/YTextHighlighter.mjs +0 -95
  720. package/lib/components/text-highlighter/YTextHighlighter.mjs.map +0 -1
  721. package/lib/components/text-highlighter/index.mjs +0 -2
  722. package/lib/components/text-highlighter/index.mjs.map +0 -1
  723. package/lib/components/text-interpolation/YTi.mjs +0 -47
  724. package/lib/components/text-interpolation/YTi.mjs.map +0 -1
  725. package/lib/components/text-interpolation/index.mjs +0 -2
  726. package/lib/components/text-interpolation/index.mjs.map +0 -1
  727. package/lib/components/textarea/YTextarea.mjs +0 -157
  728. package/lib/components/textarea/YTextarea.mjs.map +0 -1
  729. package/lib/components/textarea/index.mjs +0 -2
  730. package/lib/components/textarea/index.mjs.map +0 -1
  731. package/lib/components/toggle-button/YToggleButton.mjs +0 -2
  732. package/lib/components/toggle-button/YToggleButton.mjs.map +0 -1
  733. package/lib/components/toggle-button/index.mjs +0 -2
  734. package/lib/components/toggle-button/index.mjs.map +0 -1
  735. package/lib/components/tooltip/YTooltip.mjs +0 -156
  736. package/lib/components/tooltip/YTooltip.mjs.map +0 -1
  737. package/lib/components/tooltip/index.mjs +0 -2
  738. package/lib/components/tooltip/index.mjs.map +0 -1
  739. package/lib/components/transitions/expand-transition.mjs +0 -109
  740. package/lib/components/transitions/expand-transition.mjs.map +0 -1
  741. package/lib/components/transitions/index.mjs +0 -4
  742. package/lib/components/transitions/index.mjs.map +0 -1
  743. package/lib/components/tree-view/YTreeView.mjs +0 -289
  744. package/lib/components/tree-view/YTreeView.mjs.map +0 -1
  745. package/lib/components/tree-view/YTreeViewNode.mjs +0 -250
  746. package/lib/components/tree-view/YTreeViewNode.mjs.map +0 -1
  747. package/lib/components/tree-view/index.mjs +0 -3
  748. package/lib/components/tree-view/index.mjs.map +0 -1
  749. package/lib/components/tree-view/tree-view.mjs +0 -179
  750. package/lib/components/tree-view/tree-view.mjs.map +0 -1
  751. package/lib/components/tree-view/types.mjs +0 -2
  752. package/lib/components/tree-view/types.mjs.map +0 -1
  753. package/lib/components/tree-view/util.mjs +0 -40
  754. package/lib/components/tree-view/util.mjs.map +0 -1
  755. package/lib/composables/choice-link.mjs +0 -13
  756. package/lib/composables/choice-link.mjs.map +0 -1
  757. package/lib/composables/choice.mjs +0 -187
  758. package/lib/composables/choice.mjs.map +0 -1
  759. package/lib/composables/communication.mjs +0 -55
  760. package/lib/composables/communication.mjs.map +0 -1
  761. package/lib/composables/component.mjs +0 -8
  762. package/lib/composables/component.mjs.map +0 -1
  763. package/lib/composables/coordinate/arrangement.mjs +0 -14
  764. package/lib/composables/coordinate/arrangement.mjs.map +0 -1
  765. package/lib/composables/coordinate/index.mjs +0 -67
  766. package/lib/composables/coordinate/index.mjs.map +0 -1
  767. package/lib/composables/coordinate/levitation.mjs +0 -315
  768. package/lib/composables/coordinate/levitation.mjs.map +0 -1
  769. package/lib/composables/coordinate/types.mjs +0 -2
  770. package/lib/composables/coordinate/types.mjs.map +0 -1
  771. package/lib/composables/coordinate/utils/point.mjs +0 -55
  772. package/lib/composables/coordinate/utils/point.mjs.map +0 -1
  773. package/lib/composables/date/factory.mjs +0 -12
  774. package/lib/composables/date/factory.mjs.map +0 -1
  775. package/lib/composables/date/index.mjs +0 -20
  776. package/lib/composables/date/index.mjs.map +0 -1
  777. package/lib/composables/date/setting.mjs +0 -11
  778. package/lib/composables/date/setting.mjs.map +0 -1
  779. package/lib/composables/date/types.mjs +0 -2
  780. package/lib/composables/date/types.mjs.map +0 -1
  781. package/lib/composables/defaults/index.mjs +0 -99
  782. package/lib/composables/defaults/index.mjs.map +0 -1
  783. package/lib/composables/defaults/share.mjs +0 -2
  784. package/lib/composables/defaults/share.mjs.map +0 -1
  785. package/lib/composables/defaults/types.mjs +0 -2
  786. package/lib/composables/defaults/types.mjs.map +0 -1
  787. package/lib/composables/dimension.mjs +0 -26
  788. package/lib/composables/dimension.mjs.map +0 -1
  789. package/lib/composables/focus.mjs +0 -29
  790. package/lib/composables/focus.mjs.map +0 -1
  791. package/lib/composables/form.mjs +0 -100
  792. package/lib/composables/form.mjs.map +0 -1
  793. package/lib/composables/group.mjs +0 -194
  794. package/lib/composables/group.mjs.map +0 -1
  795. package/lib/composables/i18n/index.mjs +0 -30
  796. package/lib/composables/i18n/index.mjs.map +0 -1
  797. package/lib/composables/i18n/locale.mjs +0 -5
  798. package/lib/composables/i18n/locale.mjs.map +0 -1
  799. package/lib/composables/i18n/rtl.mjs +0 -34
  800. package/lib/composables/i18n/rtl.mjs.map +0 -1
  801. package/lib/composables/i18n/share.mjs +0 -2
  802. package/lib/composables/i18n/share.mjs.map +0 -1
  803. package/lib/composables/icon.mjs +0 -164
  804. package/lib/composables/icon.mjs.map +0 -1
  805. package/lib/composables/index.mjs +0 -11
  806. package/lib/composables/index.mjs.map +0 -1
  807. package/lib/composables/layer-group.mjs +0 -66
  808. package/lib/composables/layer-group.mjs.map +0 -1
  809. package/lib/composables/layout.mjs +0 -13
  810. package/lib/composables/layout.mjs.map +0 -1
  811. package/lib/composables/list-items.mjs +0 -66
  812. package/lib/composables/list-items.mjs.map +0 -1
  813. package/lib/composables/progress.mjs +0 -26
  814. package/lib/composables/progress.mjs.map +0 -1
  815. package/lib/composables/ref.mjs +0 -13
  816. package/lib/composables/ref.mjs.map +0 -1
  817. package/lib/composables/resize-observer.mjs +0 -33
  818. package/lib/composables/resize-observer.mjs.map +0 -1
  819. package/lib/composables/scope.mjs +0 -26
  820. package/lib/composables/scope.mjs.map +0 -1
  821. package/lib/composables/style-color.mjs +0 -37
  822. package/lib/composables/style-color.mjs.map +0 -1
  823. package/lib/composables/theme/factory.mjs +0 -47
  824. package/lib/composables/theme/factory.mjs.map +0 -1
  825. package/lib/composables/theme/helper.mjs +0 -14
  826. package/lib/composables/theme/helper.mjs.map +0 -1
  827. package/lib/composables/theme/index.mjs +0 -187
  828. package/lib/composables/theme/index.mjs.map +0 -1
  829. package/lib/composables/theme/setting.mjs +0 -112
  830. package/lib/composables/theme/setting.mjs.map +0 -1
  831. package/lib/composables/theme/types.mjs +0 -2
  832. package/lib/composables/theme/types.mjs.map +0 -1
  833. package/lib/composables/timing.mjs +0 -102
  834. package/lib/composables/timing.mjs.map +0 -1
  835. package/lib/composables/transition.mjs +0 -51
  836. package/lib/composables/transition.mjs.map +0 -1
  837. package/lib/composables/validation.mjs +0 -126
  838. package/lib/composables/validation.mjs.map +0 -1
  839. package/lib/composables/vue-router.mjs +0 -32
  840. package/lib/composables/vue-router.mjs.map +0 -1
  841. package/lib/directives/complement-click/index.mjs +0 -78
  842. package/lib/directives/complement-click/index.mjs.map +0 -1
  843. package/lib/directives/plate-wave/index.mjs +0 -100
  844. package/lib/directives/plate-wave/index.mjs.map +0 -1
  845. package/lib/directives/theme-class.mjs +0 -24
  846. package/lib/directives/theme-class.mjs.map +0 -1
  847. package/lib/etc/index.mjs +0 -6
  848. package/lib/etc/index.mjs.map +0 -1
  849. package/lib/i18n/built-in.mjs +0 -77
  850. package/lib/i18n/built-in.mjs.map +0 -1
  851. package/lib/i18n/config.mjs +0 -82
  852. package/lib/i18n/config.mjs.map +0 -1
  853. package/lib/i18n/types.mjs +0 -2
  854. package/lib/i18n/types.mjs.map +0 -1
  855. package/lib/index.mjs +0 -103
  856. package/lib/index.mjs.map +0 -1
  857. package/lib/locales/en.mjs +0 -6
  858. package/lib/locales/en.mjs.map +0 -1
  859. package/lib/locales/index.mjs +0 -3
  860. package/lib/locales/index.mjs.map +0 -1
  861. package/lib/locales/ko.mjs +0 -6
  862. package/lib/locales/ko.mjs.map +0 -1
  863. package/lib/mixins/di.mjs +0 -19
  864. package/lib/mixins/di.mjs.map +0 -1
  865. package/lib/mixins/rebind-attrs.mjs +0 -37
  866. package/lib/mixins/rebind-attrs.mjs.map +0 -1
  867. package/lib/types/index.mjs +0 -2
  868. package/lib/types/index.mjs.map +0 -1
  869. package/lib/util/anchor.mjs +0 -53
  870. package/lib/util/anchor.mjs.map +0 -1
  871. package/lib/util/array.mjs +0 -13
  872. package/lib/util/array.mjs.map +0 -1
  873. package/lib/util/collection.mjs +0 -10
  874. package/lib/util/collection.mjs.map +0 -1
  875. package/lib/util/color/apca.mjs +0 -201
  876. package/lib/util/color/apca.mjs.map +0 -1
  877. package/lib/util/color/const.mjs +0 -6
  878. package/lib/util/color/const.mjs.map +0 -1
  879. package/lib/util/color/contrast/contrast.mjs +0 -149
  880. package/lib/util/color/contrast/contrast.mjs.map +0 -1
  881. package/lib/util/color/conversion.mjs +0 -310
  882. package/lib/util/color/conversion.mjs.map +0 -1
  883. package/lib/util/color/hct/cam16.mjs +0 -349
  884. package/lib/util/color/hct/cam16.mjs.map +0 -1
  885. package/lib/util/color/hct/hct-solver.mjs +0 -389
  886. package/lib/util/color/hct/hct-solver.mjs.map +0 -1
  887. package/lib/util/color/hct/hct.mjs +0 -153
  888. package/lib/util/color/hct/hct.mjs.map +0 -1
  889. package/lib/util/color/hct/viewing-conditions.mjs +0 -110
  890. package/lib/util/color/hct/viewing-conditions.mjs.map +0 -1
  891. package/lib/util/color/index.mjs +0 -40
  892. package/lib/util/color/index.mjs.map +0 -1
  893. package/lib/util/color/palettes/core-palette.mjs +0 -99
  894. package/lib/util/color/palettes/core-palette.mjs.map +0 -1
  895. package/lib/util/color/palettes/tonal-palette.mjs +0 -112
  896. package/lib/util/color/palettes/tonal-palette.mjs.map +0 -1
  897. package/lib/util/color/types.mjs +0 -2
  898. package/lib/util/color/types.mjs.map +0 -1
  899. package/lib/util/color/utils/math-utils.mjs +0 -139
  900. package/lib/util/color/utils/math-utils.mjs.map +0 -1
  901. package/lib/util/common.mjs +0 -107
  902. package/lib/util/common.mjs.map +0 -1
  903. package/lib/util/component/component.mjs +0 -26
  904. package/lib/util/component/component.mjs.map +0 -1
  905. package/lib/util/component/index.mjs +0 -65
  906. package/lib/util/component/index.mjs.map +0 -1
  907. package/lib/util/component/inject-self.mjs +0 -10
  908. package/lib/util/component/inject-self.mjs.map +0 -1
  909. package/lib/util/component/props.mjs +0 -41
  910. package/lib/util/component/props.mjs.map +0 -1
  911. package/lib/util/component/types.mjs +0 -2
  912. package/lib/util/component/types.mjs.map +0 -1
  913. package/lib/util/date/adapters/yuyeon-date-adapter.mjs +0 -111
  914. package/lib/util/date/adapters/yuyeon-date-adapter.mjs.map +0 -1
  915. package/lib/util/date/built-in.mjs +0 -416
  916. package/lib/util/date/built-in.mjs.map +0 -1
  917. package/lib/util/date/index.mjs +0 -4
  918. package/lib/util/date/index.mjs.map +0 -1
  919. package/lib/util/date/types.mjs +0 -2
  920. package/lib/util/date/types.mjs.map +0 -1
  921. package/lib/util/debounce.mjs +0 -114
  922. package/lib/util/debounce.mjs.map +0 -1
  923. package/lib/util/dom.mjs +0 -23
  924. package/lib/util/dom.mjs.map +0 -1
  925. package/lib/util/environments.mjs +0 -8
  926. package/lib/util/environments.mjs.map +0 -1
  927. package/lib/util/frame-scheduler.mjs +0 -29
  928. package/lib/util/frame-scheduler.mjs.map +0 -1
  929. package/lib/util/index.mjs +0 -17
  930. package/lib/util/index.mjs.map +0 -1
  931. package/lib/util/parser.mjs +0 -31
  932. package/lib/util/parser.mjs.map +0 -1
  933. package/lib/util/reactivity.mjs +0 -19
  934. package/lib/util/reactivity.mjs.map +0 -1
  935. package/lib/util/rect.mjs +0 -39
  936. package/lib/util/rect.mjs.map +0 -1
  937. package/lib/util/scroll.mjs +0 -28
  938. package/lib/util/scroll.mjs.map +0 -1
  939. package/lib/util/string.mjs +0 -69
  940. package/lib/util/string.mjs.map +0 -1
  941. package/lib/util/ui.mjs +0 -60
  942. package/lib/util/ui.mjs.map +0 -1
  943. package/lib/util/validation.mjs +0 -5
  944. package/lib/util/validation.mjs.map +0 -1
  945. package/lib/util/vue-component/index.mjs +0 -63
  946. package/lib/util/vue-component/index.mjs.map +0 -1
  947. package/lib/util/vue-component/props.mjs +0 -37
  948. package/lib/util/vue-component/props.mjs.map +0 -1
  949. package/lib/util/vue-component/types.mjs +0 -2
  950. package/lib/util/vue-component/types.mjs.map +0 -1
  951. package/lib/util/vue-component.mjs +0 -102
  952. package/lib/util/vue-component.mjs.map +0 -1
  953. package/types/components/table/pagination.d.ts +0 -78
  954. package/types/util/color/hct/hct_solver.d.ts +0 -146
  955. package/types/util/color/hct/viewing_conditions.d.ts +0 -74
  956. package/types/util/color/palettes/tonal_palette.d.ts +0 -55
  957. package/types/util/color/utils/math_utils.d.ts +0 -82
  958. package/types/util/parser.d.ts +0 -4
  959. package/types/util/vue-component/index.d.ts +0 -10
  960. package/types/util/vue-component/props.d.ts +0 -31
  961. package/types/util/vue-component/types.d.ts +0 -4
  962. package/types/util/vue-component.d.ts +0 -39
  963. /package/types/util/{Rect.d.ts → rect.d.ts} +0 -0
@@ -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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"}