@public-ui/components 1.3.0 → 1.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 (208) hide show
  1. package/cheat-sheet.html +6 -6
  2. package/custom-elements.json +3 -3
  3. package/dist/cjs/{controller-8342e490.js → controller-3b86e1c6.js} +1 -1
  4. package/dist/cjs/{controller-8342e490.js.map → controller-3b86e1c6.js.map} +1 -1
  5. package/dist/cjs/{controller-d28e02c0.js → controller-3f64b13e.js} +1 -1
  6. package/dist/cjs/{controller-d28e02c0.js.map → controller-3f64b13e.js.map} +1 -1
  7. package/dist/cjs/{controller-37208c19.js → controller-9ecb5be4.js} +1 -1
  8. package/dist/cjs/{controller-37208c19.js.map → controller-9ecb5be4.js.map} +1 -1
  9. package/dist/cjs/{controller-fc8515bc.js → controller-c22d561c.js} +1 -1
  10. package/dist/cjs/{controller-fc8515bc.js.map → controller-c22d561c.js.map} +1 -1
  11. package/dist/cjs/kol-button-link.cjs.entry.js +1 -1
  12. package/dist/cjs/kol-button-wc_2.cjs.entry.js +1 -1
  13. package/dist/cjs/kol-button-wc_2.cjs.entry.js.map +1 -1
  14. package/dist/cjs/kol-button.cjs.entry.js +1 -1
  15. package/dist/cjs/kol-icon.cjs.entry.js.map +1 -1
  16. package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
  17. package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
  18. package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
  19. package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
  20. package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
  21. package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
  22. package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
  23. package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
  24. package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
  25. package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
  26. package/dist/cjs/kol-link-button.cjs.entry.js +1 -1
  27. package/dist/cjs/kol-link-wc.cjs.entry.js +1 -1
  28. package/dist/cjs/kol-link.cjs.entry.js +1 -1
  29. package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
  30. package/dist/cjs/kol-select.cjs.entry.js +1 -1
  31. package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
  32. package/dist/cjs/kol-tooltip.cjs.entry.js +1 -1
  33. package/dist/cjs/kol-tooltip.cjs.entry.js.map +1 -1
  34. package/dist/cjs/{label-88419619.js → label-370414db.js} +1 -1
  35. package/dist/cjs/{label-88419619.js.map → label-370414db.js.map} +1 -1
  36. package/dist/cjs/reuse-28825ead.js +4 -0
  37. package/dist/cjs/reuse-28825ead.js.map +1 -0
  38. package/dist/cjs/{tab-index-c69625a6.js → tab-index-954dd1d8.js} +1 -1
  39. package/dist/cjs/{tab-index-c69625a6.js.map → tab-index-954dd1d8.js.map} +1 -1
  40. package/dist/cjs/validator-953ea58f.js +4 -0
  41. package/dist/cjs/validator-953ea58f.js.map +1 -0
  42. package/dist/components/component.js +1 -1
  43. package/dist/components/component.js.map +1 -1
  44. package/dist/components/component2.js.map +1 -1
  45. package/dist/components/component3.js +1 -1
  46. package/dist/components/component3.js.map +1 -1
  47. package/dist/esm/{controller-8e33192f.js → controller-1362fa2f.js} +1 -1
  48. package/dist/esm/{controller-8e33192f.js.map → controller-1362fa2f.js.map} +1 -1
  49. package/dist/esm/{controller-46b28944.js → controller-c34d5da2.js} +1 -1
  50. package/dist/esm/{controller-46b28944.js.map → controller-c34d5da2.js.map} +1 -1
  51. package/dist/esm/{controller-9bcf44e5.js → controller-ce5dfb44.js} +1 -1
  52. package/dist/esm/{controller-9bcf44e5.js.map → controller-ce5dfb44.js.map} +1 -1
  53. package/dist/esm/{controller-1753b7f0.js → controller-f0f7cbc7.js} +1 -1
  54. package/dist/esm/{controller-1753b7f0.js.map → controller-f0f7cbc7.js.map} +1 -1
  55. package/dist/esm/kol-button-link.entry.js +1 -1
  56. package/dist/esm/kol-button-wc_2.entry.js +1 -1
  57. package/dist/esm/kol-button-wc_2.entry.js.map +1 -1
  58. package/dist/esm/kol-button.entry.js +1 -1
  59. package/dist/esm/kol-icon.entry.js.map +1 -1
  60. package/dist/esm/kol-input-checkbox.entry.js +1 -1
  61. package/dist/esm/kol-input-color.entry.js +1 -1
  62. package/dist/esm/kol-input-date.entry.js +1 -1
  63. package/dist/esm/kol-input-email.entry.js +1 -1
  64. package/dist/esm/kol-input-file.entry.js +1 -1
  65. package/dist/esm/kol-input-number.entry.js +1 -1
  66. package/dist/esm/kol-input-password.entry.js +1 -1
  67. package/dist/esm/kol-input-radio.entry.js +1 -1
  68. package/dist/esm/kol-input-range.entry.js +1 -1
  69. package/dist/esm/kol-input-text.entry.js +1 -1
  70. package/dist/esm/kol-link-button.entry.js +1 -1
  71. package/dist/esm/kol-link-wc.entry.js +1 -1
  72. package/dist/esm/kol-link.entry.js +1 -1
  73. package/dist/esm/kol-pagination.entry.js +1 -1
  74. package/dist/esm/kol-select.entry.js +1 -1
  75. package/dist/esm/kol-textarea.entry.js +1 -1
  76. package/dist/esm/kol-tooltip.entry.js +1 -1
  77. package/dist/esm/kol-tooltip.entry.js.map +1 -1
  78. package/dist/esm/{label-6c8f8ebb.js → label-a6e1b813.js} +1 -1
  79. package/dist/esm/{label-6c8f8ebb.js.map → label-a6e1b813.js.map} +1 -1
  80. package/dist/esm/reuse-2f7da8fc.js +4 -0
  81. package/dist/esm/reuse-2f7da8fc.js.map +1 -0
  82. package/dist/esm/{tab-index-4314d33e.js → tab-index-2f165a2f.js} +1 -1
  83. package/dist/esm/{tab-index-4314d33e.js.map → tab-index-2f165a2f.js.map} +1 -1
  84. package/dist/esm/validator-2e4f8df6.js +4 -0
  85. package/dist/esm/validator-2e4f8df6.js.map +1 -0
  86. package/dist/kolibri/assets/fontawesome-free/{v6/LICENSE.txt → LICENSE.txt} +0 -0
  87. package/dist/kolibri/assets/fontawesome-free/{v6/css → css}/all.css +2597 -5174
  88. package/dist/kolibri/assets/fontawesome-free/{v6/css → css}/all.min.css +0 -0
  89. package/dist/kolibri/assets/fontawesome-free/{v6/css → css}/brands.css +0 -0
  90. package/dist/kolibri/assets/fontawesome-free/{v6/css → css}/brands.min.css +0 -0
  91. package/dist/kolibri/assets/fontawesome-free/{v6/css → css}/fontawesome.css +0 -0
  92. package/dist/kolibri/assets/fontawesome-free/{v6/css → css}/fontawesome.min.css +0 -0
  93. package/dist/kolibri/assets/fontawesome-free/{v6/css → css}/regular.css +0 -0
  94. package/dist/kolibri/assets/fontawesome-free/{v6/css → css}/regular.min.css +0 -0
  95. package/dist/kolibri/assets/fontawesome-free/{v6/css → css}/solid.css +0 -0
  96. package/dist/kolibri/assets/fontawesome-free/{v6/css → css}/solid.min.css +0 -0
  97. package/dist/kolibri/assets/fontawesome-free/{v6/css → css}/svg-with-js.css +0 -0
  98. package/dist/kolibri/assets/fontawesome-free/{v6/css → css}/svg-with-js.min.css +0 -0
  99. package/dist/kolibri/assets/fontawesome-free/{v6/css → css}/v4-font-face.css +0 -0
  100. package/dist/kolibri/assets/fontawesome-free/{v6/css → css}/v4-font-face.min.css +0 -0
  101. package/dist/kolibri/assets/fontawesome-free/{v6/css → css}/v4-shims.css +0 -0
  102. package/dist/kolibri/assets/fontawesome-free/{v6/css → css}/v4-shims.min.css +0 -0
  103. package/dist/kolibri/assets/fontawesome-free/{v6/css → css}/v5-font-face.css +0 -0
  104. package/dist/kolibri/assets/fontawesome-free/{v6/css → css}/v5-font-face.min.css +0 -0
  105. package/dist/kolibri/assets/fontawesome-free/{v6/webfonts → webfonts}/fa-brands-400.ttf +0 -0
  106. package/dist/kolibri/assets/fontawesome-free/{v6/webfonts → webfonts}/fa-brands-400.woff2 +0 -0
  107. package/dist/kolibri/assets/fontawesome-free/{v6/webfonts → webfonts}/fa-regular-400.ttf +0 -0
  108. package/dist/kolibri/assets/fontawesome-free/{v6/webfonts → webfonts}/fa-regular-400.woff2 +0 -0
  109. package/dist/kolibri/assets/fontawesome-free/{v6/webfonts → webfonts}/fa-solid-900.ttf +0 -0
  110. package/dist/kolibri/assets/fontawesome-free/{v6/webfonts → webfonts}/fa-solid-900.woff2 +0 -0
  111. package/dist/kolibri/assets/fontawesome-free/{v6/webfonts → webfonts}/fa-v4compatibility.ttf +0 -0
  112. package/dist/kolibri/assets/fontawesome-free/{v6/webfonts → webfonts}/fa-v4compatibility.woff2 +0 -0
  113. package/dist/kolibri/assets/kreon/Kreon-VariableFont_wght.ttf +0 -0
  114. package/dist/kolibri/assets/kreon/OFL.txt +93 -0
  115. package/dist/kolibri/assets/kreon/README.txt +67 -0
  116. package/dist/kolibri/assets/kreon/static/Kreon-Bold.ttf +0 -0
  117. package/dist/kolibri/assets/kreon/static/Kreon-Light.ttf +0 -0
  118. package/dist/kolibri/assets/kreon/static/Kreon-Medium.ttf +0 -0
  119. package/dist/kolibri/assets/kreon/static/Kreon-Regular.ttf +0 -0
  120. package/dist/kolibri/assets/kreon/static/Kreon-SemiBold.ttf +0 -0
  121. package/dist/kolibri/assets/kreon/style.css +41 -0
  122. package/dist/kolibri/{controller-8e33192f.js → controller-1362fa2f.js} +1 -1
  123. package/dist/kolibri/{controller-8e33192f.js.map → controller-1362fa2f.js.map} +0 -0
  124. package/dist/kolibri/{controller-46b28944.js → controller-c34d5da2.js} +1 -1
  125. package/dist/kolibri/{controller-46b28944.js.map → controller-c34d5da2.js.map} +0 -0
  126. package/dist/kolibri/controller-ce5dfb44.js +4 -0
  127. package/dist/kolibri/{controller-9bcf44e5.js.map → controller-ce5dfb44.js.map} +1 -1
  128. package/dist/kolibri/{controller-1753b7f0.js → controller-f0f7cbc7.js} +1 -1
  129. package/dist/kolibri/{controller-1753b7f0.js.map → controller-f0f7cbc7.js.map} +0 -0
  130. package/dist/kolibri/kol-button-link.entry.js +1 -1
  131. package/dist/kolibri/kol-button-wc_2.entry.js +1 -1
  132. package/dist/kolibri/kol-button-wc_2.entry.js.map +1 -1
  133. package/dist/kolibri/kol-button.entry.js +1 -1
  134. package/dist/kolibri/kol-icon.entry.js.map +1 -1
  135. package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
  136. package/dist/kolibri/kol-input-color.entry.js +1 -1
  137. package/dist/kolibri/kol-input-date.entry.js +1 -1
  138. package/dist/kolibri/kol-input-email.entry.js +1 -1
  139. package/dist/kolibri/kol-input-file.entry.js +1 -1
  140. package/dist/kolibri/kol-input-number.entry.js +1 -1
  141. package/dist/kolibri/kol-input-password.entry.js +1 -1
  142. package/dist/kolibri/kol-input-radio.entry.js +1 -1
  143. package/dist/kolibri/kol-input-range.entry.js +1 -1
  144. package/dist/kolibri/kol-input-text.entry.js +1 -1
  145. package/dist/kolibri/kol-link-button.entry.js +1 -1
  146. package/dist/kolibri/kol-link-wc.entry.js +1 -1
  147. package/dist/kolibri/kol-link-wc.entry.js.map +1 -1
  148. package/dist/kolibri/kol-link.entry.js +1 -1
  149. package/dist/kolibri/kol-pagination.entry.js +1 -1
  150. package/dist/kolibri/kol-select.entry.js +1 -1
  151. package/dist/kolibri/kol-textarea.entry.js +1 -1
  152. package/dist/kolibri/kol-tooltip.entry.js +1 -1
  153. package/dist/kolibri/kol-tooltip.entry.js.map +1 -1
  154. package/dist/kolibri/{label-6c8f8ebb.js → label-a6e1b813.js} +1 -1
  155. package/dist/kolibri/{label-6c8f8ebb.js.map → label-a6e1b813.js.map} +0 -0
  156. package/dist/kolibri/reuse-2f7da8fc.js +4 -0
  157. package/dist/kolibri/reuse-2f7da8fc.js.map +1 -0
  158. package/dist/kolibri/{tab-index-4314d33e.js → tab-index-2f165a2f.js} +1 -1
  159. package/dist/kolibri/{tab-index-4314d33e.js.map → tab-index-2f165a2f.js.map} +0 -0
  160. package/dist/kolibri/{validator-8ee8737c.js → validator-2e4f8df6.js} +1 -1
  161. package/dist/kolibri/validator-2e4f8df6.js.map +1 -0
  162. package/dist/types/components/tooltip/component.d.ts +12 -5
  163. package/dist/types/components.d.ts +2 -2
  164. package/doc/tooltip.md +1 -1
  165. package/jest-test-results.json +1 -1
  166. package/package.json +1 -1
  167. package/dist/cjs/reuse-d95dc094.js +0 -4
  168. package/dist/cjs/reuse-d95dc094.js.map +0 -1
  169. package/dist/cjs/validator-6f53d4a2.js +0 -4
  170. package/dist/cjs/validator-6f53d4a2.js.map +0 -1
  171. package/dist/esm/reuse-f9be4952.js +0 -4
  172. package/dist/esm/reuse-f9be4952.js.map +0 -1
  173. package/dist/esm/validator-8ee8737c.js +0 -4
  174. package/dist/esm/validator-8ee8737c.js.map +0 -1
  175. package/dist/kolibri/assets/fontawesome-free/v5/LICENSE.txt +0 -34
  176. package/dist/kolibri/assets/fontawesome-free/v5/css/all.css +0 -4616
  177. package/dist/kolibri/assets/fontawesome-free/v5/css/all.min.css +0 -5
  178. package/dist/kolibri/assets/fontawesome-free/v5/css/brands.css +0 -15
  179. package/dist/kolibri/assets/fontawesome-free/v5/css/brands.min.css +0 -5
  180. package/dist/kolibri/assets/fontawesome-free/v5/css/fontawesome.css +0 -4582
  181. package/dist/kolibri/assets/fontawesome-free/v5/css/fontawesome.min.css +0 -5
  182. package/dist/kolibri/assets/fontawesome-free/v5/css/regular.css +0 -15
  183. package/dist/kolibri/assets/fontawesome-free/v5/css/regular.min.css +0 -5
  184. package/dist/kolibri/assets/fontawesome-free/v5/css/solid.css +0 -16
  185. package/dist/kolibri/assets/fontawesome-free/v5/css/solid.min.css +0 -5
  186. package/dist/kolibri/assets/fontawesome-free/v5/css/svg-with-js.css +0 -371
  187. package/dist/kolibri/assets/fontawesome-free/v5/css/svg-with-js.min.css +0 -5
  188. package/dist/kolibri/assets/fontawesome-free/v5/css/v4-shims.css +0 -2172
  189. package/dist/kolibri/assets/fontawesome-free/v5/css/v4-shims.min.css +0 -5
  190. package/dist/kolibri/assets/fontawesome-free/v5/webfonts/fa-brands-400.eot +0 -0
  191. package/dist/kolibri/assets/fontawesome-free/v5/webfonts/fa-brands-400.svg +0 -3717
  192. package/dist/kolibri/assets/fontawesome-free/v5/webfonts/fa-brands-400.ttf +0 -0
  193. package/dist/kolibri/assets/fontawesome-free/v5/webfonts/fa-brands-400.woff +0 -0
  194. package/dist/kolibri/assets/fontawesome-free/v5/webfonts/fa-brands-400.woff2 +0 -0
  195. package/dist/kolibri/assets/fontawesome-free/v5/webfonts/fa-regular-400.eot +0 -0
  196. package/dist/kolibri/assets/fontawesome-free/v5/webfonts/fa-regular-400.svg +0 -801
  197. package/dist/kolibri/assets/fontawesome-free/v5/webfonts/fa-regular-400.ttf +0 -0
  198. package/dist/kolibri/assets/fontawesome-free/v5/webfonts/fa-regular-400.woff +0 -0
  199. package/dist/kolibri/assets/fontawesome-free/v5/webfonts/fa-regular-400.woff2 +0 -0
  200. package/dist/kolibri/assets/fontawesome-free/v5/webfonts/fa-solid-900.eot +0 -0
  201. package/dist/kolibri/assets/fontawesome-free/v5/webfonts/fa-solid-900.svg +0 -5034
  202. package/dist/kolibri/assets/fontawesome-free/v5/webfonts/fa-solid-900.ttf +0 -0
  203. package/dist/kolibri/assets/fontawesome-free/v5/webfonts/fa-solid-900.woff +0 -0
  204. package/dist/kolibri/assets/fontawesome-free/v5/webfonts/fa-solid-900.woff2 +0 -0
  205. package/dist/kolibri/controller-9bcf44e5.js +0 -4
  206. package/dist/kolibri/reuse-f9be4952.js +0 -4
  207. package/dist/kolibri/reuse-f9be4952.js.map +0 -1
  208. package/dist/kolibri/validator-8ee8737c.js.map +0 -1
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{b as deprecatedHint,e as a11yHint}from"./a11y.tipps-ff5a1a99.js";import{o as objectObjectHandler,p as parseJson,a as watchValidator,d as watchNumber}from"./prop.validators-ceeab1fe.js";import{a as isString,b as isStyle,i as isObject}from"./validator-8ee8737c.js";const mapCustomIcon=(t,o,e)=>{isObject(e)?t[o]=e:isString(e,1)&&(t[o]={icon:e})},mapIconProp2State=(t,o)=>{let e={};if(isString(t,1))if("right"===o)e={right:{icon:t}};else e={left:{icon:t}};else"object"==typeof t&&null!==t&&(mapCustomIcon(e,"top",t.top),mapCustomIcon(e,"right",t.right),mapCustomIcon(e,"bottom",t.bottom),mapCustomIcon(e,"left",t.left));return e},beforePatchIcon=t=>{var o,e,i,n,a,c,s;if(null===(o=t.nextState)||void 0===o?void 0:o.has("_icon")){const o=null===(e=t.nextState)||void 0===e?void 0:e.get("_icon"),a=(null===(i=t.nextState)||void 0===i?void 0:i.get("_iconAlign"))||t.state._iconAlign;null===(n=t.nextState)||void 0===n||n.set("_icon",mapIconProp2State(o,a))}else if(null===(a=t.nextState)||void 0===a?void 0:a.has("_iconAlign")){const o=t.state._iconAlign;null===(c=t.nextState)||void 0===c||c.set("_icon",{[o]:void 0,[null===(s=t.nextState)||void 0===s?void 0:s.get("_iconAlign")]:t.state._icon[o]})}},isIcon=t=>"object"==typeof t&&null!==t&&(void 0===t.style||isStyle(t.style))&&isString(t.icon,1),validateIcon=(t,o)=>{objectObjectHandler(o,(()=>{try{o=parseJson(o)}catch(t){}watchValidator(t,"_icon",(t=>null===t||isString(t,1)||"object"==typeof t&&null!==t&&(isString(t.left,1)||isIcon(t.left)||isString(t.right,1)||isIcon(t.right)||isString(t.top,1)||isIcon(t.top)||isString(t.bottom,1)||isIcon(t.bottom))),new Set(["KoliBriIcon"]),o,{hooks:{beforePatch:(o,e)=>{null===o&&e.set("_icon",{}),beforePatchIcon(t)}},required:!0})}))},watchIconAlign=(t,o)=>{deprecatedHint("Das Property _icon-align bzw. _iconAlign ist veraltet. Die Ausrichtung der Icon's kann jetzt direkt über das _icon-Property vorgenommen werden. (v1.1.10: https://public-ui.github.io/?path=/story/backlog-und-changelog--page)"),watchValidator(t,"_iconAlign",(t=>"left"===t||"right"===t),new Set(["Alignment {left, right, top, bottom}"]),o,{hooks:{beforePatch:()=>{beforePatchIcon(t)}}})},options={hooks:{afterPatch:t=>{-1!==t&&0!==t&&a11yHint("Don’t Use Tabindex Greater than 0: https://adrianroselli.com/2014/11/dont-use-tabindex-greater-than-0.html")}}},validateTabIndex=(t,o)=>{watchNumber(t,"_tabIndex",o,options)};export{validateIcon as a,isIcon as i,validateTabIndex as v,watchIconAlign as w};
4
+ import{b as deprecatedHint,e as a11yHint}from"./a11y.tipps-ff5a1a99.js";import{o as objectObjectHandler,p as parseJson,a as watchValidator,d as watchNumber}from"./prop.validators-ceeab1fe.js";import{a as isString,b as isStyle,i as isObject}from"./validator-2e4f8df6.js";const mapCustomIcon=(t,o,e)=>{isObject(e)?t[o]=e:isString(e,1)&&(t[o]={icon:e})},mapIconProp2State=(t,o)=>{let e={};if(isString(t,1))if("right"===o)e={right:{icon:t}};else e={left:{icon:t}};else"object"==typeof t&&null!==t&&(mapCustomIcon(e,"top",t.top),mapCustomIcon(e,"right",t.right),mapCustomIcon(e,"bottom",t.bottom),mapCustomIcon(e,"left",t.left));return e},beforePatchIcon=t=>{var o,e,i,n,a,s,c;if(null===(o=t.nextState)||void 0===o?void 0:o.has("_icon")){const o=null===(e=t.nextState)||void 0===e?void 0:e.get("_icon"),a=(null===(i=t.nextState)||void 0===i?void 0:i.get("_iconAlign"))||t.state._iconAlign;null===(n=t.nextState)||void 0===n||n.set("_icon",mapIconProp2State(o,a))}else if(null===(a=t.nextState)||void 0===a?void 0:a.has("_iconAlign")){const o=t.state._iconAlign;null===(s=t.nextState)||void 0===s||s.set("_icon",{[o]:void 0,[null===(c=t.nextState)||void 0===c?void 0:c.get("_iconAlign")]:t.state._icon[o]})}},isIcon=t=>"object"==typeof t&&null!==t&&(void 0===t.style||isStyle(t.style))&&isString(t.icon,1),validateIcon=(t,o)=>{objectObjectHandler(o,(()=>{try{o=parseJson(o)}catch(t){}watchValidator(t,"_icon",(t=>null===t||isString(t,1)||"object"==typeof t&&null!==t&&(isString(t.left,1)||isIcon(t.left)||isString(t.right,1)||isIcon(t.right)||isString(t.top,1)||isIcon(t.top)||isString(t.bottom,1)||isIcon(t.bottom))),new Set(["KoliBriIcon"]),o,{hooks:{beforePatch:(o,e)=>{null===o&&e.set("_icon",{}),beforePatchIcon(t)}},required:!0})}))},watchIconAlign=(t,o)=>{deprecatedHint("Das Property _icon-align bzw. _iconAlign ist veraltet. Die Ausrichtung der Icon's kann jetzt direkt über das _icon-Property vorgenommen werden. (v1.1.10: https://public-ui.github.io/?path=/story/backlog-und-changelog--page)"),watchValidator(t,"_iconAlign",(t=>"left"===t||"right"===t),new Set(["Alignment {left, right, top, bottom}"]),o,{hooks:{beforePatch:()=>{beforePatchIcon(t)}}})},options={hooks:{afterPatch:t=>{-1!==t&&0!==t&&a11yHint("Don’t Use Tabindex Greater than 0: https://adrianroselli.com/2014/11/dont-use-tabindex-greater-than-0.html")}}},validateTabIndex=(t,o)=>{watchNumber(t,"_tabIndex",o,options)};export{validateIcon as a,isIcon as i,validateTabIndex as v,watchIconAlign as w};
@@ -1 +1 @@
1
- {"file":"tab-index-4314d33e.js","mappings":"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","names":[],"sources":["./src/utils/validators/icon.ts","./src/utils/validators/tab-index.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\nimport { ButtonStates } from '../../types/button-link';\nimport { AnyIconFontClass, KoliBriAllIcon, KoliBriCustomIcon, KoliBriIconProp, KoliBriIconState } from '../../types/icon';\nimport { Alignment } from '../../types/props/alignment';\nimport { deprecatedHint } from '../a11y.tipps';\nimport { objectObjectHandler, parseJson, watchValidator } from '../prop.validators';\nimport { isObject, isString, isStyle } from '../validator';\n\nconst mapCustomIcon = (state: KoliBriIconState, alignment: Alignment | 'top' | 'bottom', icon?: AnyIconFontClass | KoliBriCustomIcon) => {\n\tif (isObject(icon)) {\n\t\tstate[alignment] = icon as KoliBriCustomIcon;\n\t} else if (isString(icon, 1)) {\n\t\tstate[alignment] = {\n\t\t\ticon: icon as AnyIconFontClass,\n\t\t};\n\t}\n};\n\nexport const mapIconProp2State = (icon: KoliBriIconProp, iconAlign?: Alignment): KoliBriIconState => {\n\tlet state: KoliBriIconState = {};\n\tif (isString(icon, 1)) {\n\t\tswitch (iconAlign) {\n\t\t\tcase 'right':\n\t\t\t\tstate = {\n\t\t\t\t\tright: {\n\t\t\t\t\t\ticon: icon as AnyIconFontClass,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tstate = {\n\t\t\t\t\tleft: {\n\t\t\t\t\t\ticon: icon as AnyIconFontClass,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t}\n\t} else if (typeof icon === 'object' && icon !== null) {\n\t\tmapCustomIcon(state, 'top', icon.top);\n\t\tmapCustomIcon(state, 'right', icon.right);\n\t\tmapCustomIcon(state, 'bottom', icon.bottom);\n\t\tmapCustomIcon(state, 'left', icon.left);\n\t}\n\treturn state;\n};\n\nconst beforePatchIcon = (component: Generic.Element.Component): void => {\n\tif (component.nextState?.has('_icon')) {\n\t\tconst icon = component.nextState?.get('_icon') as KoliBriIconProp;\n\t\tconst iconAlign = (component.nextState?.get('_iconAlign') as Alignment) || (component.state as ButtonStates)._iconAlign;\n\t\tcomponent.nextState?.set('_icon', mapIconProp2State(icon, iconAlign));\n\t} else if (component.nextState?.has('_iconAlign')) {\n\t\tconst lastIconAlign = (component.state as ButtonStates)._iconAlign;\n\t\tcomponent.nextState?.set('_icon', {\n\t\t\t[lastIconAlign]: undefined,\n\t\t\t[component.nextState?.get('_iconAlign') as Alignment]: (component.state as ButtonStates)._icon[lastIconAlign],\n\t\t});\n\t}\n};\n\nexport const isIcon = (value?: unknown): boolean =>\n\ttypeof value === 'object' &&\n\tvalue !== null &&\n\t(typeof (value as KoliBriCustomIcon).style === 'undefined' || isStyle((value as KoliBriCustomIcon).style)) &&\n\tisString((value as KoliBriCustomIcon).icon, 1);\n\nexport const validateIcon = (component: Generic.Element.Component, value?: KoliBriIconProp): void => {\n\tobjectObjectHandler(value, () => {\n\t\ttry {\n\t\t\tvalue = parseJson<KoliBriIconProp>(value as string);\n\t\t} catch (e) {\n\t\t\t// value behält den ursprünglichen Wert\n\t\t}\n\t\twatchValidator(\n\t\t\tcomponent,\n\t\t\t'_icon',\n\t\t\t(value): boolean => {\n\t\t\t\treturn (\n\t\t\t\t\tvalue === null ||\n\t\t\t\t\tisString(value, 1) ||\n\t\t\t\t\t(typeof value === 'object' &&\n\t\t\t\t\t\tvalue !== null &&\n\t\t\t\t\t\t(isString((value as KoliBriAllIcon).left, 1) ||\n\t\t\t\t\t\t\tisIcon((value as KoliBriAllIcon).left) ||\n\t\t\t\t\t\t\tisString((value as KoliBriAllIcon).right, 1) ||\n\t\t\t\t\t\t\tisIcon((value as KoliBriAllIcon).right) ||\n\t\t\t\t\t\t\tisString((value as KoliBriAllIcon).top, 1) ||\n\t\t\t\t\t\t\tisIcon((value as KoliBriAllIcon).top) ||\n\t\t\t\t\t\t\tisString((value as KoliBriAllIcon).bottom, 1) ||\n\t\t\t\t\t\t\tisIcon((value as KoliBriAllIcon).bottom)))\n\t\t\t\t);\n\t\t\t},\n\t\t\tnew Set(['KoliBriIcon']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\thooks: {\n\t\t\t\t\tbeforePatch: (nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\t\t\t\t\tif (nextValue === null) {\n\t\t\t\t\t\t\tnextState.set('_icon', {});\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbeforePatchIcon(component);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trequired: true,\n\t\t\t}\n\t\t);\n\t});\n};\n\nexport const watchIconAlign = (component: Generic.Element.Component, value?: Alignment): void => {\n\tdeprecatedHint(\n\t\t`Das Property _icon-align bzw. _iconAlign ist veraltet. Die Ausrichtung der Icon's kann jetzt direkt über das _icon-Property vorgenommen werden. (v1.1.10: https://public-ui.github.io/?path=/story/backlog-und-changelog--page)`\n\t);\n\twatchValidator(component, '_iconAlign', (value) => value === 'left' || value === 'right', new Set(['Alignment {left, right, top, bottom}']), value, {\n\t\thooks: {\n\t\t\tbeforePatch: () => {\n\t\t\t\tbeforePatchIcon(component);\n\t\t\t},\n\t\t},\n\t});\n};\n","import { Generic } from '@a11y-ui/core';\nimport { a11yHint } from '../a11y.tipps';\nimport { watchNumber, WatchNumberOptions } from '../prop.validators';\n\n/**\n * Accessibility hints\n * - https://adrianroselli.com/2014/11/dont-use-tabindex-greater-than-0.html\n */\n\nconst options: WatchNumberOptions = {\n\thooks: {\n\t\tafterPatch: (value) => {\n\t\t\tif (value !== -1 && value !== 0) {\n\t\t\t\ta11yHint(`Don’t Use Tabindex Greater than 0: https://adrianroselli.com/2014/11/dont-use-tabindex-greater-than-0.html`);\n\t\t\t}\n\t\t},\n\t},\n};\n\n/**\n * Diese Methode validiert das Property und setzt den State, wenn es valide ist.\n */\nexport const validateTabIndex = (component: Generic.Element.Component, value?: number): void => {\n\twatchNumber(component, '_tabIndex', value, options);\n};\n"],"version":3}
1
+ {"file":"tab-index-2f165a2f.js","mappings":"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","names":[],"sources":["./src/utils/validators/icon.ts","./src/utils/validators/tab-index.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\nimport { ButtonStates } from '../../types/button-link';\nimport { AnyIconFontClass, KoliBriAllIcon, KoliBriCustomIcon, KoliBriIconProp, KoliBriIconState } from '../../types/icon';\nimport { Alignment } from '../../types/props/alignment';\nimport { deprecatedHint } from '../a11y.tipps';\nimport { objectObjectHandler, parseJson, watchValidator } from '../prop.validators';\nimport { isObject, isString, isStyle } from '../validator';\n\nconst mapCustomIcon = (state: KoliBriIconState, alignment: Alignment | 'top' | 'bottom', icon?: AnyIconFontClass | KoliBriCustomIcon) => {\n\tif (isObject(icon)) {\n\t\tstate[alignment] = icon as KoliBriCustomIcon;\n\t} else if (isString(icon, 1)) {\n\t\tstate[alignment] = {\n\t\t\ticon: icon as AnyIconFontClass,\n\t\t};\n\t}\n};\n\nexport const mapIconProp2State = (icon: KoliBriIconProp, iconAlign?: Alignment): KoliBriIconState => {\n\tlet state: KoliBriIconState = {};\n\tif (isString(icon, 1)) {\n\t\tswitch (iconAlign) {\n\t\t\tcase 'right':\n\t\t\t\tstate = {\n\t\t\t\t\tright: {\n\t\t\t\t\t\ticon: icon as AnyIconFontClass,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tstate = {\n\t\t\t\t\tleft: {\n\t\t\t\t\t\ticon: icon as AnyIconFontClass,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t}\n\t} else if (typeof icon === 'object' && icon !== null) {\n\t\tmapCustomIcon(state, 'top', icon.top);\n\t\tmapCustomIcon(state, 'right', icon.right);\n\t\tmapCustomIcon(state, 'bottom', icon.bottom);\n\t\tmapCustomIcon(state, 'left', icon.left);\n\t}\n\treturn state;\n};\n\nconst beforePatchIcon = (component: Generic.Element.Component): void => {\n\tif (component.nextState?.has('_icon')) {\n\t\tconst icon = component.nextState?.get('_icon') as KoliBriIconProp;\n\t\tconst iconAlign = (component.nextState?.get('_iconAlign') as Alignment) || (component.state as ButtonStates)._iconAlign;\n\t\tcomponent.nextState?.set('_icon', mapIconProp2State(icon, iconAlign));\n\t} else if (component.nextState?.has('_iconAlign')) {\n\t\tconst lastIconAlign = (component.state as ButtonStates)._iconAlign;\n\t\tcomponent.nextState?.set('_icon', {\n\t\t\t[lastIconAlign]: undefined,\n\t\t\t[component.nextState?.get('_iconAlign') as Alignment]: (component.state as ButtonStates)._icon[lastIconAlign],\n\t\t});\n\t}\n};\n\nexport const isIcon = (value?: unknown): boolean =>\n\ttypeof value === 'object' &&\n\tvalue !== null &&\n\t(typeof (value as KoliBriCustomIcon).style === 'undefined' || isStyle((value as KoliBriCustomIcon).style)) &&\n\tisString((value as KoliBriCustomIcon).icon, 1);\n\nexport const validateIcon = (component: Generic.Element.Component, value?: KoliBriIconProp): void => {\n\tobjectObjectHandler(value, () => {\n\t\ttry {\n\t\t\tvalue = parseJson<KoliBriIconProp>(value as string);\n\t\t} catch (e) {\n\t\t\t// value behält den ursprünglichen Wert\n\t\t}\n\t\twatchValidator(\n\t\t\tcomponent,\n\t\t\t'_icon',\n\t\t\t(value): boolean => {\n\t\t\t\treturn (\n\t\t\t\t\tvalue === null ||\n\t\t\t\t\tisString(value, 1) ||\n\t\t\t\t\t(typeof value === 'object' &&\n\t\t\t\t\t\tvalue !== null &&\n\t\t\t\t\t\t(isString((value as KoliBriAllIcon).left, 1) ||\n\t\t\t\t\t\t\tisIcon((value as KoliBriAllIcon).left) ||\n\t\t\t\t\t\t\tisString((value as KoliBriAllIcon).right, 1) ||\n\t\t\t\t\t\t\tisIcon((value as KoliBriAllIcon).right) ||\n\t\t\t\t\t\t\tisString((value as KoliBriAllIcon).top, 1) ||\n\t\t\t\t\t\t\tisIcon((value as KoliBriAllIcon).top) ||\n\t\t\t\t\t\t\tisString((value as KoliBriAllIcon).bottom, 1) ||\n\t\t\t\t\t\t\tisIcon((value as KoliBriAllIcon).bottom)))\n\t\t\t\t);\n\t\t\t},\n\t\t\tnew Set(['KoliBriIcon']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\thooks: {\n\t\t\t\t\tbeforePatch: (nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\t\t\t\t\tif (nextValue === null) {\n\t\t\t\t\t\t\tnextState.set('_icon', {});\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbeforePatchIcon(component);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trequired: true,\n\t\t\t}\n\t\t);\n\t});\n};\n\nexport const watchIconAlign = (component: Generic.Element.Component, value?: Alignment): void => {\n\tdeprecatedHint(\n\t\t`Das Property _icon-align bzw. _iconAlign ist veraltet. Die Ausrichtung der Icon's kann jetzt direkt über das _icon-Property vorgenommen werden. (v1.1.10: https://public-ui.github.io/?path=/story/backlog-und-changelog--page)`\n\t);\n\twatchValidator(component, '_iconAlign', (value) => value === 'left' || value === 'right', new Set(['Alignment {left, right, top, bottom}']), value, {\n\t\thooks: {\n\t\t\tbeforePatch: () => {\n\t\t\t\tbeforePatchIcon(component);\n\t\t\t},\n\t\t},\n\t});\n};\n","import { Generic } from '@a11y-ui/core';\nimport { a11yHint } from '../a11y.tipps';\nimport { watchNumber, WatchNumberOptions } from '../prop.validators';\n\n/**\n * Accessibility hints\n * - https://adrianroselli.com/2014/11/dont-use-tabindex-greater-than-0.html\n */\n\nconst options: WatchNumberOptions = {\n\thooks: {\n\t\tafterPatch: (value) => {\n\t\t\tif (value !== -1 && value !== 0) {\n\t\t\t\ta11yHint(`Don’t Use Tabindex Greater than 0: https://adrianroselli.com/2014/11/dont-use-tabindex-greater-than-0.html`);\n\t\t\t}\n\t\t},\n\t},\n};\n\n/**\n * Diese Methode validiert das Property und setzt den State, wenn es valide ist.\n */\nexport const validateTabIndex = (component: Generic.Element.Component, value?: number): void => {\n\twatchNumber(component, '_tabIndex', value, options);\n};\n"],"version":3}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ const isObject=t=>"object"==typeof t&&null!==t,isString=(t,e=0)=>"string"==typeof t&&t.length>=e,isStyle=t=>{if("object"!=typeof t||null===t)return isString(t,1);for(const e in t)if(!1===isString(e,1))return!1;return!0},isPrefixOf=(t,e)=>new RegExp(`^${t}`).test(e),isEmptyOrPrefixOf=(t,e)=>0===e.length||isPrefixOf(t,e),STATE_CHANGE_EVENT=new Event("StateChange");export{STATE_CHANGE_EVENT as S,isString as a,isStyle as b,isEmptyOrPrefixOf as c,isObject as i};
@@ -0,0 +1 @@
1
+ {"file":"validator-2e4f8df6.js","mappings":";;;MAAa,QAAQ,GAAG,CAAC,KAAc,KAAc,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,KAAK;MAEpF,QAAQ,GAAG,CAAC,KAAc,EAAE,SAAS,GAAG,CAAC,KAAc,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,IAAI,UAAU;MAE9G,OAAO,GAAG,CAAC,KAA8B;EACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;IAChD,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE;MAC7B,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,KAAK,EAAE;QACpC,OAAO,KAAK,CAAC;OACb;KACD;GACD;OAAM;IACN,OAAO,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;GAC1B;EACD,OAAO,IAAI,CAAC;AACb,EAAE;AAKF,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,IAAY,KAAK,IAAI,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;MAK5E,iBAAiB,GAAG,CAAC,MAAc,EAAE,IAAY,KAAK,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE;MAKpG,kBAAkB,GAAG,IAAI,KAAK,CAAC,aAAa;;;;","names":[],"sources":["./src/utils/validator.ts"],"sourcesContent":["export const isObject = (value: unknown): boolean => typeof value === 'object' && value !== null;\n\nexport const isString = (value: unknown, minLength = 0): boolean => typeof value === 'string' && value.length >= minLength;\n\nexport const isStyle = (style?: Record<string, string>): boolean => {\n\tif (typeof style === 'object' && style !== null) {\n\t\tfor (const property in style) {\n\t\t\tif (isString(property, 1) === false) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t} else {\n\t\treturn isString(style, 1);\n\t}\n\treturn true;\n};\n\n/**\n * Validate, if a text contains a prefix.\n */\nconst isPrefixOf = (prefix: string, text: string) => new RegExp(`^${prefix}`).test(text);\n\n/**\n * Validate, if a text is empty or contains a prefix.\n */\nexport const isEmptyOrPrefixOf = (prefix: string, text: string) => text.length === 0 || isPrefixOf(prefix, text);\n\n/**\n * Fix event instance for state changes.\n */\nexport const STATE_CHANGE_EVENT = new Event('StateChange');\n"],"version":3}