├── .nvmrc ├── packages ├── core │ ├── src │ │ ├── app │ │ │ ├── scss │ │ │ │ ├── _inputtext.scss │ │ │ │ ├── app.scss │ │ │ │ ├── _footer.scss │ │ │ │ └── _ripple.scss │ │ │ ├── views │ │ │ │ ├── InputSwitch │ │ │ │ │ ├── InputSwitch.html │ │ │ │ │ └── InputSwitch.js │ │ │ │ ├── Checkbox │ │ │ │ │ └── Checkbox.html │ │ │ │ ├── InputNumber │ │ │ │ │ └── InputNumber.html │ │ │ │ ├── Dropdown │ │ │ │ │ └── Dropdown.html │ │ │ │ ├── Listbox │ │ │ │ │ └── Listbox.html │ │ │ │ ├── InputText │ │ │ │ │ ├── InputText.html │ │ │ │ │ └── InputText.js │ │ │ │ ├── InputTextarea │ │ │ │ │ ├── InputTextarea.html │ │ │ │ │ └── InputTextarea.js │ │ │ │ ├── AbstractView.js │ │ │ │ ├── GetStarted │ │ │ │ │ └── GetStarted.js │ │ │ │ ├── Badge │ │ │ │ │ └── Badge.js │ │ │ │ ├── RadioButton │ │ │ │ │ └── RadioButton.js │ │ │ │ └── RippleEffect │ │ │ │ │ ├── RippleEffect.js │ │ │ │ │ └── RippleEffect.html │ │ │ └── services │ │ │ │ ├── CacheService.js │ │ │ │ └── CacheService.ts │ │ ├── models │ │ │ ├── any-dropdown.js │ │ │ └── any-dropdown.ts │ │ ├── themes │ │ │ ├── anywhere.functions.scss │ │ │ ├── anywhere.mixins.scss │ │ │ └── anywhere.skip.warns.scss │ │ ├── index.js │ │ ├── components │ │ │ ├── tab-panel │ │ │ │ ├── tab-panel.scss │ │ │ │ ├── test │ │ │ │ │ ├── tab-panel.e2e.ts │ │ │ │ │ └── tab-panel.spec.tsx │ │ │ │ ├── readme.md │ │ │ │ └── tab-panel.tsx │ │ │ ├── radio-group │ │ │ │ ├── radio-group.scss │ │ │ │ ├── radio-group-inteface.ts │ │ │ │ └── test │ │ │ │ │ ├── radio-group.e2e.ts │ │ │ │ │ └── radio-group.spec.tsx │ │ │ ├── app-showcase │ │ │ │ ├── pages │ │ │ │ │ ├── checkbox │ │ │ │ │ │ ├── checkbox-group │ │ │ │ │ │ │ ├── checkbox-group.scss │ │ │ │ │ │ │ └── test │ │ │ │ │ │ │ │ ├── checkbox-group.e2e.ts │ │ │ │ │ │ │ │ └── checkbox-group.spec.tsx │ │ │ │ │ │ ├── checkbox-disabled │ │ │ │ │ │ │ ├── checkbox-disabled.scss │ │ │ │ │ │ │ └── test │ │ │ │ │ │ │ │ ├── checkbox-disabled.e2e.ts │ │ │ │ │ │ │ │ └── checkbox-disabled.spec.tsx │ │ │ │ │ │ ├── checkbox-readonly │ │ │ │ │ │ │ ├── checkbox-readonly.scss │ │ │ │ │ │ │ └── test │ │ │ │ │ │ │ │ ├── checkbox-readonly.e2e.ts │ │ │ │ │ │ │ │ └── checkbox-readonly.spec.tsx │ │ │ │ │ │ ├── checkbox-basic │ │ │ │ │ │ │ ├── checkbox-basic.scss │ │ │ │ │ │ │ └── test │ │ │ │ │ │ │ │ ├── checkbox-basic.e2e.ts │ │ │ │ │ │ │ │ └── checkbox-basic.spec.tsx │ │ │ │ │ │ ├── checkbox-label │ │ │ │ │ │ │ ├── checkbox-label.scss │ │ │ │ │ │ │ └── test │ │ │ │ │ │ │ │ ├── checkbox-label.e2e.ts │ │ │ │ │ │ │ │ └── checkbox-label.spec.tsx │ │ │ │ │ │ └── checkbox-dynamic │ │ │ │ │ │ │ ├── checkbox-dynamic.scss │ │ │ │ │ │ │ └── test │ │ │ │ │ │ │ ├── checkbox-dynamic.e2e.ts │ │ │ │ │ │ │ └── checkbox-dynamic.spec.tsx │ │ │ │ │ ├── dropdown │ │ │ │ │ │ ├── dropdown-filter │ │ │ │ │ │ │ ├── dropdown-filter.scss │ │ │ │ │ │ │ └── test │ │ │ │ │ │ │ │ ├── dropdown-filter.e2e.ts │ │ │ │ │ │ │ │ └── dropdown-filter.spec.tsx │ │ │ │ │ │ ├── dropdown-disabled │ │ │ │ │ │ │ ├── dropdown-disabled.scss │ │ │ │ │ │ │ └── test │ │ │ │ │ │ │ │ ├── dropdown-disabled.e2e.ts │ │ │ │ │ │ │ │ └── dropdown-disabled.spec.tsx │ │ │ │ │ │ ├── dropdown-template │ │ │ │ │ │ │ ├── dropdown-template.scss │ │ │ │ │ │ │ └── test │ │ │ │ │ │ │ │ ├── dropdown-template.e2e.ts │ │ │ │ │ │ │ │ └── dropdown-template.spec.tsx │ │ │ │ │ │ ├── dropdown-virtual-scroll │ │ │ │ │ │ │ ├── dropdown-virtual-scroll.scss │ │ │ │ │ │ │ └── test │ │ │ │ │ │ │ │ ├── dropdown-virtual-scroll.e2e.ts │ │ │ │ │ │ │ │ └── dropdown-virtual-scroll.spec.tsx │ │ │ │ │ │ └── dropdown-basic │ │ │ │ │ │ │ ├── dropdown-basic.scss │ │ │ │ │ │ │ └── test │ │ │ │ │ │ │ ├── dropdown-basic.e2e.ts │ │ │ │ │ │ │ └── dropdown-basic.spec.tsx │ │ │ │ │ ├── input-text │ │ │ │ │ │ ├── input-text-basic │ │ │ │ │ │ │ ├── input-text-basic.scss │ │ │ │ │ │ │ ├── test │ │ │ │ │ │ │ │ ├── input-text-basic.e2e.ts │ │ │ │ │ │ │ │ └── input-text-basic.spec.tsx │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ ├── input-text-icons │ │ │ │ │ │ │ ├── input-text-icons.scss │ │ │ │ │ │ │ ├── test │ │ │ │ │ │ │ │ ├── input-text-icons.e2e.ts │ │ │ │ │ │ │ │ └── input-text-icons.spec.tsx │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ ├── input-text-disabled │ │ │ │ │ │ │ ├── input-text-disabled.scss │ │ │ │ │ │ │ ├── test │ │ │ │ │ │ │ │ ├── input-text-disabled.e2e.ts │ │ │ │ │ │ │ │ └── input-text-disabled.spec.tsx │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ └── input-text-float-label │ │ │ │ │ │ │ ├── input-text-float-label.scss │ │ │ │ │ │ │ ├── test │ │ │ │ │ │ │ ├── input-text-float-label.e2e.ts │ │ │ │ │ │ │ └── input-text-float-label.spec.tsx │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ ├── input-switch │ │ │ │ │ │ ├── input-switch-basic │ │ │ │ │ │ │ ├── input-switch-basic.scss │ │ │ │ │ │ │ ├── test │ │ │ │ │ │ │ │ ├── input-switch-basic.e2e.ts │ │ │ │ │ │ │ │ └── input-switch-basic.spec.tsx │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ ├── input-switch-disabled │ │ │ │ │ │ │ ├── input-switch-disabled.scss │ │ │ │ │ │ │ ├── test │ │ │ │ │ │ │ │ ├── input-switch-disabled.e2e.ts │ │ │ │ │ │ │ │ └── input-switch-disabled.spec.tsx │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ └── input-switch-preselection │ │ │ │ │ │ │ ├── input-switch-preselection.scss │ │ │ │ │ │ │ ├── test │ │ │ │ │ │ │ ├── input-switch-preselection.e2e.ts │ │ │ │ │ │ │ └── input-switch-preselection.spec.tsx │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ ├── input-number │ │ │ │ │ │ ├── input-number-buttons │ │ │ │ │ │ │ ├── input-number-buttons.scss │ │ │ │ │ │ │ ├── test │ │ │ │ │ │ │ │ ├── input-number-buttons.e2e.ts │ │ │ │ │ │ │ │ └── input-number-buttons.spec.tsx │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ ├── input-number-locale │ │ │ │ │ │ │ ├── input-number-locale.scss │ │ │ │ │ │ │ ├── test │ │ │ │ │ │ │ │ ├── input-number-locale.e2e.ts │ │ │ │ │ │ │ │ └── input-number-locale.spec.tsx │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ ├── input-number-numeral │ │ │ │ │ │ │ ├── input-number-numeral.scss │ │ │ │ │ │ │ ├── test │ │ │ │ │ │ │ │ ├── input-number-numeral.e2e.ts │ │ │ │ │ │ │ │ └── input-number-numeral.spec.tsx │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ ├── input-number-currency │ │ │ │ │ │ │ ├── input-number-currency.scss │ │ │ │ │ │ │ ├── test │ │ │ │ │ │ │ │ ├── input-number-currency.e2e.ts │ │ │ │ │ │ │ │ └── input-number-currency.spec.tsx │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ ├── input-number-disabled │ │ │ │ │ │ │ ├── input-number-disabled.scss │ │ │ │ │ │ │ ├── test │ │ │ │ │ │ │ │ ├── input-number-disabled.e2e.ts │ │ │ │ │ │ │ │ └── input-number-disabled.spec.tsx │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ ├── input-number-vertical │ │ │ │ │ │ │ ├── input-number-vertical.scss │ │ │ │ │ │ │ ├── test │ │ │ │ │ │ │ │ ├── input-number-vertical.e2e.ts │ │ │ │ │ │ │ │ └── input-number-vertical.spec.tsx │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ ├── input-number-float-label │ │ │ │ │ │ │ ├── input-number-float-label.scss │ │ │ │ │ │ │ ├── test │ │ │ │ │ │ │ │ ├── input-number-float-label.e2e.ts │ │ │ │ │ │ │ │ └── input-number-float-label.spec.tsx │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ └── input-number-prefix-and-suffix │ │ │ │ │ │ │ ├── input-number-prefix-and-suffix.scss │ │ │ │ │ │ │ └── test │ │ │ │ │ │ │ ├── input-number-prefix-and-suffix.e2e.ts │ │ │ │ │ │ │ └── input-number-prefix-and-suffix.spec.tsx │ │ │ │ │ ├── input-textarea │ │ │ │ │ │ ├── input-textarea-basic │ │ │ │ │ │ │ ├── input-textarea-basic.scss │ │ │ │ │ │ │ ├── test │ │ │ │ │ │ │ │ ├── input-textarea-basic.e2e.ts │ │ │ │ │ │ │ │ └── input-textarea-basic.spec.tsx │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ ├── input-textarea-disabled │ │ │ │ │ │ │ ├── input-textarea-disabled.scss │ │ │ │ │ │ │ ├── test │ │ │ │ │ │ │ │ ├── input-textarea-disabled.e2e.ts │ │ │ │ │ │ │ │ └── input-textarea-disabled.spec.tsx │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ ├── input-textarea-auto-resize │ │ │ │ │ │ │ ├── input-textarea-auto-resize.scss │ │ │ │ │ │ │ ├── test │ │ │ │ │ │ │ │ ├── input-textarea-auto-resize.e2e.ts │ │ │ │ │ │ │ │ └── input-textarea-auto-resize.spec.tsx │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ └── input-textarea-float-label │ │ │ │ │ │ │ ├── input-textarea-float-label.scss │ │ │ │ │ │ │ ├── test │ │ │ │ │ │ │ ├── input-textarea-float-label.e2e.ts │ │ │ │ │ │ │ └── input-textarea-float-label.spec.tsx │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ └── listbox │ │ │ │ │ │ ├── listbox-basic │ │ │ │ │ │ ├── listbox-basic.scss │ │ │ │ │ │ ├── test │ │ │ │ │ │ │ ├── listbox-basic.e2e.ts │ │ │ │ │ │ │ └── listbox-basic.spec.tsx │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ ├── listbox-filter │ │ │ │ │ │ ├── listbox-filter.scss │ │ │ │ │ │ ├── test │ │ │ │ │ │ │ ├── listbox-filter.e2e.ts │ │ │ │ │ │ │ └── listbox-filter.spec.tsx │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ ├── listbox-disabled │ │ │ │ │ │ ├── listbox-disabled.scss │ │ │ │ │ │ └── test │ │ │ │ │ │ │ ├── listbox-disabled.e2e.ts │ │ │ │ │ │ │ └── listbox-disabled.spec.tsx │ │ │ │ │ │ ├── listbox-multiple │ │ │ │ │ │ ├── listbox-multiple.scss │ │ │ │ │ │ └── test │ │ │ │ │ │ │ ├── listbox-multiple.e2e.ts │ │ │ │ │ │ │ └── listbox-multiple.spec.tsx │ │ │ │ │ │ ├── listbox-template │ │ │ │ │ │ ├── listbox-template.scss │ │ │ │ │ │ └── test │ │ │ │ │ │ │ ├── listbox-template.e2e.ts │ │ │ │ │ │ │ └── listbox-template.spec.tsx │ │ │ │ │ │ └── listbox-virtual-scroll │ │ │ │ │ │ ├── listbox-virtual-scroll.scss │ │ │ │ │ │ └── test │ │ │ │ │ │ ├── listbox-virtual-scroll.e2e.ts │ │ │ │ │ │ └── listbox-virtual-scroll.spec.tsx │ │ │ │ ├── doc │ │ │ │ │ ├── app-docsection │ │ │ │ │ │ ├── app-docsection.scss │ │ │ │ │ │ ├── test │ │ │ │ │ │ │ ├── app-docsection.e2e.ts │ │ │ │ │ │ │ └── app-docsection.spec.tsx │ │ │ │ │ │ └── readme.md │ │ │ │ │ ├── app-docapisection │ │ │ │ │ │ ├── app-docapisection.scss │ │ │ │ │ │ ├── test │ │ │ │ │ │ │ ├── app-docapisection.e2e.ts │ │ │ │ │ │ │ └── app-docapisection.spec.tsx │ │ │ │ │ │ └── readme.md │ │ │ │ │ ├── app-doc │ │ │ │ │ │ └── test │ │ │ │ │ │ │ ├── app-doc.e2e.ts │ │ │ │ │ │ │ └── app-doc.spec.tsx │ │ │ │ │ ├── app-code │ │ │ │ │ │ ├── test │ │ │ │ │ │ │ ├── app-code.e2e.ts │ │ │ │ │ │ │ └── app-code.spec.tsx │ │ │ │ │ │ └── app-code.scss │ │ │ │ │ ├── app-docapitable │ │ │ │ │ │ └── test │ │ │ │ │ │ │ ├── app-docapitable.e2e.ts │ │ │ │ │ │ │ └── app-docapitable.spec.tsx │ │ │ │ │ ├── app-docsection-nav │ │ │ │ │ │ ├── test │ │ │ │ │ │ │ ├── app-docsection-nav.e2e.ts │ │ │ │ │ │ │ └── app-docsection-nav.spec.tsx │ │ │ │ │ │ └── readme.md │ │ │ │ │ └── app-docsectiontext │ │ │ │ │ │ ├── test │ │ │ │ │ │ ├── app-docsectiontext.e2e.ts │ │ │ │ │ │ └── app-docsectiontext.spec.tsx │ │ │ │ │ │ └── app-docsectiontext.scss │ │ │ │ └── config │ │ │ │ │ └── app-config │ │ │ │ │ ├── test │ │ │ │ │ ├── app-config.e2e.ts │ │ │ │ │ └── app-config.spec.tsx │ │ │ │ │ └── readme.md │ │ │ ├── listbox │ │ │ │ ├── listbox-interface.ts │ │ │ │ └── test │ │ │ │ │ ├── listbox.e2e.js │ │ │ │ │ ├── listbox.e2e.ts │ │ │ │ │ ├── listbox.spec.js │ │ │ │ │ └── listbox.spec.tsx │ │ │ ├── input-textarea │ │ │ │ ├── input-textarea-interface.ts │ │ │ │ ├── input-textarea.scss │ │ │ │ └── test │ │ │ │ │ ├── input-textarea.e2e.ts │ │ │ │ │ └── input-textarea.spec.tsx │ │ │ ├── badge │ │ │ │ └── test │ │ │ │ │ ├── badge.e2e.ts │ │ │ │ │ └── badge.spec.tsx │ │ │ ├── button │ │ │ │ └── test │ │ │ │ │ ├── button.e2e.ts │ │ │ │ │ └── button.spec.tsx │ │ │ ├── overlay │ │ │ │ └── test │ │ │ │ │ ├── overlay.e2e.ts │ │ │ │ │ └── overlay.spec.tsx │ │ │ ├── checkbox │ │ │ │ └── test │ │ │ │ │ └── checkbox.e2e.ts │ │ │ ├── tab-view │ │ │ │ ├── test │ │ │ │ │ ├── tab-view.e2e.ts │ │ │ │ │ └── tab-view.spec.tsx │ │ │ │ └── readme.md │ │ │ ├── input-text │ │ │ │ └── test │ │ │ │ │ ├── input-text.e2e.ts │ │ │ │ │ └── input-text.spec.tsx │ │ │ ├── multiselect │ │ │ │ └── test │ │ │ │ │ ├── multiselect.e2e.ts │ │ │ │ │ └── multiselect.spec.tsx │ │ │ ├── input-number │ │ │ │ └── test │ │ │ │ │ ├── input-number.e2e.ts │ │ │ │ │ └── input-number.spec.tsx │ │ │ ├── input-switch │ │ │ │ └── test │ │ │ │ │ ├── input-switch.e2e.ts │ │ │ │ │ └── input-switch.spec.tsx │ │ │ ├── radio-button │ │ │ │ └── test │ │ │ │ │ ├── radio-button.e2e.ts │ │ │ │ │ └── radio-button.spec.tsx │ │ │ ├── badge-overlay │ │ │ │ ├── test │ │ │ │ │ ├── badge-overlay.e2e.ts │ │ │ │ │ └── badge-overlay.spec.tsx │ │ │ │ ├── badge-overlay.scss │ │ │ │ ├── readme.md │ │ │ │ └── badge-overlay.tsx │ │ │ ├── ripple-effect │ │ │ │ ├── test │ │ │ │ │ ├── ripple-effect.e2e.ts │ │ │ │ │ └── ripple-effect.spec.tsx │ │ │ │ ├── ripple-effect.scss │ │ │ │ └── readme.md │ │ │ └── virtual-scroller │ │ │ │ ├── test │ │ │ │ ├── virtual-scroller.e2e.ts │ │ │ │ └── virtual-scroller.spec.tsx │ │ │ │ └── virtual-scroller.scss │ │ ├── assets │ │ │ ├── css │ │ │ │ └── inputtext.css │ │ │ ├── favicon │ │ │ │ ├── favicon.ico │ │ │ │ ├── apple-icon.png │ │ │ │ ├── favicon-16x16.png │ │ │ │ ├── favicon-32x32.png │ │ │ │ ├── favicon-96x96.png │ │ │ │ ├── ms-icon-70x70.png │ │ │ │ ├── apple-icon-57x57.png │ │ │ │ ├── apple-icon-60x60.png │ │ │ │ ├── apple-icon-72x72.png │ │ │ │ ├── apple-icon-76x76.png │ │ │ │ ├── ms-icon-144x144.png │ │ │ │ ├── ms-icon-150x150.png │ │ │ │ ├── ms-icon-310x310.png │ │ │ │ ├── android-icon-36x36.png │ │ │ │ ├── android-icon-48x48.png │ │ │ │ ├── android-icon-72x72.png │ │ │ │ ├── android-icon-96x96.png │ │ │ │ ├── apple-icon-114x114.png │ │ │ │ ├── apple-icon-120x120.png │ │ │ │ ├── apple-icon-144x144.png │ │ │ │ ├── apple-icon-152x152.png │ │ │ │ ├── apple-icon-180x180.png │ │ │ │ ├── android-icon-144x144.png │ │ │ │ ├── android-icon-192x192.png │ │ │ │ ├── apple-icon-precomposed.png │ │ │ │ ├── browserconfig.xml │ │ │ │ └── manifest.json │ │ │ └── images │ │ │ │ ├── browsers │ │ │ │ ├── edge.png │ │ │ │ ├── chrome.png │ │ │ │ ├── opera.png │ │ │ │ ├── safari.png │ │ │ │ └── firefox.png │ │ │ │ ├── product │ │ │ │ ├── shoes.jpg │ │ │ │ ├── blue-band.jpg │ │ │ │ ├── bracelet.jpg │ │ │ │ ├── gaming-set.jpg │ │ │ │ ├── headphones.jpg │ │ │ │ ├── lime-band.jpg │ │ │ │ ├── pink-band.jpg │ │ │ │ ├── pink-purse.jpg │ │ │ │ ├── sneakers.jpg │ │ │ │ ├── yoga-mat.jpg │ │ │ │ ├── yoga-set.jpg │ │ │ │ ├── bamboo-watch.jpg │ │ │ │ ├── black-watch.jpg │ │ │ │ ├── blue-t-shirt.jpg │ │ │ │ ├── brown-purse.jpg │ │ │ │ ├── grey-t-shirt.jpg │ │ │ │ ├── purple-band.jpg │ │ │ │ ├── teal-t-shirt.jpg │ │ │ │ ├── chakra-bracelet.jpg │ │ │ │ ├── galaxy-earrings.jpg │ │ │ │ ├── game-controller.jpg │ │ │ │ ├── gold-phone-case.jpg │ │ │ │ ├── green-earbuds.jpg │ │ │ │ ├── green-t-shirt.jpg │ │ │ │ ├── mini-speakers.jpg │ │ │ │ ├── purple-t-shirt.jpg │ │ │ │ ├── yellow-earbuds.jpg │ │ │ │ ├── light-green-t-shirt.jpg │ │ │ │ ├── painted-phone-case.jpg │ │ │ │ ├── purple-gemstone-necklace.jpg │ │ │ │ └── product-placeholder.svg │ │ │ │ ├── webcomponents-logo.png │ │ │ │ ├── flag │ │ │ │ ├── flag_placeholder.png │ │ │ │ └── flags_responsive.png │ │ │ │ └── themes │ │ │ │ ├── anywhere-dark-purple.png │ │ │ │ ├── anywhere-dark-violet.png │ │ │ │ ├── anywhere-light-purple.png │ │ │ │ └── anywhere-default-violet.png │ │ ├── docs │ │ │ ├── SHOWCASE_README.md │ │ │ └── SHOWCASE_LICENSE │ │ ├── utils │ │ │ ├── translation.ts │ │ │ ├── utils.js │ │ │ ├── translation-keys.ts │ │ │ ├── utils.spec.js │ │ │ ├── load-icons.ts │ │ │ ├── utils.spec.ts │ │ │ └── radiobutton-registry.ts │ │ ├── index.ts │ │ └── interfaces.d.ts │ ├── .jshintrc │ ├── scripts │ │ ├── clear-www.sh │ │ ├── deploy-site-to-master.sh │ │ ├── update-template-version.js │ │ ├── initialize-stencil-ghpages-repo.sh │ │ └── docs.js │ ├── hydrate │ │ └── package.json │ ├── .editorconfig │ ├── .gitignore │ ├── tsconfig.json │ └── LICENSE ├── vue │ ├── src │ │ └── index.ts │ ├── rollup.config.mjs │ ├── setupTests.ts │ ├── tsconfig.json │ └── LICENSE ├── react │ ├── src │ │ ├── react-component-lib │ │ │ ├── index.ts │ │ │ ├── utils │ │ │ │ ├── case.ts │ │ │ │ └── dev.ts │ │ │ └── interfaces.ts │ │ └── index.ts │ ├── tsconfig.json │ └── LICENSE └── angular │ ├── projects │ └── anywhere-ui │ │ ├── ng-package.json │ │ ├── tsconfig.lib.prod.json │ │ ├── tslint.json │ │ ├── tsconfig.spec.json │ │ ├── src │ │ ├── lib │ │ │ ├── util │ │ │ │ └── util.ts │ │ │ └── directives │ │ │ │ ├── radio-value-accessor.ts │ │ │ │ ├── text-value-accessor.ts │ │ │ │ ├── select-value-accessor.ts │ │ │ │ ├── boolean-value-accessor.ts │ │ │ │ ├── number-value-accessor.ts │ │ │ │ └── value-accessor.ts │ │ ├── public-api.ts │ │ └── test.ts │ │ ├── tsconfig.lib.json │ │ └── package.json │ ├── .editorconfig │ ├── tsconfig.json │ ├── .gitignore │ └── angular.json ├── .github └── FUNDING.yml ├── lerna.json ├── .editorconfig ├── .gitignore ├── nx.json ├── .grenrc.json ├── LICENSE └── CONTRIBUTING.md /.nvmrc: -------------------------------------------------------------------------------- 1 | v20.12.2 -------------------------------------------------------------------------------- /packages/core/src/app/scss/_inputtext.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/core/src/models/any-dropdown.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/core/src/themes/anywhere.functions.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/core/src/themes/anywhere.mixins.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/core/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "esversion": 8 3 | } -------------------------------------------------------------------------------- /packages/core/src/index.js: -------------------------------------------------------------------------------- 1 | export * from './components'; 2 | -------------------------------------------------------------------------------- /packages/core/src/themes/anywhere.skip.warns.scss: -------------------------------------------------------------------------------- 1 | $ANYWHERE: true; -------------------------------------------------------------------------------- /packages/core/src/components/tab-panel/tab-panel.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | } 4 | -------------------------------------------------------------------------------- /packages/core/src/components/radio-group/radio-group.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | } 4 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: gjovanovicst 4 | -------------------------------------------------------------------------------- /packages/core/src/assets/css/inputtext.css: -------------------------------------------------------------------------------- 1 | .any-field * { 2 | display: block !important; 3 | } 4 | -------------------------------------------------------------------------------- /lerna.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0.0", 3 | "$schema": "node_modules/lerna/schemas/lerna-schema.json" 4 | } 5 | -------------------------------------------------------------------------------- /packages/vue/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./proxies"; 2 | 3 | export { AnywhereUIVue } from "./anywhere-ui-vue"; 4 | -------------------------------------------------------------------------------- /packages/core/scripts/clear-www.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | cd www 4 | 5 | shopt -s extglob 6 | 7 | rm -rf !(.git) 8 | 9 | cd .. -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/checkbox/checkbox-group/checkbox-group.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | } 4 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/dropdown/dropdown-filter/dropdown-filter.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | } 4 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/checkbox/checkbox-disabled/checkbox-disabled.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | } 4 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/checkbox/checkbox-readonly/checkbox-readonly.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | } 4 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/dropdown/dropdown-disabled/dropdown-disabled.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | } 4 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/dropdown/dropdown-template/dropdown-template.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | } 4 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-text/input-text-basic/input-text-basic.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | } 4 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-text/input-text-icons/input-text-icons.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | } 4 | -------------------------------------------------------------------------------- /packages/core/src/docs/SHOWCASE_README.md: -------------------------------------------------------------------------------- 1 | # AnywhereUI Web Components Demo 2 | 3 | Rich web components, includes framework bindings. 4 | -------------------------------------------------------------------------------- /packages/core/src/assets/favicon/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/favicon/favicon.ico -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-switch/input-switch-basic/input-switch-basic.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | } 4 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-text/input-text-disabled/input-text-disabled.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | } 4 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-number/input-number-buttons/input-number-buttons.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | } 4 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-number/input-number-locale/input-number-locale.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | } 4 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-number/input-number-numeral/input-number-numeral.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | } 4 | -------------------------------------------------------------------------------- /packages/core/src/utils/translation.ts: -------------------------------------------------------------------------------- 1 | export interface Translation { 2 | emptyMessage?: string; 3 | emptyFilterMessage?: string; 4 | } 5 | -------------------------------------------------------------------------------- /packages/core/src/assets/favicon/apple-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/favicon/apple-icon.png -------------------------------------------------------------------------------- /packages/core/src/assets/images/browsers/edge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/browsers/edge.png -------------------------------------------------------------------------------- /packages/core/src/assets/images/product/shoes.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/product/shoes.jpg -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/dropdown/dropdown-virtual-scroll/dropdown-virtual-scroll.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | } 4 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-number/input-number-currency/input-number-currency.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | } 4 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-number/input-number-disabled/input-number-disabled.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | } 4 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-number/input-number-vertical/input-number-vertical.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | } 4 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-switch/input-switch-disabled/input-switch-disabled.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | } 4 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-text/input-text-float-label/input-text-float-label.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | } 4 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-textarea/input-textarea-basic/input-textarea-basic.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | } 4 | -------------------------------------------------------------------------------- /packages/core/src/assets/favicon/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/favicon/favicon-16x16.png -------------------------------------------------------------------------------- /packages/core/src/assets/favicon/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/favicon/favicon-32x32.png -------------------------------------------------------------------------------- /packages/core/src/assets/favicon/favicon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/favicon/favicon-96x96.png -------------------------------------------------------------------------------- /packages/core/src/assets/favicon/ms-icon-70x70.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/favicon/ms-icon-70x70.png -------------------------------------------------------------------------------- /packages/core/src/assets/images/browsers/chrome.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/browsers/chrome.png -------------------------------------------------------------------------------- /packages/core/src/assets/images/browsers/opera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/browsers/opera.png -------------------------------------------------------------------------------- /packages/core/src/assets/images/browsers/safari.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/browsers/safari.png -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-number/input-number-float-label/input-number-float-label.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | } 4 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-switch/input-switch-preselection/input-switch-preselection.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | } 4 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-textarea/input-textarea-disabled/input-textarea-disabled.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | } 4 | -------------------------------------------------------------------------------- /packages/core/src/components/listbox/listbox-interface.ts: -------------------------------------------------------------------------------- 1 | export interface SelectChangeEventDetail { 2 | originalEvent: T; 3 | value: T; 4 | } -------------------------------------------------------------------------------- /packages/core/src/assets/favicon/apple-icon-57x57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/favicon/apple-icon-57x57.png -------------------------------------------------------------------------------- /packages/core/src/assets/favicon/apple-icon-60x60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/favicon/apple-icon-60x60.png -------------------------------------------------------------------------------- /packages/core/src/assets/favicon/apple-icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/favicon/apple-icon-72x72.png -------------------------------------------------------------------------------- /packages/core/src/assets/favicon/apple-icon-76x76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/favicon/apple-icon-76x76.png -------------------------------------------------------------------------------- /packages/core/src/assets/favicon/ms-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/favicon/ms-icon-144x144.png -------------------------------------------------------------------------------- /packages/core/src/assets/favicon/ms-icon-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/favicon/ms-icon-150x150.png -------------------------------------------------------------------------------- /packages/core/src/assets/favicon/ms-icon-310x310.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/favicon/ms-icon-310x310.png -------------------------------------------------------------------------------- /packages/core/src/assets/images/browsers/firefox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/browsers/firefox.png -------------------------------------------------------------------------------- /packages/core/src/assets/images/product/blue-band.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/product/blue-band.jpg -------------------------------------------------------------------------------- /packages/core/src/assets/images/product/bracelet.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/product/bracelet.jpg -------------------------------------------------------------------------------- /packages/core/src/assets/images/product/gaming-set.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/product/gaming-set.jpg -------------------------------------------------------------------------------- /packages/core/src/assets/images/product/headphones.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/product/headphones.jpg -------------------------------------------------------------------------------- /packages/core/src/assets/images/product/lime-band.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/product/lime-band.jpg -------------------------------------------------------------------------------- /packages/core/src/assets/images/product/pink-band.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/product/pink-band.jpg -------------------------------------------------------------------------------- /packages/core/src/assets/images/product/pink-purse.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/product/pink-purse.jpg -------------------------------------------------------------------------------- /packages/core/src/assets/images/product/sneakers.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/product/sneakers.jpg -------------------------------------------------------------------------------- /packages/core/src/assets/images/product/yoga-mat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/product/yoga-mat.jpg -------------------------------------------------------------------------------- /packages/core/src/assets/images/product/yoga-set.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/product/yoga-set.jpg -------------------------------------------------------------------------------- /packages/core/src/assets/images/webcomponents-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/webcomponents-logo.png -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-textarea/input-textarea-auto-resize/input-textarea-auto-resize.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | } 4 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-textarea/input-textarea-float-label/input-textarea-float-label.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | } 4 | -------------------------------------------------------------------------------- /packages/core/src/assets/favicon/android-icon-36x36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/favicon/android-icon-36x36.png -------------------------------------------------------------------------------- /packages/core/src/assets/favicon/android-icon-48x48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/favicon/android-icon-48x48.png -------------------------------------------------------------------------------- /packages/core/src/assets/favicon/android-icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/favicon/android-icon-72x72.png -------------------------------------------------------------------------------- /packages/core/src/assets/favicon/android-icon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/favicon/android-icon-96x96.png -------------------------------------------------------------------------------- /packages/core/src/assets/favicon/apple-icon-114x114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/favicon/apple-icon-114x114.png -------------------------------------------------------------------------------- /packages/core/src/assets/favicon/apple-icon-120x120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/favicon/apple-icon-120x120.png -------------------------------------------------------------------------------- /packages/core/src/assets/favicon/apple-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/favicon/apple-icon-144x144.png -------------------------------------------------------------------------------- /packages/core/src/assets/favicon/apple-icon-152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/favicon/apple-icon-152x152.png -------------------------------------------------------------------------------- /packages/core/src/assets/favicon/apple-icon-180x180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/favicon/apple-icon-180x180.png -------------------------------------------------------------------------------- /packages/core/src/assets/images/product/bamboo-watch.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/product/bamboo-watch.jpg -------------------------------------------------------------------------------- /packages/core/src/assets/images/product/black-watch.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/product/black-watch.jpg -------------------------------------------------------------------------------- /packages/core/src/assets/images/product/blue-t-shirt.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/product/blue-t-shirt.jpg -------------------------------------------------------------------------------- /packages/core/src/assets/images/product/brown-purse.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/product/brown-purse.jpg -------------------------------------------------------------------------------- /packages/core/src/assets/images/product/grey-t-shirt.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/product/grey-t-shirt.jpg -------------------------------------------------------------------------------- /packages/core/src/assets/images/product/purple-band.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/product/purple-band.jpg -------------------------------------------------------------------------------- /packages/core/src/assets/images/product/teal-t-shirt.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/product/teal-t-shirt.jpg -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/doc/app-docsection/app-docsection.scss: -------------------------------------------------------------------------------- 1 | @import "../app-doc/app-doc.scss"; 2 | 3 | :host { 4 | display: block; 5 | } 6 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-number/input-number-prefix-and-suffix/input-number-prefix-and-suffix.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | } 4 | -------------------------------------------------------------------------------- /packages/core/src/assets/favicon/android-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/favicon/android-icon-144x144.png -------------------------------------------------------------------------------- /packages/core/src/assets/favicon/android-icon-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/favicon/android-icon-192x192.png -------------------------------------------------------------------------------- /packages/core/src/assets/favicon/apple-icon-precomposed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/favicon/apple-icon-precomposed.png -------------------------------------------------------------------------------- /packages/core/src/assets/images/flag/flag_placeholder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/flag/flag_placeholder.png -------------------------------------------------------------------------------- /packages/core/src/assets/images/flag/flags_responsive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/flag/flags_responsive.png -------------------------------------------------------------------------------- /packages/core/src/assets/images/product/chakra-bracelet.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/product/chakra-bracelet.jpg -------------------------------------------------------------------------------- /packages/core/src/assets/images/product/galaxy-earrings.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/product/galaxy-earrings.jpg -------------------------------------------------------------------------------- /packages/core/src/assets/images/product/game-controller.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/product/game-controller.jpg -------------------------------------------------------------------------------- /packages/core/src/assets/images/product/gold-phone-case.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/product/gold-phone-case.jpg -------------------------------------------------------------------------------- /packages/core/src/assets/images/product/green-earbuds.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/product/green-earbuds.jpg -------------------------------------------------------------------------------- /packages/core/src/assets/images/product/green-t-shirt.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/product/green-t-shirt.jpg -------------------------------------------------------------------------------- /packages/core/src/assets/images/product/mini-speakers.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/product/mini-speakers.jpg -------------------------------------------------------------------------------- /packages/core/src/assets/images/product/purple-t-shirt.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/product/purple-t-shirt.jpg -------------------------------------------------------------------------------- /packages/core/src/assets/images/product/yellow-earbuds.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/product/yellow-earbuds.jpg -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/doc/app-docapisection/app-docapisection.scss: -------------------------------------------------------------------------------- 1 | @import "../app-doc/app-doc.scss"; 2 | 3 | :host { 4 | display: flex; 5 | } 6 | -------------------------------------------------------------------------------- /packages/core/src/assets/images/product/light-green-t-shirt.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/product/light-green-t-shirt.jpg -------------------------------------------------------------------------------- /packages/core/src/assets/images/product/painted-phone-case.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/product/painted-phone-case.jpg -------------------------------------------------------------------------------- /packages/core/src/assets/images/themes/anywhere-dark-purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/themes/anywhere-dark-purple.png -------------------------------------------------------------------------------- /packages/core/src/assets/images/themes/anywhere-dark-violet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/themes/anywhere-dark-violet.png -------------------------------------------------------------------------------- /packages/core/src/assets/images/themes/anywhere-light-purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/themes/anywhere-light-purple.png -------------------------------------------------------------------------------- /packages/react/src/react-component-lib/index.ts: -------------------------------------------------------------------------------- 1 | export { createReactComponent } from './createComponent'; 2 | export { createOverlayComponent } from './createOverlayComponent'; 3 | -------------------------------------------------------------------------------- /packages/core/src/assets/images/themes/anywhere-default-violet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/themes/anywhere-default-violet.png -------------------------------------------------------------------------------- /packages/core/src/assets/images/product/purple-gemstone-necklace.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adaleks/anywhere-ui/HEAD/packages/core/src/assets/images/product/purple-gemstone-necklace.jpg -------------------------------------------------------------------------------- /packages/core/src/models/any-dropdown.ts: -------------------------------------------------------------------------------- 1 | export interface PropOptions { 2 | [index: string]: Options 3 | } 4 | 5 | interface Options { 6 | label: string; 7 | value: object; 8 | } -------------------------------------------------------------------------------- /packages/core/hydrate/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@anywhere-ui/core/hydrate", 3 | "description": "AnywhereUi component hydration app.", 4 | "main": "index.js", 5 | "types": "index.d.ts" 6 | } -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/listbox/listbox-basic/listbox-basic.scss: -------------------------------------------------------------------------------- 1 | @import "../../../../app-showcase/doc/app-doc/app-doc.scss"; 2 | 3 | :host { 4 | display: block; 5 | } 6 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/checkbox/checkbox-basic/checkbox-basic.scss: -------------------------------------------------------------------------------- 1 | @import "../../../../app-showcase/doc/app-doc/app-doc.scss"; 2 | 3 | :host { 4 | display: block; 5 | } 6 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/checkbox/checkbox-label/checkbox-label.scss: -------------------------------------------------------------------------------- 1 | @import "../../../../app-showcase/doc/app-doc/app-doc.scss"; 2 | 3 | :host { 4 | display: block; 5 | } 6 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/dropdown/dropdown-basic/dropdown-basic.scss: -------------------------------------------------------------------------------- 1 | @import "../../../../app-showcase/doc/app-doc/app-doc.scss"; 2 | 3 | :host { 4 | display: block; 5 | } 6 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/listbox/listbox-filter/listbox-filter.scss: -------------------------------------------------------------------------------- 1 | @import "../../../../app-showcase/doc/app-doc/app-doc.scss"; 2 | 3 | :host { 4 | display: block; 5 | } 6 | -------------------------------------------------------------------------------- /packages/core/src/index.ts: -------------------------------------------------------------------------------- 1 | export { initialize } from "./global/anywhere-global"; 2 | export { AnywhereUIConfig, /*getMode,*/ setupConfig } from "./utils/config"; 3 | export * from "./interfaces"; 4 | -------------------------------------------------------------------------------- /packages/core/src/utils/utils.js: -------------------------------------------------------------------------------- 1 | export function format(first, middle, last) { 2 | return ((first || '') + 3 | (middle ? ` ${middle}` : '') + 4 | (last ? ` ${last}` : '')); 5 | } 6 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/checkbox/checkbox-dynamic/checkbox-dynamic.scss: -------------------------------------------------------------------------------- 1 | @import "../../../../app-showcase/doc/app-doc/app-doc.scss"; 2 | 3 | :host { 4 | display: block; 5 | } 6 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/listbox/listbox-disabled/listbox-disabled.scss: -------------------------------------------------------------------------------- 1 | @import "../../../../app-showcase/doc/app-doc/app-doc.scss"; 2 | 3 | :host { 4 | display: block; 5 | } 6 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/listbox/listbox-multiple/listbox-multiple.scss: -------------------------------------------------------------------------------- 1 | @import "../../../../app-showcase/doc/app-doc/app-doc.scss"; 2 | 3 | :host { 4 | display: block; 5 | } 6 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/listbox/listbox-template/listbox-template.scss: -------------------------------------------------------------------------------- 1 | @import "../../../../app-showcase/doc/app-doc/app-doc.scss"; 2 | 3 | :host { 4 | display: block; 5 | } 6 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/listbox/listbox-virtual-scroll/listbox-virtual-scroll.scss: -------------------------------------------------------------------------------- 1 | @import "../../../../app-showcase/doc/app-doc/app-doc.scss"; 2 | 3 | :host { 4 | display: block; 5 | } 6 | -------------------------------------------------------------------------------- /packages/core/src/utils/translation-keys.ts: -------------------------------------------------------------------------------- 1 | export class TranslationKeys { 2 | public static readonly EMPTY_MESSAGE = "emptyMessage"; 3 | public static readonly EMPTY_FILTER_MESSAGE = "emptyFilterMessage"; 4 | public static readonly CHOOSE = "choose"; 5 | } 6 | -------------------------------------------------------------------------------- /packages/core/src/components/input-textarea/input-textarea-interface.ts: -------------------------------------------------------------------------------- 1 | export interface TextareaChangeEventDetail { 2 | value?: string | null; 3 | } 4 | 5 | export interface TextareaCustomEvent extends CustomEvent { 6 | detail: TextareaChangeEventDetail; 7 | target: HTMLAnyInputTextareaElement; 8 | } 9 | -------------------------------------------------------------------------------- /packages/core/src/components/radio-group/radio-group-inteface.ts: -------------------------------------------------------------------------------- 1 | export interface RadioGroupChangeEventDetail { 2 | value: T; 3 | } 4 | 5 | export interface RadioGroupCustomEvent extends CustomEvent { 6 | detail: RadioGroupChangeEventDetail; 7 | target: HTMLAnyRadioGroupElement; 8 | } 9 | -------------------------------------------------------------------------------- /packages/angular/projects/anywhere-ui/ng-package.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "../../node_modules/ng-packagr/ng-package.schema.json", 3 | "dest": "../../dist/anywhere-ui", 4 | "lib": { 5 | "entryFile": "src/public-api.ts" 6 | }, 7 | "allowedNonPeerDependencies": ["@anywhere-ui/core", "@anywhere-ui/flex"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/core/src/app/views/InputSwitch/InputSwitch.html: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | 3 | root = true 4 | 5 | [*] 6 | charset = utf-8 7 | indent_style = space 8 | indent_size = 2 9 | end_of_line = lf 10 | insert_final_newline = true 11 | trim_trailing_whitespace = true 12 | 13 | [*.md] 14 | insert_final_newline = false 15 | trim_trailing_whitespace = false 16 | -------------------------------------------------------------------------------- /packages/core/src/app/views/Checkbox/Checkbox.html: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /packages/core/src/assets/favicon/browserconfig.xml: -------------------------------------------------------------------------------- 1 | 2 | #ffffff -------------------------------------------------------------------------------- /packages/core/src/app/views/InputNumber/InputNumber.html: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /packages/core/.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | 3 | root = true 4 | 5 | [*] 6 | charset = utf-8 7 | indent_style = space 8 | indent_size = 2 9 | end_of_line = lf 10 | insert_final_newline = true 11 | trim_trailing_whitespace = true 12 | 13 | [*.md] 14 | insert_final_newline = false 15 | trim_trailing_whitespace = false 16 | -------------------------------------------------------------------------------- /packages/core/src/interfaces.d.ts: -------------------------------------------------------------------------------- 1 | export * from "./components"; 2 | export * from "./index"; 3 | 4 | export * from "./components/listbox/listbox-interface"; 5 | export * from "./components/radio-group/radio-group-inteface"; 6 | export * from "./components/input-textarea/input-textarea-interface"; 7 | 8 | export * from "./global/config"; 9 | -------------------------------------------------------------------------------- /packages/core/src/app/views/Dropdown/Dropdown.html: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /packages/core/src/app/views/Listbox/Listbox.html: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /packages/core/src/app/scss/app.scss: -------------------------------------------------------------------------------- 1 | @import "./core"; 2 | @import "./code"; 3 | @import "./content"; 4 | @import "./sidebar"; 5 | @import "./topbar"; 6 | @import "./footer"; 7 | @import "./demo"; 8 | @import "./responsive"; 9 | @import "./virtual-scroller"; 10 | @import "./inputtext"; 11 | @import "./button"; 12 | @import "./ripple"; 13 | -------------------------------------------------------------------------------- /packages/react/src/react-component-lib/utils/case.ts: -------------------------------------------------------------------------------- 1 | export const dashToPascalCase = (str: string) => 2 | str 3 | .toLowerCase() 4 | .split('-') 5 | .map((segment) => segment.charAt(0).toUpperCase() + segment.slice(1)) 6 | .join(''); 7 | export const camelToDashCase = (str: string) => str.replace(/([A-Z])/g, (m: string) => `-${m[0].toLowerCase()}`); 8 | -------------------------------------------------------------------------------- /packages/core/src/app/scss/_footer.scss: -------------------------------------------------------------------------------- 1 | .layout-footer { 2 | padding: 2rem; 3 | font-size: 1rem; 4 | background-color: var(--surface-a); 5 | display: flex; 6 | align-items: center; 7 | justify-content: space-between; 8 | position: absolute; 9 | bottom: 0; 10 | width: calc(100% - 250px); 11 | left: 250px; 12 | } 13 | -------------------------------------------------------------------------------- /packages/angular/projects/anywhere-ui/tsconfig.lib.prod.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "./tsconfig.lib.json", 4 | "compilerOptions": { 5 | "declarationMap": false 6 | }, 7 | "angularCompilerOptions": { 8 | "enableIvy": "true", 9 | "compilationMode": "partial" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /packages/angular/projects/anywhere-ui/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tslint.json", 3 | "rules": { 4 | "directive-selector": [ 5 | true, 6 | "attribute", 7 | "lib", 8 | "camelCase" 9 | ], 10 | "component-selector": [ 11 | true, 12 | "element", 13 | "lib", 14 | "kebab-case" 15 | ] 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /packages/angular/.editorconfig: -------------------------------------------------------------------------------- 1 | # Editor configuration, see https://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | indent_style = space 7 | indent_size = 2 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [*.ts] 12 | quote_type = single 13 | 14 | [*.md] 15 | max_line_length = off 16 | trim_trailing_whitespace = false 17 | -------------------------------------------------------------------------------- /packages/core/src/app/views/InputText/InputText.html: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /packages/core/src/components/input-textarea/input-textarea.scss: -------------------------------------------------------------------------------- 1 | @import "../../themes/anywhere.globals.scss"; 2 | @import "../input-text/input-text.scss"; 3 | 4 | :host { 5 | display: block; 6 | 7 | .any-inputtextarea-resizable { 8 | overflow: hidden; 9 | resize: none; 10 | } 11 | 12 | .any-fluid .any-inputtextarea { 13 | width: 100%; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /packages/core/.gitignore: -------------------------------------------------------------------------------- 1 | dist/ 2 | www/ 3 | loader/ 4 | 5 | *~ 6 | *.sw[mnpcod] 7 | *.log 8 | *.lock 9 | *.tmp 10 | *.tmp.* 11 | log.txt 12 | *.sublime-project 13 | *.sublime-workspace 14 | 15 | .stencil/ 16 | .idea/ 17 | .vscode/ 18 | .sass-cache/ 19 | .versions/ 20 | node_modules/ 21 | $RECYCLE.BIN/ 22 | 23 | .DS_Store 24 | Thumbs.db 25 | UserInterfaceState.xcuserstate 26 | .env 27 | -------------------------------------------------------------------------------- /packages/core/src/app/views/InputTextarea/InputTextarea.html: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /packages/core/src/components/badge/test/badge.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('any-badge', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('any-badge'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/app/views/AbstractView.js: -------------------------------------------------------------------------------- 1 | export default class { 2 | constructor(params) { 3 | this.params = params; 4 | } 5 | 6 | setTitle(title) { 7 | if (title) { 8 | document.title = "AnywhereUI - " + title; 9 | } else { 10 | document.title = "AnywhereUI "; 11 | } 12 | } 13 | 14 | async getHtml() { 15 | return ""; 16 | } 17 | 18 | executeScript() {} 19 | } 20 | -------------------------------------------------------------------------------- /packages/core/src/components/button/test/button.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('any-button', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('any-button'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/overlay/test/overlay.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('any-overlay', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('any-overlay'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/checkbox/test/checkbox.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from "@stencil/core/testing"; 2 | 3 | describe("any-checkbox", () => { 4 | it("renders", async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(""); 7 | 8 | const element = await page.find("any-checkbox"); 9 | expect(element).toHaveClass("hydrated"); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/tab-view/test/tab-view.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('any-tab-view', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('any-tab-view'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/tab-panel/test/tab-panel.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('any-tab-panel', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('any-tab-panel'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/doc/app-doc/test/app-doc.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('any-app-doc', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('any-app-doc'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/input-text/test/input-text.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from "@stencil/core/testing"; 2 | 3 | describe("input-text", () => { 4 | it("renders", async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(""); 7 | 8 | const element = await page.find("any-input-text"); 9 | expect(element).toHaveClass("hydrated"); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/listbox/test/listbox.e2e.js: -------------------------------------------------------------------------------- 1 | // import { newE2EPage } from '@stencil/core/testing'; 2 | // describe('any-listbox', () => { 3 | // it('renders', async () => { 4 | // const page = await newE2EPage(); 5 | // await page.setContent(''); 6 | // const element = await page.find('any-listbox'); 7 | // expect(element).toHaveClass('hydrated'); 8 | // }); 9 | // }); 10 | -------------------------------------------------------------------------------- /packages/angular/projects/anywhere-ui/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "../../tsconfig.json", 4 | "compilerOptions": { 5 | "outDir": "../../out-tsc/spec", 6 | "types": [ 7 | "jasmine" 8 | ] 9 | }, 10 | "files": [ 11 | "src/test.ts" 12 | ], 13 | "include": [ 14 | "**/*.spec.ts", 15 | "**/*.d.ts" 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/doc/app-code/test/app-code.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('any-app-code', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('any-app-code'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/listbox/test/listbox.e2e.ts: -------------------------------------------------------------------------------- 1 | // import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | // describe('any-listbox', () => { 4 | // it('renders', async () => { 5 | // const page = await newE2EPage(); 6 | // await page.setContent(''); 7 | 8 | // const element = await page.find('any-listbox'); 9 | // expect(element).toHaveClass('hydrated'); 10 | // }); 11 | // }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/multiselect/test/multiselect.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('any-multiselect', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('any-multiselect'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/radio-group/test/radio-group.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('any-radio-group', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('any-radio-group'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/input-number/test/input-number.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('any-input-number', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('any-input-number'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/input-switch/test/input-switch.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('any-input-switch', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('any-input-switch'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/radio-button/test/radio-button.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('any-radio-button', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('any-radio-button'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/app/views/GetStarted/GetStarted.js: -------------------------------------------------------------------------------- 1 | import AbstractView from "../AbstractView.js"; 2 | 3 | export default class extends AbstractView { 4 | constructor(params) { 5 | super(params); 6 | this.setTitle(""); 7 | } 8 | 9 | executeScript() {} 10 | 11 | async getHtml() { 12 | return fetch('app/views/GetStarted/GetStarted.html') 13 | .then(data => { 14 | return data.text(); 15 | }); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/config/app-config/test/app-config.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('any-app-config', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('any-app-config'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/badge-overlay/test/badge-overlay.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('any-badge-overlay', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('any-badge-overlay'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/ripple-effect/test/ripple-effect.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('any-ripple-effect', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('any-ripple-effect'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/input-textarea/test/input-textarea.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from "@stencil/core/testing"; 2 | 3 | describe("any-input-textarea", () => { 4 | it("renders", async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(""); 7 | 8 | const element = await page.find("any-input-textarea"); 9 | expect(element).toHaveClass("hydrated"); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/react/src/react-component-lib/utils/dev.ts: -------------------------------------------------------------------------------- 1 | export const isDevMode = () => { 2 | return process && process.env && process.env.NODE_ENV === 'development'; 3 | }; 4 | 5 | const warnings: { [key: string]: boolean } = {}; 6 | 7 | export const deprecationWarning = (key: string, message: string) => { 8 | if (isDevMode()) { 9 | if (!warnings[key]) { 10 | console.warn(message); 11 | warnings[key] = true; 12 | } 13 | } 14 | }; 15 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/listbox/listbox-basic/test/listbox-basic.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('listbox-basic', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('listbox-basic'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/listbox/listbox-filter/test/listbox-filter.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('listbox-filter', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('listbox-filter'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/virtual-scroller/test/virtual-scroller.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from "@stencil/core/testing"; 2 | 3 | describe("virtual-scroller", () => { 4 | it("renders", async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(""); 7 | 8 | const element = await page.find("any-virtual-scroller"); 9 | expect(element).toHaveClass("hydrated"); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/dropdown/dropdown-basic/test/dropdown-basic.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('dropdown-basic', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('dropdown-basic'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/doc/app-docsection/test/app-docsection.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('any-app-docsection', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('any-app-docsection'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/dropdown/dropdown-filter/test/dropdown-filter.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('dropdown-filter', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('dropdown-filter'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | dist/ 2 | dist-transpiled/ 3 | build/ 4 | www/ 5 | loader/ 6 | 7 | *~ 8 | *.sw[mnpcod] 9 | *.log 10 | *.lock 11 | *.tmp 12 | *.tmp.* 13 | log.txt 14 | *.sublime-project 15 | *.sublime-workspace 16 | 17 | .stencil/ 18 | .idea/ 19 | .vscode/ 20 | .sass-cache/ 21 | .versions/ 22 | .yalc/ 23 | node_modules/ 24 | $RECYCLE.BIN/ 25 | 26 | .DS_Store 27 | Thumbs.db 28 | UserInterfaceState.xcuserstate 29 | .env 30 | 31 | # GitHub 32 | .github_changelog_generator 33 | .nx/cache -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/doc/app-docapitable/test/app-docapitable.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('any-app-docapitable', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('any-app-docapitable'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-text/input-text-basic/test/input-text-basic.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('input-text-basic', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('input-text-basic'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-text/input-text-icons/test/input-text-icons.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('input-text-icons', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('input-text-icons'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/listbox/listbox-disabled/test/listbox-disabled.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('listbox-disabled', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('listbox-disabled'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/listbox/listbox-multiple/test/listbox-multiple.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('listbox-multiple', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('listbox-multiple'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/listbox/listbox-template/test/listbox-template.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('listbox-template', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('listbox-template'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/badge-overlay/badge-overlay.scss: -------------------------------------------------------------------------------- 1 | @import "../../themes/anywhere.globals.scss"; 2 | 3 | :host { 4 | display: inline-block; 5 | 6 | .any-overlay-badge { 7 | position: relative; 8 | } 9 | 10 | .any-overlay-badge { 11 | ::slotted(any-badge) { 12 | position: absolute; 13 | top: 0; 14 | right: 0; 15 | transform: translate(50%, -50%); 16 | transform-origin: 100% 0; 17 | margin: 0; 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /packages/angular/projects/anywhere-ui/src/lib/util/util.ts: -------------------------------------------------------------------------------- 1 | declare const __zone_symbol__requestAnimationFrame: any; 2 | declare const requestAnimationFrame: any; 3 | 4 | export const raf = (h: any): any => { 5 | if (typeof __zone_symbol__requestAnimationFrame === 'function') { 6 | return __zone_symbol__requestAnimationFrame(h); 7 | } 8 | if (typeof requestAnimationFrame === 'function') { 9 | return requestAnimationFrame(h); 10 | } 11 | return setTimeout(h); 12 | }; 13 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/checkbox/checkbox-basic/test/checkbox-basic.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('any-checkbox-basic', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('any-checkbox-basic'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/checkbox/checkbox-group/test/checkbox-group.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('any-checkbox-group', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('any-checkbox-group'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/checkbox/checkbox-label/test/checkbox-label.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('any-checkbox-label', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('any-checkbox-label'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/dropdown/dropdown-disabled/test/dropdown-disabled.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('dropdown-disabled', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('dropdown-disabled'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/dropdown/dropdown-template/test/dropdown-template.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('dropdown-template', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('dropdown-template'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/doc/app-docapisection/test/app-docapisection.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('any-app-docapisection', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('any-app-docapisection'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/doc/app-docsection-nav/test/app-docsection-nav.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('any-app-docsection-nav', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('any-app-docsection-nav'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/doc/app-docsectiontext/test/app-docsectiontext.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('any-app-docsectiontext', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('any-app-docsectiontext'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/checkbox/checkbox-dynamic/test/checkbox-dynamic.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('any-checkbox-dynamic', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('any-checkbox-dynamic'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-switch/input-switch-basic/test/input-switch-basic.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('input-switch-basic', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('input-switch-basic'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/checkbox/checkbox-disabled/test/checkbox-disabled.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('any-checkbox-disabled', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('any-checkbox-disabled'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/checkbox/checkbox-readonly/test/checkbox-readonly.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('any-checkbox-readonly', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('any-checkbox-readonly'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-number/input-number-locale/test/input-number-locale.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('input-number-locale', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('input-number-locale'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-text/input-text-disabled/test/input-text-disabled.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('input-text-disabled', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('input-text-disabled'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/vue/rollup.config.mjs: -------------------------------------------------------------------------------- 1 | import terser from "@rollup/plugin-terser"; 2 | 3 | export default { 4 | input: "dist-transpiled/index.js", 5 | output: [ 6 | { 7 | file: "dist/index.js", 8 | format: "esm", 9 | sourcemap: true, 10 | }, 11 | { 12 | file: "dist/index.min.js", 13 | format: "esm", 14 | sourcemap: true, 15 | plugins: [terser()], 16 | }, 17 | ], 18 | external: ["@anywhere-ui/core", "@anywhere-ui/core/loader", "vue"], 19 | }; 20 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/config/app-config/readme.md: -------------------------------------------------------------------------------- 1 | # app-config 2 | 3 | 4 | 5 | 6 | 7 | 8 | ## Dependencies 9 | 10 | ### Depends on 11 | 12 | - [any-input-switch](../../../input-switch) 13 | 14 | ### Graph 15 | ```mermaid 16 | graph TD; 17 | app-config --> any-input-switch 18 | style app-config fill:#f9f,stroke:#333,stroke-width:4px 19 | ``` 20 | 21 | ---------------------------------------------- 22 | 23 | *Built with love by **AdaleksTech!*** 24 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-number/input-number-buttons/test/input-number-buttons.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('input-number-buttons', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('input-number-buttons'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-number/input-number-numeral/test/input-number-numeral.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('input-number-numeral', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('input-number-numeral'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-textarea/input-textarea-basic/test/input-textarea-basic.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('input-textarea-basic', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('input-textarea-basic'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-number/input-number-currency/test/input-number-currency.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('input-number-currency', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('input-number-currency'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-number/input-number-disabled/test/input-number-disabled.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('input-number-disabled', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('input-number-disabled'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-number/input-number-vertical/test/input-number-vertical.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('input-number-vertical', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('input-number-vertical'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-switch/input-switch-disabled/test/input-switch-disabled.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('input-switch-disabled', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('input-switch-disabled'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/listbox/listbox-virtual-scroll/test/listbox-virtual-scroll.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('listbox-virtual-scroll', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('listbox-virtual-scroll'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/dropdown/dropdown-virtual-scroll/test/dropdown-virtual-scroll.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('dropdown-virtual-scroll', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('dropdown-virtual-scroll'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-text/input-text-float-label/test/input-text-float-label.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('input-text-float-label', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('input-text-float-label'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /nx.json: -------------------------------------------------------------------------------- 1 | { 2 | "namedInputs": { 3 | "default": ["{projectRoot}/**/*"], 4 | "prod": ["!{projectRoot}/**/*.spec.tsx"], 5 | "production": ["default"] 6 | }, 7 | "targetDefaults": { 8 | "build": { 9 | "dependsOn": ["prebuild", "^build"], 10 | "inputs": ["prod", "^prod"], 11 | "outputs": ["{projectRoot}/dist"], 12 | "cache": true 13 | }, 14 | "test": { 15 | "inputs": ["default", "^prod", "{workspaceRoot}/jest.config.ts"], 16 | "cache": true 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-number/input-number-float-label/test/input-number-float-label.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('input-number-float-label', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('input-number-float-label'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-textarea/input-textarea-disabled/test/input-textarea-disabled.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('input-textarea-disabled', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('input-textarea-disabled'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/angular/projects/anywhere-ui/src/public-api.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Public API Surface of anywhere-ui 3 | */ 4 | export * from './lib/providers/config'; 5 | export * from './lib/anywhere-ui.module'; 6 | export * from './lib/directives/proxies'; 7 | export * from './lib/directives/boolean-value-accessor'; 8 | export * from './lib/directives/text-value-accessor'; 9 | export * from './lib/directives/select-value-accessor'; 10 | export * from './lib/directives/radio-value-accessor'; 11 | export * from './lib/directives/number-value-accessor'; 12 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-switch/input-switch-preselection/test/input-switch-preselection.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('input-switch-preselection', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('input-switch-preselection'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/badge-overlay/readme.md: -------------------------------------------------------------------------------- 1 | # any-badge-overlay 2 | 3 | 4 | 5 | 6 | 7 | 8 | ## Properties 9 | 10 | | Property | Attribute | Description | Type | Default | 11 | | ------------ | ------------- | ----------------------------- | -------- | ------- | 12 | | `styleClass` | `style-class` | Style class of the component. | `string` | `null` | 13 | 14 | 15 | ---------------------------------------------- 16 | 17 | *Built with love by **AdaleksTech!*** 18 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-textarea/input-textarea-auto-resize/test/input-textarea-auto-resize.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('input-textarea-auto-resize', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('input-textarea-auto-resize'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-textarea/input-textarea-float-label/test/input-textarea-float-label.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('input-textarea-float-label', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('input-textarea-float-label'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/core/src/components/badge/test/badge.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { AnyBadge } from '../badge'; 3 | 4 | describe('any-badge', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [AnyBadge], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-number/input-number-prefix-and-suffix/test/input-number-prefix-and-suffix.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('input-number-prefix-and-suffix', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | await page.setContent(''); 7 | 8 | const element = await page.find('input-number-prefix-and-suffix'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /packages/vue/setupTests.ts: -------------------------------------------------------------------------------- 1 | window.matchMedia = 2 | window.matchMedia || 3 | (function () { 4 | return { 5 | matches: false, 6 | addListener() {}, 7 | removeListener() {}, 8 | }; 9 | } as any); 10 | 11 | (window as any).CSSStyleSheet = class { 12 | constructor() { 13 | throw Error(); 14 | } 15 | } as any; 16 | 17 | let error = console.error; 18 | console.error = function (message: any) { 19 | error.apply(console, arguments); // keep default behaviour 20 | throw message instanceof Error ? message : new Error(message); 21 | }; 22 | -------------------------------------------------------------------------------- /packages/core/scripts/deploy-site-to-master.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # This should be your build command, the one that builds up the site 4 | npm run build 5 | # We change to the 'www' directory. If we do right now 'git branch' it should point to the 'master' branch 6 | cd www 7 | # We do a commit and push the deployed site to the 'master' branch 8 | git add --all 9 | git commit -m "deployed site to master" 10 | git push --set-upstream origin master --force 11 | # Switch back to the main folder of the repo. If we do right now 'git branch' it should point to the 'source' branch 12 | cd .. -------------------------------------------------------------------------------- /packages/core/src/components/overlay/test/overlay.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { AnyOverlay } from '../overlay'; 3 | 4 | describe('any-overlay', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [AnyOverlay], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/tab-view/test/tab-view.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { TabView } from '../tab-view'; 3 | 4 | describe('any-tab-view', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [TabView], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/button/test/button.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from "@stencil/core/testing"; 2 | import { AnyButton } from "../button"; 3 | 4 | describe("any-button", () => { 5 | it("renders", async () => { 6 | const page = await newSpecPage({ 7 | components: [AnyButton], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/doc/app-doc/test/app-doc.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { AppDoc } from '../app-doc'; 3 | 4 | describe('any-app-doc', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [AppDoc], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/tab-panel/test/tab-panel.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from "@stencil/core/testing"; 2 | import { TabPanel } from "../tab-panel"; 3 | 4 | describe("any-tab-panel", () => { 5 | it("renders", async () => { 6 | const page = await newSpecPage({ 7 | components: [TabPanel], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/doc/app-code/test/app-code.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { AppCode } from '../app-code'; 3 | 4 | describe('any-app-code', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [AppCode], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/input-text/test/input-text.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from "@stencil/core/testing"; 2 | import { AnyInputText } from "../input-text"; 3 | 4 | describe("any-input-text", () => { 5 | it("renders", async () => { 6 | const page = await newSpecPage({ 7 | components: [AnyInputText], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/radio-group/test/radio-group.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { RadioGroup } from '../radio-group'; 3 | 4 | describe('any-radio-group', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [RadioGroup], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/config/app-config/test/app-config.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { AppConfig } from '../app-config'; 3 | 4 | describe('any-app-config', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [AppConfig], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/input-number/test/input-number.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { InputNumber } from '../input-number'; 3 | 4 | describe('any-input-number', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [InputNumber], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/input-switch/test/input-switch.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { InputSwitch } from '../input-switch'; 3 | 4 | describe('any-input-switch', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [InputSwitch], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/multiselect/test/multiselect.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { AnyMultiselect } from '../multiselect'; 3 | 4 | describe('any-multiselect', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [AnyMultiselect], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/radio-button/test/radio-button.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { RadioButton } from '../radio-button'; 3 | 4 | describe('any-radio-button', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [RadioButton], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/scripts/update-template-version.js: -------------------------------------------------------------------------------- 1 | var fs = require("fs"); 2 | const pkgJson = require('../package.json'); 3 | const template = 'index.html'; 4 | 5 | fs.readFile(process.cwd() + '/packages/core/src/' + template, 'utf8', function (err, data) { 6 | if (err) { 7 | return console.log(err); 8 | } 9 | var result = data.replace(/\.*?\<\/span>\s?/g, "\" + pkgJson.version + "\<\/span> "); 10 | 11 | fs.writeFile(process.cwd() + '/packages/core/src/' + template, result, 'utf8', function (err) { 12 | if (err) return console.log(err); 13 | }); 14 | }); 15 | -------------------------------------------------------------------------------- /packages/core/src/components/listbox/test/listbox.spec.js: -------------------------------------------------------------------------------- 1 | // import { newSpecPage } from '@stencil/core/testing'; 2 | // import { AnyListbox } from '../any-listbox'; 3 | // describe('any-listbox', () => { 4 | // it('renders', async () => { 5 | // const page = await newSpecPage({ 6 | // components: [AnyListbox], 7 | // html: ``, 8 | // }); 9 | // expect(page.root).toEqualHtml(` 10 | // 11 | // 12 | // 13 | // 14 | // 15 | // `); 16 | // }); 17 | // }); 18 | -------------------------------------------------------------------------------- /packages/core/src/components/ripple-effect/test/ripple-effect.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { RippleEffect } from '../ripple-effect'; 3 | 4 | describe('any-ripple-effect', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [RippleEffect], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/angular/projects/anywhere-ui/src/test.ts: -------------------------------------------------------------------------------- 1 | // This file is required by karma.conf.js and loads recursively all the .spec and framework files 2 | 3 | import 'zone.js'; 4 | import 'zone.js/testing'; 5 | import { getTestBed } from '@angular/core/testing'; 6 | import { 7 | BrowserDynamicTestingModule, 8 | platformBrowserDynamicTesting 9 | } from '@angular/platform-browser-dynamic/testing'; 10 | 11 | // First, initialize the Angular testing environment. 12 | getTestBed().initTestEnvironment( 13 | BrowserDynamicTestingModule, 14 | platformBrowserDynamicTesting(), { 15 | teardown: { destroyAfterEach: false } 16 | } 17 | ); 18 | -------------------------------------------------------------------------------- /packages/core/src/components/listbox/test/listbox.spec.tsx: -------------------------------------------------------------------------------- 1 | // import { newSpecPage } from '@stencil/core/testing'; 2 | // import { AnyListbox } from '../any-listbox'; 3 | 4 | // describe('any-listbox', () => { 5 | // it('renders', async () => { 6 | // const page = await newSpecPage({ 7 | // components: [AnyListbox], 8 | // html: ``, 9 | // }); 10 | // expect(page.root).toEqualHtml(` 11 | // 12 | // 13 | // 14 | // 15 | // 16 | // `); 17 | // }); 18 | // }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/listbox/listbox-basic/test/listbox-basic.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { ListboxBasic } from '../listbox-basic'; 3 | 4 | describe('listbox-basic', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [ListboxBasic], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/input-textarea/test/input-textarea.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from "@stencil/core/testing"; 2 | import { InputTextarea } from "../input-textarea"; 3 | 4 | describe("any-input-textarea", () => { 5 | it("renders", async () => { 6 | const page = await newSpecPage({ 7 | components: [InputTextarea], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/dropdown/dropdown-basic/test/dropdown-basic.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { DropdownBasic } from '../dropdown-basic'; 3 | 4 | describe('dropdown-basic', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [DropdownBasic], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/listbox/listbox-filter/test/listbox-filter.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { ListboxFilter } from '../listbox-filter'; 3 | 4 | describe('listbox-filter', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [ListboxFilter], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/badge-overlay/test/badge-overlay.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from "@stencil/core/testing"; 2 | import { BadgeOverlay } from "../badge-overlay"; 3 | 4 | describe("any-badge-overlay", () => { 5 | it("renders", async () => { 6 | const page = await newSpecPage({ 7 | components: [BadgeOverlay], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/dropdown/dropdown-filter/test/dropdown-filter.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { DropdownFilter } from '../dropdown-filter'; 3 | 4 | describe('dropdown-filter', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [DropdownFilter], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "allowSyntheticDefaultImports": true, 4 | "allowUnreachableCode": false, 5 | "declaration": false, 6 | "experimentalDecorators": true, 7 | "lib": ["dom", "es2017"], 8 | "moduleResolution": "node", 9 | "module": "esnext", 10 | "target": "es2020", 11 | "noUnusedLocals": true, 12 | "noUnusedParameters": true, 13 | "jsx": "react", 14 | "jsxFactory": "h", 15 | "resolveJsonModule": true, 16 | "skipLibCheck": true 17 | }, 18 | "include": ["src", "types/jsx.d.ts"], 19 | "exclude": ["node_modules", "src/doc/docs.d.ts"] 20 | } 21 | -------------------------------------------------------------------------------- /packages/core/src/components/virtual-scroller/test/virtual-scroller.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from "@stencil/core/testing"; 2 | import { AnyVirtualScroller } from "../virtual-scroller"; 3 | 4 | describe("virtual-scroller", () => { 5 | it("renders", async () => { 6 | const page = await newSpecPage({ 7 | components: [AnyVirtualScroller], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/angular/projects/anywhere-ui/tsconfig.lib.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "extends": "../../tsconfig.json", 4 | "compilerOptions": { 5 | "outDir": "../../out-tsc/lib", 6 | "declaration": true, 7 | "declarationMap": true, 8 | "inlineSources": true, 9 | "types": [], 10 | "lib": [ 11 | "dom", 12 | "es2018" 13 | ] 14 | }, 15 | "angularCompilerOptions": { 16 | "skipTemplateCodegen": true, 17 | "strictMetadataEmit": true, 18 | "enableResourceInlining": true 19 | }, 20 | "exclude": [ 21 | "src/test.ts", 22 | "**/*.spec.ts" 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/doc/app-docapitable/test/app-docapitable.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from "@stencil/core/testing"; 2 | import { AppDocApiTable } from "../app-docapitable"; 3 | 4 | describe("any-app-docapitable", () => { 5 | it("renders", async () => { 6 | const page = await newSpecPage({ 7 | components: [AppDocApiTable], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/checkbox/checkbox-basic/test/checkbox-basic.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { CheckboxBasic } from '../checkbox-basic'; 3 | 4 | describe('any-checkbox-basic', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [CheckboxBasic], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/checkbox/checkbox-group/test/checkbox-group.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { CheckboxGroup } from '../checkbox-group'; 3 | 4 | describe('any-checkbox-group', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [CheckboxGroup], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/checkbox/checkbox-label/test/checkbox-label.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { CheckboxLabel } from '../checkbox-label'; 3 | 4 | describe('any-checkbox-label', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [CheckboxLabel], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-text/input-text-basic/test/input-text-basic.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { InputTextBasic } from '../input-text-basic'; 3 | 4 | describe('input-text-basic', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [InputTextBasic], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-text/input-text-icons/test/input-text-icons.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { InputTextIcons } from '../input-text-icons'; 3 | 4 | describe('input-text-icons', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [InputTextIcons], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/listbox/listbox-disabled/test/listbox-disabled.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { ListboxDisabled } from '../listbox-disabled'; 3 | 4 | describe('listbox-disabled', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [ListboxDisabled], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/listbox/listbox-multiple/test/listbox-multiple.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { ListboxMultiple } from '../listbox-multiple'; 3 | 4 | describe('listbox-multiple', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [ListboxMultiple], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/listbox/listbox-template/test/listbox-template.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { ListboxTemplate } from '../listbox-template'; 3 | 4 | describe('listbox-template', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [ListboxTemplate], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/dropdown/dropdown-disabled/test/dropdown-disabled.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { DropdownDisabled } from '../dropdown-disabled'; 3 | 4 | describe('dropdown-disabled', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [DropdownDisabled], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/dropdown/dropdown-template/test/dropdown-template.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { DropdownTemplate } from '../dropdown-template'; 3 | 4 | describe('dropdown-template', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [DropdownTemplate], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/doc/app-docapisection/test/app-docapisection.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { AppDocapisection } from '../app-docapisection'; 3 | 4 | describe('any-app-docapisection', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [AppDocapisection], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/checkbox/checkbox-dynamic/test/checkbox-dynamic.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { CheckboxDynamic } from '../checkbox-dynamic'; 3 | 4 | describe('any-checkbox-dynamic', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [CheckboxDynamic], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-switch/input-switch-basic/test/input-switch-basic.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { InputSwitchBasic } from '../input-switch-basic'; 3 | 4 | describe('input-switch-basic', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [InputSwitchBasic], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/doc/app-docsection-nav/test/app-docsection-nav.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from "@stencil/core/testing"; 2 | import { AppDocSectionNav } from "../app-docsection-nav"; 3 | 4 | describe("any-app-docsection-nav", () => { 5 | it("renders", async () => { 6 | const page = await newSpecPage({ 7 | components: [AppDocSectionNav], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/doc/app-docsection/test/app-docsection.spec.tsx: -------------------------------------------------------------------------------- 1 | // import { newSpecPage } from "@stencil/core/testing"; 2 | // import { AppDocSection } from "../app-docsection"; 3 | 4 | describe("any-app-docsection", () => { 5 | it("renders", async () => { 6 | // const page = await newSpecPage({ 7 | // components: [AppDocSection], 8 | // html: ``, 9 | // }); 10 | // expect(page.root).toEqualHtml(` 11 | // 12 | // 13 | // 14 | // 15 | // 16 | // `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/doc/app-docsectiontext/test/app-docsectiontext.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from "@stencil/core/testing"; 2 | import { AppDocSectionText } from "../app-docsectiontext"; 3 | 4 | describe("any-app-docsectiontext", () => { 5 | it("renders", async () => { 6 | const page = await newSpecPage({ 7 | components: [AppDocSectionText], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/checkbox/checkbox-disabled/test/checkbox-disabled.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { CheckboxDisabled } from '../checkbox-disabled'; 3 | 4 | describe('any-checkbox-disabled', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [CheckboxDisabled], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/checkbox/checkbox-readonly/test/checkbox-readonly.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { CheckboxReadonly } from '../checkbox-readonly'; 3 | 4 | describe('any-checkbox-readonly', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [CheckboxReadonly], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-number/input-number-locale/test/input-number-locale.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { InputNumberLocale } from '../input-number-locale'; 3 | 4 | describe('input-number-locale', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [InputNumberLocale], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-text/input-text-disabled/test/input-text-disabled.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { InputTextDisabled } from '../input-text-disabled'; 3 | 4 | describe('input-text-disabled', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [InputTextDisabled], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-number/input-number-buttons/test/input-number-buttons.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { InputNumberButtons } from '../input-number-buttons'; 3 | 4 | describe('input-number-buttons', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [InputNumberButtons], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-number/input-number-numeral/test/input-number-numeral.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { InputNumberNumeral } from '../input-number-numeral'; 3 | 4 | describe('input-number-numeral', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [InputNumberNumeral], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/utils/utils.spec.js: -------------------------------------------------------------------------------- 1 | import { format } from './utils'; 2 | describe('format', () => { 3 | it('returns empty string for no names defined', () => { 4 | expect(format(undefined, undefined, undefined)).toEqual(''); 5 | }); 6 | it('formats just first names', () => { 7 | expect(format('Joseph', undefined, undefined)).toEqual('Joseph'); 8 | }); 9 | it('formats first and last names', () => { 10 | expect(format('Joseph', undefined, 'Publique')).toEqual('Joseph Publique'); 11 | }); 12 | it('formats first, middle and last names', () => { 13 | expect(format('Joseph', 'Quincy', 'Publique')).toEqual('Joseph Quincy Publique'); 14 | }); 15 | }); 16 | -------------------------------------------------------------------------------- /.grenrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "username": "adaleks", 3 | "repo": "anywhere-ui", 4 | "groupBy": { 5 | "Implemented New Features and Enhancements:": [ 6 | "enhancement", 7 | "internal", 8 | "Enhancement", 9 | "new feature" 10 | ], 11 | "Fixed Bugs:": ["bug"], 12 | "Documentations:": ["documentation"] 13 | }, 14 | "ignoreIssuesWith": ["wontfix", "duplicate"], 15 | "template": { 16 | "release": "## [{{release}}](https://github.com/adaleks/anywhere-ui/tree/{{release}}) ({{date}})\n{{body}}", 17 | "issue": "- {{name}} [{{text}}]({{url}})", 18 | "group": "\n **{{heading}}**\n" 19 | }, 20 | "onlyMIlestones": true, 21 | "override": true, 22 | "tags": "all" 23 | } 24 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-textarea/input-textarea-basic/test/input-textarea-basic.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { InputTextareaBasic } from '../input-textarea-basic'; 3 | 4 | describe('input-textarea-basic', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [InputTextareaBasic], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/tab-panel/readme.md: -------------------------------------------------------------------------------- 1 | # any-tab-panel 2 | 3 | 4 | 5 | 6 | 7 | 8 | ## Properties 9 | 10 | | Property | Attribute | Description | Type | Default | 11 | | ---------- | ---------- | ----------------------------------- | --------- | ------- | 12 | | `disabled` | `disabled` | When true, tab cannot be activated. | `boolean` | `false` | 13 | | `header` | `header` | Title of the tabPanel. | `string` | `null` | 14 | | `selected` | `selected` | Defines if tab is active. | `boolean` | `false` | 15 | 16 | 17 | ---------------------------------------------- 18 | 19 | *Built with love by **AdaleksTech!*** 20 | -------------------------------------------------------------------------------- /packages/core/src/app/views/Badge/Badge.js: -------------------------------------------------------------------------------- 1 | import AbstractView from "../AbstractView.js"; 2 | 3 | export default class extends AbstractView { 4 | constructor(params) { 5 | super(params); 6 | this.setTitle("Badge"); 7 | } 8 | 9 | executeScript() { 10 | this.viewOnGithubBtn = document.querySelector("#view_on_github"); 11 | this.viewOnGithubBtn.addEventListener("aOnClick", (event) => { 12 | window.open('https://github.com/adaleks/anywhere-ui/tree/main/packages/core/src/components/badge', '_blank'); 13 | }); 14 | } 15 | 16 | async getHtml() { 17 | return fetch('app/views/Badge/Badge.html') 18 | .then(data => { 19 | return data.text(); 20 | }); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-number/input-number-currency/test/input-number-currency.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { InputNumberCurrency } from '../input-number-currency'; 3 | 4 | describe('input-number-currency', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [InputNumberCurrency], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-number/input-number-disabled/test/input-number-disabled.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { InputNumberDisabled } from '../input-number-disabled'; 3 | 4 | describe('input-number-disabled', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [InputNumberDisabled], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-number/input-number-vertical/test/input-number-vertical.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { InputNumberVertical } from '../input-number-vertical'; 3 | 4 | describe('input-number-vertical', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [InputNumberVertical], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-switch/input-switch-disabled/test/input-switch-disabled.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { InputSwitchDisabled } from '../input-switch-disabled'; 3 | 4 | describe('input-switch-disabled', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [InputSwitchDisabled], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/utils/load-icons.ts: -------------------------------------------------------------------------------- 1 | import Iconify from '@iconify/iconify'; 2 | 3 | export const loadIcons = (icons: any[]) => { 4 | return new Promise((fulfill, reject) => { 5 | Iconify.loadIcons(icons, (loaded, missing, pending) => { 6 | if (pending.length) { 7 | // Icons are pending, wait for all to load/fail 8 | return; 9 | } 10 | if (missing.length) { 11 | reject({ 12 | loaded, 13 | missing, 14 | }); 15 | } else { 16 | fulfill({ 17 | loaded, 18 | }); 19 | } 20 | }); 21 | }); 22 | } -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-text/input-text-float-label/test/input-text-float-label.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { InputTextFloatLabel } from '../input-text-float-label'; 3 | 4 | describe('input-text-float-label', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [InputTextFloatLabel], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/listbox/listbox-virtual-scroll/test/listbox-virtual-scroll.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { ListboxVirtualScroll } from '../listbox-virtual-scroll'; 3 | 4 | describe('listbox-virtual-scroll', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [ListboxVirtualScroll], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/dropdown/dropdown-virtual-scroll/test/dropdown-virtual-scroll.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { DropdownVirtualScroll } from '../dropdown-virtual-scroll'; 3 | 4 | describe('dropdown-virtual-scroll', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [DropdownVirtualScroll], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/virtual-scroller/virtual-scroller.scss: -------------------------------------------------------------------------------- 1 | @import "../../themes/anywhere.globals.scss"; 2 | @import "~clusterize.js/clusterize.css"; 3 | 4 | :host { 5 | /* max-height - the only parameter in this file that needs to be edited. 6 | * Change it to suit your needs. The rest is recommended to leave as is. 7 | */ 8 | .clusterize-scroll { 9 | max-height: 100%; 10 | } 11 | 12 | .any-virtualscroller { 13 | .any-virtualscroller-header { 14 | background: var(--surface-b); 15 | color: var(--text-color); 16 | border: solid var(--surface-d); 17 | border-width: 1px 0 0 0; 18 | padding: 1rem 1rem; 19 | font-weight: 600; 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /packages/angular/projects/anywhere-ui/src/lib/directives/radio-value-accessor.ts: -------------------------------------------------------------------------------- 1 | import { Directive, ElementRef } from '@angular/core'; 2 | import { NG_VALUE_ACCESSOR } from '@angular/forms'; 3 | 4 | import { ValueAccessor } from './value-accessor'; 5 | 6 | @Directive({ 7 | /* tslint:disable-next-line:directive-selector */ 8 | selector: 'any-radio-button', 9 | host: { 10 | '(aOnSelect)': 'handleChangeEvent($event.target.checked)' 11 | }, 12 | providers: [ 13 | { 14 | provide: NG_VALUE_ACCESSOR, 15 | useExisting: RadioValueAccessor, 16 | multi: true 17 | } 18 | ] 19 | }) 20 | export class RadioValueAccessor extends ValueAccessor { 21 | constructor(el: ElementRef) { 22 | super(el); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-textarea/input-textarea-disabled/test/input-textarea-disabled.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { InputTextareaDisabled } from '../input-textarea-disabled'; 3 | 4 | describe('input-textarea-disabled', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [InputTextareaDisabled], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/doc/app-code/app-code.scss: -------------------------------------------------------------------------------- 1 | @import "../app-doc/app-doc.scss"; 2 | 3 | :host { 4 | display: block; 5 | 6 | .doc-section-code { 7 | // box-shadow: 8 | // 0 2px 1px -1px rgba(0, 0, 0, 0.2), 9 | // 0 1px 1px 0 rgba(0, 0, 0, 0.14), 10 | // 0 1px 3px 0 rgba(0, 0, 0, 0.12); 11 | div { 12 | &::-webkit-scrollbar { 13 | width: 5px; 14 | } 15 | } 16 | 17 | .any-button-label { 18 | font-weight: normal; 19 | font-size: 0.875rem; 20 | } 21 | 22 | .doc-section-code-active { 23 | .any-button-label { 24 | font-weight: bold; 25 | } 26 | } 27 | 28 | pre { 29 | margin: 0 0 1.5rem 0; 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-number/input-number-float-label/test/input-number-float-label.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { InputNumberFloatLabel } from '../input-number-float-label'; 3 | 4 | describe('input-number-float-label', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [InputNumberFloatLabel], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/app/views/RadioButton/RadioButton.js: -------------------------------------------------------------------------------- 1 | import AbstractView from "../AbstractView.js"; 2 | 3 | export default class extends AbstractView { 4 | constructor(params) { 5 | super(params); 6 | this.setTitle("RadioButton"); 7 | } 8 | 9 | executeScript() { 10 | this.viewOnGithubBtn = document.querySelector("#view_on_github"); 11 | this.viewOnGithubBtn.addEventListener("aOnClick", (event) => { 12 | window.open('https://github.com/adaleks/anywhere-ui/tree/main/packages/core/src/components/radio-button', '_blank'); 13 | }); 14 | } 15 | 16 | async getHtml() { 17 | return fetch('app/views/RadioButton/RadioButton.html') 18 | .then(data => { 19 | return data.text(); 20 | }); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /packages/react/src/index.ts: -------------------------------------------------------------------------------- 1 | import { 2 | AnywhereUIConfig /*, initialize*/, 3 | // initialize, 4 | setupConfig, 5 | } from "@anywhere-ui/core"; 6 | 7 | export * from "./components"; 8 | 9 | export const setupAnywhereUIReact = (config: AnywhereUIConfig = {}) => { 10 | /** 11 | * By default Ionic Framework hides elements that 12 | * are not hydrated, but in the CE build there is no 13 | * hydration. 14 | * TODO: Remove when all integrations have been 15 | * migrated to CE build. 16 | */ 17 | if (typeof (document as any) !== "undefined") { 18 | document.documentElement.classList.add("any-ce"); 19 | } 20 | // initialize({ 21 | // ...config, 22 | // }); 23 | setupConfig({ 24 | ...config, 25 | }); 26 | }; 27 | -------------------------------------------------------------------------------- /packages/core/src/app/views/RippleEffect/RippleEffect.js: -------------------------------------------------------------------------------- 1 | import AbstractView from "../AbstractView.js"; 2 | 3 | export default class extends AbstractView { 4 | constructor(params) { 5 | super(params); 6 | this.setTitle("RippleEffect"); 7 | } 8 | 9 | executeScript() { 10 | this.viewOnGithubBtn = document.querySelector("#view_on_github"); 11 | this.viewOnGithubBtn.addEventListener("aOnClick", (event) => { 12 | window.open('https://github.com/adaleks/anywhere-ui/tree/main/packages/core/src/components/ripple-effect', '_blank'); 13 | }); 14 | } 15 | 16 | async getHtml() { 17 | return fetch('app/views/RippleEffect/RippleEffect.html') 18 | .then(data => { 19 | return data.text(); 20 | }); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-switch/input-switch-preselection/test/input-switch-preselection.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { InputSwitchPreselection } from '../input-switch-preselection'; 3 | 4 | describe('input-switch-preselection', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [InputSwitchPreselection], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/ripple-effect/ripple-effect.scss: -------------------------------------------------------------------------------- 1 | @import "../../themes/anywhere.globals.scss"; 2 | 3 | :host { 4 | display: block; 5 | position: absolute; 6 | top: 0; 7 | left: 0; 8 | // width: 100%;// height: 100%; 9 | 10 | .any-ripple { 11 | overflow: hidden; 12 | position: relative; 13 | } 14 | 15 | .any-ink { 16 | display: block; 17 | position: absolute; 18 | border-radius: 100%; 19 | transform: scale(0); 20 | } 21 | 22 | .any-ink-active { 23 | background: rgba(255, 255, 255, 0.5); 24 | animation: ripple 0.4s linear; 25 | } 26 | 27 | @keyframes ripple { 28 | 100% { 29 | opacity: 0; 30 | transform: scale(2.5); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-textarea/input-textarea-auto-resize/test/input-textarea-auto-resize.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { InputTextareaAutoResize } from '../input-textarea-auto-resize'; 3 | 4 | describe('input-textarea-auto-resize', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [InputTextareaAutoResize], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-textarea/input-textarea-float-label/test/input-textarea-float-label.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { InputTextareaFloatLabel } from '../input-textarea-float-label'; 3 | 4 | describe('input-textarea-float-label', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [InputTextareaFloatLabel], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/angular/projects/anywhere-ui/src/lib/directives/text-value-accessor.ts: -------------------------------------------------------------------------------- 1 | import { Directive, ElementRef } from '@angular/core'; 2 | import { NG_VALUE_ACCESSOR } from '@angular/forms'; 3 | 4 | import { ValueAccessor } from './value-accessor'; 5 | 6 | @Directive({ 7 | /* tslint:disable-next-line:directive-selector */ 8 | selector: 'any-input-text:not([type=number]), any-input-textarea', 9 | host: { 10 | '(valueChange)': 'handleChangeEvent($event.target.value)' 11 | }, 12 | providers: [ 13 | { 14 | provide: NG_VALUE_ACCESSOR, 15 | useExisting: TextValueAccessor, 16 | multi: true 17 | } 18 | ] 19 | }) 20 | export class TextValueAccessor extends ValueAccessor { 21 | constructor(el: ElementRef) { 22 | super(el); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /packages/core/src/components/badge-overlay/badge-overlay.tsx: -------------------------------------------------------------------------------- 1 | import { Component, Host, h, Prop } from "@stencil/core"; 2 | 3 | @Component({ 4 | tag: "any-badge-overlay", 5 | styleUrl: "badge-overlay.scss", 6 | shadow: true, 7 | }) 8 | export class BadgeOverlay { 9 | /** 10 | * Style class of the component. 11 | */ 12 | @Prop() styleClass: string = null; 13 | 14 | render() { 15 | return ( 16 | 17 |
18 |
24 | 25 |
26 |
27 |
28 | ); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /packages/core/src/utils/utils.spec.ts: -------------------------------------------------------------------------------- 1 | // import { format } from "./utils"; 2 | 3 | // describe("format", () => { 4 | // it("returns empty string for no names defined", () => { 5 | // expect(format(undefined, undefined, undefined)).toEqual(""); 6 | // }); 7 | 8 | // it("formats just first names", () => { 9 | // expect(format("Joseph", undefined, undefined)).toEqual("Joseph"); 10 | // }); 11 | 12 | // it("formats first and last names", () => { 13 | // expect(format("Joseph", undefined, "Publique")).toEqual("Joseph Publique"); 14 | // }); 15 | 16 | // it("formats first, middle and last names", () => { 17 | // expect(format("Joseph", "Quincy", "Publique")).toEqual( 18 | // "Joseph Quincy Publique" 19 | // ); 20 | // }); 21 | // }); 22 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-number/input-number-prefix-and-suffix/test/input-number-prefix-and-suffix.spec.tsx: -------------------------------------------------------------------------------- 1 | import { newSpecPage } from '@stencil/core/testing'; 2 | import { InputNumberPrefixAndSuffix } from '../input-number-prefix-and-suffix'; 3 | 4 | describe('input-number-prefix-and-suffix', () => { 5 | it('renders', async () => { 6 | const page = await newSpecPage({ 7 | components: [InputNumberPrefixAndSuffix], 8 | html: ``, 9 | }); 10 | expect(page.root).toEqualHtml(` 11 | 12 | 13 | 14 | 15 | 16 | `); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/angular/projects/anywhere-ui/src/lib/directives/select-value-accessor.ts: -------------------------------------------------------------------------------- 1 | import { Directive, ElementRef } from '@angular/core'; 2 | import { NG_VALUE_ACCESSOR } from '@angular/forms'; 3 | 4 | import { ValueAccessor } from './value-accessor'; 5 | 6 | @Directive({ 7 | /* tslint:disable-next-line:directive-selector */ 8 | selector: 'any-dropdown, any-multiselect, any-listbox, any-virtual-scroller, any-radio-group', 9 | host: { 10 | '(valueChange)': 'handleChangeEvent($event.target.value)' 11 | }, 12 | providers: [ 13 | { 14 | provide: NG_VALUE_ACCESSOR, 15 | useExisting: SelectValueAccessor, 16 | multi: true 17 | } 18 | ] 19 | }) 20 | export class SelectValueAccessor extends ValueAccessor { 21 | constructor(el: ElementRef) { 22 | super(el); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /packages/react/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "allowUnreachableCode": false, 4 | "allowSyntheticDefaultImports": true, 5 | "declaration": true, 6 | "emitDecoratorMetadata": true, 7 | "experimentalDecorators": true, 8 | "esModuleInterop": true, 9 | "lib": ["dom", "es2017"], 10 | "module": "esnext", 11 | "moduleResolution": "node", 12 | "noImplicitAny": true, 13 | "noImplicitReturns": true, 14 | "noUnusedLocals": true, 15 | "noUnusedParameters": true, 16 | "outDir": "dist", 17 | "removeComments": false, 18 | "sourceMap": true, 19 | "jsx": "react", 20 | "target": "es2020" 21 | }, 22 | "include": ["src/**/*.ts", "src/**/*.tsx"], 23 | "exclude": ["**/__tests__/**"], 24 | "compileOnSave": false, 25 | "buildOnSave": false 26 | } 27 | -------------------------------------------------------------------------------- /packages/core/src/utils/radiobutton-registry.ts: -------------------------------------------------------------------------------- 1 | class RadioButtonRegistry { 2 | public radioButtons: any[] = []; 3 | constructor() {} 4 | add(radioButton: any) { 5 | this.radioButtons.push(radioButton); 6 | } 7 | 8 | remove(radioButton: any) { 9 | this.radioButtons = this.radioButtons.filter((c) => { 10 | return c !== radioButton; 11 | }); 12 | } 13 | 14 | select(radioButton: any) { 15 | this.radioButtons.forEach((c) => { 16 | if (this.isSameGroup(c, radioButton) && c !== radioButton) { 17 | c.checked = false; 18 | c.nativeInput.checked = false; 19 | } 20 | }); 21 | } 22 | 23 | private isSameGroup(controlPair: any, radioButton: any): boolean { 24 | return controlPair.name === radioButton.name; 25 | } 26 | } 27 | 28 | export const Registry = new RadioButtonRegistry(); 29 | -------------------------------------------------------------------------------- /packages/angular/tsconfig.json: -------------------------------------------------------------------------------- 1 | /* To learn more about this file see: https://angular.io/config/tsconfig. */ 2 | { 3 | "compileOnSave": false, 4 | "compilerOptions": { 5 | "paths": { 6 | "anywhere-ui": [ 7 | "dist/anywhere-ui/anywhere-ui", 8 | "dist/anywhere-ui" 9 | ] 10 | }, 11 | "baseUrl": "./", 12 | "outDir": "./dist/out-tsc", 13 | "sourceMap": true, 14 | "declaration": false, 15 | "downlevelIteration": true, 16 | "experimentalDecorators": true, 17 | "moduleResolution": "node", 18 | "importHelpers": true, 19 | "target": "ES2022", 20 | "module": "es2020", 21 | "lib": [ 22 | "es2018", 23 | "dom" 24 | ], 25 | "useDefineForClassFields": false 26 | }, 27 | "angularCompilerOptions": { 28 | "enableI18nLegacyMessageIdFormat": false 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/doc/app-docsection-nav/readme.md: -------------------------------------------------------------------------------- 1 | # app-docsection-nav 2 | 3 | 4 | 5 | 6 | 7 | 8 | ## Properties 9 | 10 | | Property | Attribute | Description | Type | Default | 11 | | ------------------- | --------- | ----------- | ------- | ----------- | 12 | | `docs` _(required)_ | -- | | `any[]` | `undefined` | 13 | 14 | 15 | ## Dependencies 16 | 17 | ### Used by 18 | 19 | - [app-doc](../app-doc) 20 | - [app-docapisection](../app-docapisection) 21 | 22 | ### Graph 23 | ```mermaid 24 | graph TD; 25 | app-doc --> app-docsection-nav 26 | app-docapisection --> app-docsection-nav 27 | style app-docsection-nav fill:#f9f,stroke:#333,stroke-width:4px 28 | ``` 29 | 30 | ---------------------------------------------- 31 | 32 | *Built with love by **AdaleksTech!*** 33 | -------------------------------------------------------------------------------- /packages/core/src/components/tab-panel/tab-panel.tsx: -------------------------------------------------------------------------------- 1 | import { Component, Host, h, Prop } from "@stencil/core"; 2 | 3 | @Component({ 4 | tag: "any-tab-panel", 5 | styleUrl: "tab-panel.scss", 6 | shadow: true, 7 | }) 8 | export class TabPanel { 9 | _selected: boolean; 10 | loaded: boolean; 11 | 12 | /** 13 | * Title of the tabPanel. 14 | */ 15 | @Prop() header: string = null; 16 | 17 | /** 18 | * When true, tab cannot be activated. 19 | */ 20 | @Prop({ reflect: true }) disabled: boolean = false; 21 | 22 | /** 23 | * Defines if tab is active. 24 | */ 25 | @Prop() selected: boolean = false; 26 | 27 | render() { 28 | return ( 29 | 30 | {this.selected && ( 31 |
32 | 33 |
34 | )} 35 |
36 | ); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /packages/angular/.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # compiled output 4 | /dist 5 | /tmp 6 | /out-tsc 7 | # Only exists if Bazel was run 8 | /bazel-out 9 | 10 | # dependencies 11 | /node_modules 12 | 13 | # profiling files 14 | chrome-profiler-events*.json 15 | speed-measure-plugin*.json 16 | 17 | # IDEs and editors 18 | /.idea 19 | .project 20 | .classpath 21 | .c9/ 22 | *.launch 23 | .settings/ 24 | *.sublime-workspace 25 | 26 | # IDE - VSCode 27 | .vscode/* 28 | !.vscode/settings.json 29 | !.vscode/tasks.json 30 | !.vscode/launch.json 31 | !.vscode/extensions.json 32 | .history/* 33 | 34 | # misc 35 | /.angular/cache 36 | /.sass-cache 37 | /connect.lock 38 | /coverage 39 | /libpeerconnection.log 40 | npm-debug.log 41 | yarn-error.log 42 | testem.log 43 | /typings 44 | 45 | # System Files 46 | .DS_Store 47 | Thumbs.db 48 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/doc/app-docsection/readme.md: -------------------------------------------------------------------------------- 1 | # app-docsection 2 | 3 | 4 | 5 | 6 | 7 | 8 | ## Properties 9 | 10 | | Property | Attribute | Description | Type | Default | 11 | | --------- | --------- | ----------- | ------- | ----------- | 12 | | `apiDocs` | -- | | `any[]` | `undefined` | 13 | | `docs` | -- | | `any[]` | `undefined` | 14 | 15 | 16 | ## Dependencies 17 | 18 | ### Used by 19 | 20 | - [app-doc](../app-doc) 21 | - [app-docapisection](../app-docapisection) 22 | 23 | ### Graph 24 | ```mermaid 25 | graph TD; 26 | app-doc --> app-docsection 27 | app-docapisection --> app-docsection 28 | style app-docsection fill:#f9f,stroke:#333,stroke-width:4px 29 | ``` 30 | 31 | ---------------------------------------------- 32 | 33 | *Built with love by **AdaleksTech!*** 34 | -------------------------------------------------------------------------------- /packages/angular/projects/anywhere-ui/src/lib/directives/boolean-value-accessor.ts: -------------------------------------------------------------------------------- 1 | import { Directive, ElementRef } from '@angular/core'; 2 | import { NG_VALUE_ACCESSOR } from '@angular/forms'; 3 | 4 | import { ValueAccessor } from './value-accessor'; 5 | 6 | @Directive({ 7 | /* tslint:disable-next-line:directive-selector */ 8 | selector: 'any-checkbox, any-input-switch', 9 | host: { 10 | '(valueChange)': 'handleChangeEvent($event.target.checked)' 11 | }, 12 | providers: [ 13 | { 14 | provide: NG_VALUE_ACCESSOR, 15 | useExisting: BooleanValueAccessor, 16 | multi: true 17 | } 18 | ] 19 | }) 20 | export class BooleanValueAccessor extends ValueAccessor { 21 | constructor(el: ElementRef) { 22 | super(el); 23 | } 24 | writeValue(value: any) { 25 | this.el.nativeElement.checked = this.lastValue = value == null ? false : value; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /packages/core/src/app/services/CacheService.js: -------------------------------------------------------------------------------- 1 | class CacheService { 2 | constructor(ttlSeconds = 0) { 3 | if (CacheService.instance) { 4 | return CacheService.instance; 5 | } 6 | 7 | this.cache = {}; 8 | this.ttlSeconds = ttlSeconds; 9 | CacheService.instance = this; 10 | } 11 | 12 | get(key) { 13 | const cachedValue = this.cache[key]; 14 | 15 | if ( 16 | cachedValue && 17 | (!cachedValue.expirationTime || cachedValue.expirationTime > Date.now()) 18 | ) { 19 | return cachedValue.value; 20 | } 21 | 22 | return null; 23 | } 24 | 25 | set(key, value, ttlSeconds = this.ttlSeconds) { 26 | const expirationTime = 27 | ttlSeconds > 0 ? Date.now() + ttlSeconds * 1000 : null; 28 | this.cache[key] = { value, expirationTime }; 29 | } 30 | } 31 | 32 | export default CacheService; 33 | -------------------------------------------------------------------------------- /packages/vue/tsconfig.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "compilerOptions": { 4 | "allowUnreachableCode": false, 5 | "allowSyntheticDefaultImports": true, 6 | "declaration": true, 7 | "emitDecoratorMetadata": true, 8 | "experimentalDecorators": true, 9 | "esModuleInterop": true, 10 | "lib": ["dom", "es2020"], 11 | "module": "esnext", 12 | "moduleResolution": "node", 13 | "noImplicitAny": true, 14 | "noImplicitReturns": true, 15 | "noUnusedLocals": true, 16 | "noUnusedParameters": true, 17 | "outDir": "dist-transpiled", 18 | "declarationDir": "dist/types", 19 | "removeComments": false, 20 | "sourceMap": true, 21 | "jsx": "react", 22 | "target": "es2017" 23 | }, 24 | "include": ["src/**/*.ts", "src/**/*.tsx"], 25 | "exclude": ["./__tests__/**", "node_modules", "setupTests.ts"], 26 | "compileOnSave": false, 27 | "buildOnSave": false 28 | } 29 | -------------------------------------------------------------------------------- /packages/angular/projects/anywhere-ui/src/lib/directives/number-value-accessor.ts: -------------------------------------------------------------------------------- 1 | import { Directive, ElementRef } from '@angular/core'; 2 | import { NG_VALUE_ACCESSOR } from '@angular/forms'; 3 | 4 | import { ValueAccessor } from './value-accessor'; 5 | 6 | @Directive({ 7 | /* tslint:disable-next-line:directive-selector */ 8 | selector: 'any-input-number', 9 | host: { 10 | '(valueChange)': 'handleChangeEvent($event.target.value)' 11 | }, 12 | providers: [ 13 | { 14 | provide: NG_VALUE_ACCESSOR, 15 | useExisting: NumericValueAccessor, 16 | multi: true 17 | } 18 | ] 19 | }) 20 | export class NumericValueAccessor extends ValueAccessor { 21 | constructor(el: ElementRef) { 22 | super(el); 23 | } 24 | registerOnChange(fn: (_: number | null) => void) { 25 | super.registerOnChange(value => { 26 | fn(value === '' ? null : parseFloat(value)); 27 | }); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /packages/core/src/assets/favicon/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "App", 3 | "icons": [ 4 | { 5 | "src": "\/android-icon-36x36.png", 6 | "sizes": "36x36", 7 | "type": "image\/png", 8 | "density": "0.75" 9 | }, 10 | { 11 | "src": "\/android-icon-48x48.png", 12 | "sizes": "48x48", 13 | "type": "image\/png", 14 | "density": "1.0" 15 | }, 16 | { 17 | "src": "\/android-icon-72x72.png", 18 | "sizes": "72x72", 19 | "type": "image\/png", 20 | "density": "1.5" 21 | }, 22 | { 23 | "src": "\/android-icon-96x96.png", 24 | "sizes": "96x96", 25 | "type": "image\/png", 26 | "density": "2.0" 27 | }, 28 | { 29 | "src": "\/android-icon-144x144.png", 30 | "sizes": "144x144", 31 | "type": "image\/png", 32 | "density": "3.0" 33 | }, 34 | { 35 | "src": "\/android-icon-192x192.png", 36 | "sizes": "192x192", 37 | "type": "image\/png", 38 | "density": "4.0" 39 | } 40 | ] 41 | } -------------------------------------------------------------------------------- /packages/angular/projects/anywhere-ui/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@anywhere-ui/angular", 3 | "version": "0.4.0+26", 4 | "license": "MIT", 5 | "keywords": [ 6 | "anywhere-ui", 7 | "framework", 8 | "angular", 9 | "stencil", 10 | "mobile", 11 | "app", 12 | "webapp", 13 | "capacitor", 14 | "cordova", 15 | "electron", 16 | "progressive web app", 17 | "pwa" 18 | ], 19 | "repository": { 20 | "type": "git", 21 | "url": "https://github.com/adaleks/anywhere-ui.git" 22 | }, 23 | "bugs": { 24 | "url": "https://github.com/adaleks/anywhere-ui/issues" 25 | }, 26 | "homepage": "https://github.com/adaleks/anywhere-ui/tree/main/packages/angular#readme", 27 | "peerDependencies": { 28 | "@angular/common": ">=11.2.13", 29 | "@angular/core": ">=11.2.13" 30 | }, 31 | "dependencies": { 32 | "tslib": "^2.0.0", 33 | "@anywhere-ui/core": "^0.3.0", 34 | "@anywhere-ui/flex": "^1.0.2" 35 | }, 36 | "buildnum": "26" 37 | } -------------------------------------------------------------------------------- /packages/react/src/react-component-lib/interfaces.ts: -------------------------------------------------------------------------------- 1 | // General types important to applications using stencil built components 2 | export interface EventEmitter { 3 | emit: (data?: T) => CustomEvent; 4 | } 5 | 6 | export interface StyleReactProps { 7 | class?: string; 8 | className?: string; 9 | style?: { [key: string]: any }; 10 | } 11 | 12 | export interface OverlayEventDetail { 13 | data?: T; 14 | role?: string; 15 | } 16 | 17 | export interface OverlayInterface { 18 | el: HTMLElement; 19 | animated: boolean; 20 | keyboardClose: boolean; 21 | overlayIndex: number; 22 | presented: boolean; 23 | 24 | enterAnimation?: any; 25 | leaveAnimation?: any; 26 | 27 | didPresent: EventEmitter; 28 | willPresent: EventEmitter; 29 | willDismiss: EventEmitter; 30 | didDismiss: EventEmitter; 31 | 32 | present(): Promise; 33 | dismiss(data?: any, role?: string): Promise; 34 | } 35 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/doc/app-docapisection/readme.md: -------------------------------------------------------------------------------- 1 | # app-docapisection 2 | 3 | 4 | 5 | 6 | 7 | 8 | ## Properties 9 | 10 | | Property | Attribute | Description | Type | Default | 11 | | -------- | --------- | ----------- | -------- | ----------- | 12 | | `docs` | `docs` | | `any` | `undefined` | 13 | | `header` | `header` | | `string` | `undefined` | 14 | 15 | 16 | ## Dependencies 17 | 18 | ### Used by 19 | 20 | - [app-doc](../app-doc) 21 | 22 | ### Depends on 23 | 24 | - [app-docsection](../app-docsection) 25 | - [app-docsection-nav](../app-docsection-nav) 26 | 27 | ### Graph 28 | ```mermaid 29 | graph TD; 30 | app-docapisection --> app-docsection 31 | app-docapisection --> app-docsection-nav 32 | app-doc --> app-docapisection 33 | style app-docapisection fill:#f9f,stroke:#333,stroke-width:4px 34 | ``` 35 | 36 | ---------------------------------------------- 37 | 38 | *Built with love by **AdaleksTech!*** 39 | -------------------------------------------------------------------------------- /packages/core/src/app/views/InputSwitch/InputSwitch.js: -------------------------------------------------------------------------------- 1 | import AbstractView from "../AbstractView.js"; 2 | 3 | export default class extends AbstractView { 4 | constructor(params) { 5 | super(params); 6 | this.setTitle("InputSwitch"); 7 | } 8 | 9 | executeScript() { 10 | this.appDoc = document.querySelector("#app-doc"); 11 | this.appDoc.apiDocs = ["any-input-switch"]; 12 | this.appDoc.docs = [ 13 | { 14 | id: "basic", 15 | label: "Basic", 16 | component: "input-switch-basic", 17 | }, 18 | { 19 | id: "preselection", 20 | label: "Preselection", 21 | component: "input-switch-preselection", 22 | }, 23 | { 24 | id: "disabled", 25 | label: "Disabled", 26 | component: "input-switch-disabled", 27 | }, 28 | ]; 29 | } 30 | 31 | async getHtml() { 32 | return fetch("app/views/InputSwitch/InputSwitch.html").then((data) => { 33 | return data.text(); 34 | }); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /packages/core/src/app/scss/_ripple.scss: -------------------------------------------------------------------------------- 1 | .card-container { 2 | .full-card { 3 | width: 75px; 4 | height: 75px; 5 | display: flex; 6 | align-items: center; 7 | justify-content: center; 8 | margin-right: 1rem; 9 | user-select: none; 10 | padding: 0; 11 | 12 | &.primary-box { 13 | background-color: var(--primary-color); 14 | padding: 0; 15 | color: var(--primary-color-text); 16 | } 17 | 18 | &.styled-box-green { 19 | ::part(any-ink) { 20 | background: rgba(#4baf50, 0.3); 21 | } 22 | } 23 | 24 | &.styled-box-orange { 25 | ::part(any-ink) { 26 | background: rgba(#ffc106, 0.3); 27 | } 28 | } 29 | 30 | &.styled-box-purple { 31 | ::part(any-ink) { 32 | background: rgba(#9c27b0, 0.3); 33 | } 34 | } 35 | 36 | &:last-child { 37 | margin-right: 0; 38 | } 39 | } 40 | } -------------------------------------------------------------------------------- /packages/core/src/app/services/CacheService.ts: -------------------------------------------------------------------------------- 1 | class CacheService { 2 | private static instance: CacheService | undefined; 3 | private cache: Record = 4 | {}; 5 | private ttlSeconds: number; 6 | 7 | constructor(ttlSeconds: number = 0) { 8 | if (CacheService.instance) { 9 | return CacheService.instance; 10 | } 11 | 12 | this.ttlSeconds = ttlSeconds; 13 | CacheService.instance = this; 14 | } 15 | 16 | get(key: string): any { 17 | const cachedValue = this.cache[key]; 18 | 19 | if ( 20 | cachedValue && 21 | (!cachedValue.expirationTime || cachedValue.expirationTime > Date.now()) 22 | ) { 23 | return cachedValue.value; 24 | } 25 | 26 | return null; 27 | } 28 | 29 | set(key: string, value: any, ttlSeconds: number = this.ttlSeconds): void { 30 | const expirationTime = 31 | ttlSeconds > 0 ? Date.now() + ttlSeconds * 1000 : null; 32 | this.cache[key] = { value, expirationTime }; 33 | } 34 | } 35 | 36 | export default CacheService; 37 | -------------------------------------------------------------------------------- /packages/core/src/assets/images/product/product-placeholder.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | Artboard 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /packages/core/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-text/input-text-basic/readme.md: -------------------------------------------------------------------------------- 1 | # input-text-basic 2 | 3 | 4 | 5 | 6 | 7 | 8 | ## Properties 9 | 10 | | Property | Attribute | Description | Type | Default | 11 | | ----------- | ------------ | ----------- | -------- | ----------- | 12 | | `textId` | `text-id` | | `string` | `undefined` | 13 | | `textTitle` | `text-title` | | `string` | `undefined` | 14 | 15 | 16 | ## Dependencies 17 | 18 | ### Depends on 19 | 20 | - [app-docsectiontext](../../../doc/app-docsectiontext) 21 | - [any-input-text](../../../../input-text) 22 | - [app-code](../../../doc/app-code) 23 | 24 | ### Graph 25 | ```mermaid 26 | graph TD; 27 | input-text-basic --> app-docsectiontext 28 | input-text-basic --> any-input-text 29 | input-text-basic --> app-code 30 | app-code --> any-button 31 | any-button --> any-badge 32 | any-button --> any-ripple-effect 33 | style input-text-basic fill:#f9f,stroke:#333,stroke-width:4px 34 | ``` 35 | 36 | ---------------------------------------------- 37 | 38 | *Built with love by **AdaleksTech!*** 39 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-text/input-text-icons/readme.md: -------------------------------------------------------------------------------- 1 | # input-text-icons 2 | 3 | 4 | 5 | 6 | 7 | 8 | ## Properties 9 | 10 | | Property | Attribute | Description | Type | Default | 11 | | ----------- | ------------ | ----------- | -------- | ----------- | 12 | | `textId` | `text-id` | | `string` | `undefined` | 13 | | `textTitle` | `text-title` | | `string` | `undefined` | 14 | 15 | 16 | ## Dependencies 17 | 18 | ### Depends on 19 | 20 | - [app-docsectiontext](../../../doc/app-docsectiontext) 21 | - [any-input-text](../../../../input-text) 22 | - [app-code](../../../doc/app-code) 23 | 24 | ### Graph 25 | ```mermaid 26 | graph TD; 27 | input-text-icons --> app-docsectiontext 28 | input-text-icons --> any-input-text 29 | input-text-icons --> app-code 30 | app-code --> any-button 31 | any-button --> any-badge 32 | any-button --> any-ripple-effect 33 | style input-text-icons fill:#f9f,stroke:#333,stroke-width:4px 34 | ``` 35 | 36 | ---------------------------------------------- 37 | 38 | *Built with love by **AdaleksTech!*** 39 | -------------------------------------------------------------------------------- /packages/core/src/components/tab-view/readme.md: -------------------------------------------------------------------------------- 1 | # any-tab-view 2 | 3 | 4 | 5 | 6 | 7 | 8 | ## Properties 9 | 10 | | Property | Attribute | Description | Type | Default | 11 | | ------------- | -------------- | ---------------------------------------------------------------- | -------- | ------- | 12 | | `activeIndex` | `active-index` | Index of the active tab to change selected tab programmatically. | `number` | `0` | 13 | | `anyStyle` | `any-style` | Inline style of the component. | `any` | `null` | 14 | | `styleClass` | `style-class` | Style class of the component. | `string` | `null` | 15 | 16 | 17 | ## Dependencies 18 | 19 | ### Depends on 20 | 21 | - [any-ripple-effect](../ripple-effect) 22 | 23 | ### Graph 24 | ```mermaid 25 | graph TD; 26 | any-tab-view --> any-ripple-effect 27 | style any-tab-view fill:#f9f,stroke:#333,stroke-width:4px 28 | ``` 29 | 30 | ---------------------------------------------- 31 | 32 | *Built with love by **AdaleksTech!*** 33 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Elwin van Eede 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages/vue/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Ionic 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages/core/src/app/views/InputText/InputText.js: -------------------------------------------------------------------------------- 1 | import AbstractView from "../AbstractView.js"; 2 | 3 | export default class extends AbstractView { 4 | constructor(params) { 5 | super(params); 6 | this.setTitle("InputText"); 7 | } 8 | 9 | executeScript() { 10 | this.appDoc = document.querySelector("#app-doc"); 11 | this.appDoc.apiDocs = ["any-input-text"]; 12 | this.appDoc.docs = [ 13 | { 14 | id: "basic", 15 | label: "Basic", 16 | component: "input-text-basic", 17 | }, 18 | { 19 | id: "icons", 20 | label: "Icons", 21 | component: "input-text-icons", 22 | }, 23 | { 24 | id: "float-label", 25 | label: "Float Label", 26 | component: "input-text-float-label", 27 | }, 28 | { 29 | id: "disabled", 30 | label: "Disabled", 31 | component: "input-text-disabled", 32 | }, 33 | ]; 34 | } 35 | 36 | async getHtml() { 37 | return fetch("app/views/InputText/InputText.html").then((data) => { 38 | return data.text(); 39 | }); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /packages/react/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Ionic 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-switch/input-switch-basic/readme.md: -------------------------------------------------------------------------------- 1 | # input-switch-basic 2 | 3 | 4 | 5 | 6 | 7 | 8 | ## Properties 9 | 10 | | Property | Attribute | Description | Type | Default | 11 | | ----------- | ------------ | ----------- | -------- | ----------- | 12 | | `textId` | `text-id` | | `string` | `undefined` | 13 | | `textTitle` | `text-title` | | `string` | `undefined` | 14 | 15 | 16 | ## Dependencies 17 | 18 | ### Depends on 19 | 20 | - [app-docsectiontext](../../../doc/app-docsectiontext) 21 | - [any-input-switch](../../../../input-switch) 22 | - [app-code](../../../doc/app-code) 23 | 24 | ### Graph 25 | ```mermaid 26 | graph TD; 27 | input-switch-basic --> app-docsectiontext 28 | input-switch-basic --> any-input-switch 29 | input-switch-basic --> app-code 30 | app-code --> any-button 31 | any-button --> any-badge 32 | any-button --> any-ripple-effect 33 | style input-switch-basic fill:#f9f,stroke:#333,stroke-width:4px 34 | ``` 35 | 36 | ---------------------------------------------- 37 | 38 | *Built with love by **AdaleksTech!*** 39 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-text/input-text-disabled/readme.md: -------------------------------------------------------------------------------- 1 | # input-text-disabled 2 | 3 | 4 | 5 | 6 | 7 | 8 | ## Properties 9 | 10 | | Property | Attribute | Description | Type | Default | 11 | | ----------- | ------------ | ----------- | -------- | ----------- | 12 | | `textId` | `text-id` | | `string` | `undefined` | 13 | | `textTitle` | `text-title` | | `string` | `undefined` | 14 | 15 | 16 | ## Dependencies 17 | 18 | ### Depends on 19 | 20 | - [app-docsectiontext](../../../doc/app-docsectiontext) 21 | - [any-input-text](../../../../input-text) 22 | - [app-code](../../../doc/app-code) 23 | 24 | ### Graph 25 | ```mermaid 26 | graph TD; 27 | input-text-disabled --> app-docsectiontext 28 | input-text-disabled --> any-input-text 29 | input-text-disabled --> app-code 30 | app-code --> any-button 31 | any-button --> any-badge 32 | any-button --> any-ripple-effect 33 | style input-text-disabled fill:#f9f,stroke:#333,stroke-width:4px 34 | ``` 35 | 36 | ---------------------------------------------- 37 | 38 | *Built with love by **AdaleksTech!*** 39 | -------------------------------------------------------------------------------- /packages/core/src/docs/SHOWCASE_LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages/angular/projects/anywhere-ui/src/lib/directives/value-accessor.ts: -------------------------------------------------------------------------------- 1 | import { Directive, ElementRef, HostListener } from '@angular/core'; 2 | import { ControlValueAccessor } from '@angular/forms'; 3 | 4 | @Directive({}) 5 | export class ValueAccessor implements ControlValueAccessor { 6 | 7 | private onChange: (value: any) => void = () => {/**/}; 8 | private onTouched: () => void = () => {/**/}; 9 | protected lastValue: any; 10 | 11 | constructor(protected el: ElementRef) {} 12 | 13 | writeValue(value: any) { 14 | this.el.nativeElement.value = this.lastValue = value == null ? '' : value; 15 | } 16 | 17 | handleChangeEvent(value: any) { 18 | if (value !== this.lastValue) { 19 | this.lastValue = value; 20 | this.onChange(value); 21 | } 22 | } 23 | 24 | @HostListener('focusout') 25 | _handleBlurEvent() { 26 | this.onTouched(); 27 | } 28 | 29 | registerOnChange(fn: (value: any) => void) { 30 | this.onChange = fn; 31 | } 32 | registerOnTouched(fn: () => void) { 33 | this.onTouched = fn; 34 | } 35 | 36 | setDisabledState(isDisabled: boolean) { 37 | this.el.nativeElement.disabled = isDisabled; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-text/input-text-float-label/readme.md: -------------------------------------------------------------------------------- 1 | # input-text-float-label 2 | 3 | 4 | 5 | 6 | 7 | 8 | ## Properties 9 | 10 | | Property | Attribute | Description | Type | Default | 11 | | ----------- | ------------ | ----------- | -------- | ----------- | 12 | | `textId` | `text-id` | | `string` | `undefined` | 13 | | `textTitle` | `text-title` | | `string` | `undefined` | 14 | 15 | 16 | ## Dependencies 17 | 18 | ### Depends on 19 | 20 | - [app-docsectiontext](../../../doc/app-docsectiontext) 21 | - [any-input-text](../../../../input-text) 22 | - [app-code](../../../doc/app-code) 23 | 24 | ### Graph 25 | ```mermaid 26 | graph TD; 27 | input-text-float-label --> app-docsectiontext 28 | input-text-float-label --> any-input-text 29 | input-text-float-label --> app-code 30 | app-code --> any-button 31 | any-button --> any-badge 32 | any-button --> any-ripple-effect 33 | style input-text-float-label fill:#f9f,stroke:#333,stroke-width:4px 34 | ``` 35 | 36 | ---------------------------------------------- 37 | 38 | *Built with love by **AdaleksTech!*** 39 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-switch/input-switch-disabled/readme.md: -------------------------------------------------------------------------------- 1 | # input-switch-disabled 2 | 3 | 4 | 5 | 6 | 7 | 8 | ## Properties 9 | 10 | | Property | Attribute | Description | Type | Default | 11 | | ----------- | ------------ | ----------- | -------- | ----------- | 12 | | `textId` | `text-id` | | `string` | `undefined` | 13 | | `textTitle` | `text-title` | | `string` | `undefined` | 14 | 15 | 16 | ## Dependencies 17 | 18 | ### Depends on 19 | 20 | - [app-docsectiontext](../../../doc/app-docsectiontext) 21 | - [any-input-switch](../../../../input-switch) 22 | - [app-code](../../../doc/app-code) 23 | 24 | ### Graph 25 | ```mermaid 26 | graph TD; 27 | input-switch-disabled --> app-docsectiontext 28 | input-switch-disabled --> any-input-switch 29 | input-switch-disabled --> app-code 30 | app-code --> any-button 31 | any-button --> any-badge 32 | any-button --> any-ripple-effect 33 | style input-switch-disabled fill:#f9f,stroke:#333,stroke-width:4px 34 | ``` 35 | 36 | ---------------------------------------------- 37 | 38 | *Built with love by **AdaleksTech!*** 39 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-textarea/input-textarea-basic/readme.md: -------------------------------------------------------------------------------- 1 | # input-textarea-basic 2 | 3 | 4 | 5 | 6 | 7 | 8 | ## Properties 9 | 10 | | Property | Attribute | Description | Type | Default | 11 | | ----------- | ------------ | ----------- | -------- | ----------- | 12 | | `textId` | `text-id` | | `string` | `undefined` | 13 | | `textTitle` | `text-title` | | `string` | `undefined` | 14 | 15 | 16 | ## Dependencies 17 | 18 | ### Depends on 19 | 20 | - [app-docsectiontext](../../../doc/app-docsectiontext) 21 | - [any-input-textarea](../../../../input-textarea) 22 | - [app-code](../../../doc/app-code) 23 | 24 | ### Graph 25 | ```mermaid 26 | graph TD; 27 | input-textarea-basic --> app-docsectiontext 28 | input-textarea-basic --> any-input-textarea 29 | input-textarea-basic --> app-code 30 | app-code --> any-button 31 | any-button --> any-badge 32 | any-button --> any-ripple-effect 33 | style input-textarea-basic fill:#f9f,stroke:#333,stroke-width:4px 34 | ``` 35 | 36 | ---------------------------------------------- 37 | 38 | *Built with love by **AdaleksTech!*** 39 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to AnywhereUI 2 | 3 | Thank you for your interest in contributing to our project! We welcome contributions from the community and appreciate your help in making our project better. 4 | 5 | ## Getting Started 6 | 7 | To get started with contributing, please follow these steps: 8 | 9 | 1. Fork the repository and clone it to your local machine. 10 | 2. Install the necessary dependencies. 11 | 3. Create a new branch for your changes. 12 | 4. Make your changes and commit them with descriptive commit messages. 13 | 5. Push your changes to your forked repository. 14 | 6. Submit a pull request to the main repository. 15 | 16 | ## Issue Tracker 17 | 18 | If you find any issues or have any feature requests, please report them in our [issue tracker](https://github.com/adaleks/anywhere-ui/issues). Make sure to search for existing issues before creating a new one. 19 | 20 | ## Contact 21 | 22 | If you have any questions or need further assistance, feel free to reach out to us at [gjovanovic.st@gmail.com](mailto:gjovanovic.st@gmail.com). 23 | 24 | We appreciate your contributions and look forward to your pull requests! 25 | 26 | Happy coding! 27 | -------------------------------------------------------------------------------- /packages/core/scripts/initialize-stencil-ghpages-repo.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | git init 4 | git add . 5 | git commit -m "first commit" 6 | # Change the branch 'master' name to 'source'. In the 'source' branch is where we will deploy the source code of the site 7 | # (not the deployed one, this one goes in the 'master' branch') 8 | git branch -m source 9 | # Create an orphan branch called 'master', we will use this branch in order to push our deployed site 10 | git checkout --orphan master 11 | # Empty the 'master' branch and do an empty commit 12 | git reset --hard 13 | rm -rf * 14 | #rm -rf .stencil 15 | git add --all 16 | git commit --allow-empty -m "init master branch" 17 | git remote add origin https://github.com/adaleks/anywhere-ui-showcase.git # Here it goes your repo url 18 | # Switch back to the 'source branch' 19 | git checkout source 20 | # Create an empty www folder. WARNING: from the time being you should avoid removing the 'www' folder 21 | rm -rf www 22 | mkdir www 23 | # Install the dependencies (the checkout will have removed the 'node_modules' folder) 24 | npm i 25 | npm link anywhere-flex 26 | # Add a new worktree in the 'www' folder onto the 'master' branch 27 | git worktree add www master -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/doc/app-docsectiontext/app-docsectiontext.scss: -------------------------------------------------------------------------------- 1 | @import "../app-doc/app-doc.scss"; 2 | 3 | :host { 4 | display: block; 5 | 6 | .doc-section-label { 7 | display: flex; 8 | align-items: center; 9 | scroll-margin-top: 6.5rem; 10 | 11 | > a { 12 | color: var(--primary-color); 13 | opacity: 0.7; 14 | margin-left: 1rem; 15 | display: none; 16 | transition: 17 | opacity 0.3s, 18 | colors 0.3s; 19 | } 20 | 21 | &:hover { 22 | > a { 23 | display: block; 24 | 25 | &:hover { 26 | opacity: 1; 27 | } 28 | } 29 | } 30 | } 31 | 32 | .doc-section-description { 33 | > p { 34 | font-size: 1.125rem; 35 | color: var(--surface-800); 36 | 37 | i { 38 | border-radius: 6px; 39 | padding: 2px 6px; 40 | font-size: 0.875rem; 41 | font-weight: 600; 42 | font-style: normal; 43 | } 44 | 45 | a { 46 | color: var(--primary-color); 47 | font-weight: 600; 48 | 49 | &:hover { 50 | text-decoration: underline; 51 | } 52 | } 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-textarea/input-textarea-disabled/readme.md: -------------------------------------------------------------------------------- 1 | # input-textarea-disabled 2 | 3 | 4 | 5 | 6 | 7 | 8 | ## Properties 9 | 10 | | Property | Attribute | Description | Type | Default | 11 | | ----------- | ------------ | ----------- | -------- | ----------- | 12 | | `textId` | `text-id` | | `string` | `undefined` | 13 | | `textTitle` | `text-title` | | `string` | `undefined` | 14 | 15 | 16 | ## Dependencies 17 | 18 | ### Depends on 19 | 20 | - [app-docsectiontext](../../../doc/app-docsectiontext) 21 | - [any-input-textarea](../../../../input-textarea) 22 | - [app-code](../../../doc/app-code) 23 | 24 | ### Graph 25 | ```mermaid 26 | graph TD; 27 | input-textarea-disabled --> app-docsectiontext 28 | input-textarea-disabled --> any-input-textarea 29 | input-textarea-disabled --> app-code 30 | app-code --> any-button 31 | any-button --> any-badge 32 | any-button --> any-ripple-effect 33 | style input-textarea-disabled fill:#f9f,stroke:#333,stroke-width:4px 34 | ``` 35 | 36 | ---------------------------------------------- 37 | 38 | *Built with love by **AdaleksTech!*** 39 | -------------------------------------------------------------------------------- /packages/core/src/app/views/InputTextarea/InputTextarea.js: -------------------------------------------------------------------------------- 1 | import AbstractView from "../AbstractView.js"; 2 | 3 | export default class extends AbstractView { 4 | constructor(params) { 5 | super(params); 6 | this.setTitle("InputTextArea"); 7 | } 8 | 9 | executeScript() { 10 | this.appDoc = document.querySelector("#app-doc"); 11 | this.appDoc.apiDocs = ["any-input-textarea"]; 12 | this.appDoc.docs = [ 13 | { 14 | id: "basic", 15 | label: "Basic", 16 | component: "input-textarea-basic", 17 | }, 18 | { 19 | id: "auto-resize", 20 | label: "AutoResize", 21 | component: "input-textarea-auto-resize", 22 | }, 23 | { 24 | id: "float-label", 25 | label: "Float Label", 26 | component: "input-textarea-float-label", 27 | }, 28 | { 29 | id: "disabled", 30 | label: "Disabled", 31 | component: "input-textarea-disabled", 32 | }, 33 | ]; 34 | } 35 | 36 | async getHtml() { 37 | return fetch("app/views/InputTextarea/InputTextarea.html").then((data) => { 38 | return data.text(); 39 | }); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-switch/input-switch-preselection/readme.md: -------------------------------------------------------------------------------- 1 | # input-switch-preselection 2 | 3 | 4 | 5 | 6 | 7 | 8 | ## Properties 9 | 10 | | Property | Attribute | Description | Type | Default | 11 | | ----------- | ------------ | ----------- | -------- | ----------- | 12 | | `textId` | `text-id` | | `string` | `undefined` | 13 | | `textTitle` | `text-title` | | `string` | `undefined` | 14 | 15 | 16 | ## Dependencies 17 | 18 | ### Depends on 19 | 20 | - [app-docsectiontext](../../../doc/app-docsectiontext) 21 | - [any-input-switch](../../../../input-switch) 22 | - [app-code](../../../doc/app-code) 23 | 24 | ### Graph 25 | ```mermaid 26 | graph TD; 27 | input-switch-preselection --> app-docsectiontext 28 | input-switch-preselection --> any-input-switch 29 | input-switch-preselection --> app-code 30 | app-code --> any-button 31 | any-button --> any-badge 32 | any-button --> any-ripple-effect 33 | style input-switch-preselection fill:#f9f,stroke:#333,stroke-width:4px 34 | ``` 35 | 36 | ---------------------------------------------- 37 | 38 | *Built with love by **AdaleksTech!*** 39 | -------------------------------------------------------------------------------- /packages/core/scripts/docs.js: -------------------------------------------------------------------------------- 1 | const rebase = require("rebase"); 2 | const fs = require("fs-extra"); 3 | const path = require("path"); 4 | const replace = require("replace"); 5 | 6 | let subdir = process.argv[2] || "anywhere-ui-showcase"; 7 | console.log(process.cwd() + "/" + subdir); 8 | 9 | // fs.removeSync(process.cwd() + '/' + subdir); 10 | // fs.copySync(process.cwd() + '/www', subdir); 11 | 12 | let files = ["index.html"]; 13 | files.forEach((filename) => { 14 | let path_to_file = process.cwd() + "/www/" + filename; 15 | let file = fs.readFileSync(path_to_file, "utf8"); 16 | let replacements = { 17 | "^/(?!/)": "/" + subdir + "/", 18 | "^(?!/|http|https)": "/" + subdir + "/", 19 | }; 20 | let rebased = rebase(file, { 21 | url: replacements, 22 | a: replacements, 23 | img: replacements, 24 | link: replacements, 25 | script: replacements, 26 | }); 27 | fs.writeFileSync(path_to_file, rebased); 28 | }); 29 | 30 | // replace({ 31 | // regex: '@import "', 32 | // replacement: '@import "/' + subdir + "", 33 | // paths: [process.cwd() + "/www/" + "app/components/app-config.js"], 34 | // recursive: true, 35 | // silent: true, 36 | // }); 37 | -------------------------------------------------------------------------------- /packages/core/src/app/views/RippleEffect/RippleEffect.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

RippleEffect

4 |

RippleEffect adds ripple effect to the parent host element.

5 |
6 | 7 |
8 | 10 |
11 |
12 |
13 |
14 |
15 |
16 | Default 17 | 18 |
19 |
20 | Green 21 | 22 |
23 |
24 | Orange 25 | 26 |
27 |
28 | Purple 29 | 30 |
31 |
32 |
33 | 34 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-textarea/input-textarea-auto-resize/readme.md: -------------------------------------------------------------------------------- 1 | # input-textarea-auto-resize 2 | 3 | 4 | 5 | 6 | 7 | 8 | ## Properties 9 | 10 | | Property | Attribute | Description | Type | Default | 11 | | ----------- | ------------ | ----------- | -------- | ----------- | 12 | | `textId` | `text-id` | | `string` | `undefined` | 13 | | `textTitle` | `text-title` | | `string` | `undefined` | 14 | 15 | 16 | ## Dependencies 17 | 18 | ### Depends on 19 | 20 | - [app-docsectiontext](../../../doc/app-docsectiontext) 21 | - [any-input-textarea](../../../../input-textarea) 22 | - [app-code](../../../doc/app-code) 23 | 24 | ### Graph 25 | ```mermaid 26 | graph TD; 27 | input-textarea-auto-resize --> app-docsectiontext 28 | input-textarea-auto-resize --> any-input-textarea 29 | input-textarea-auto-resize --> app-code 30 | app-code --> any-button 31 | any-button --> any-badge 32 | any-button --> any-ripple-effect 33 | style input-textarea-auto-resize fill:#f9f,stroke:#333,stroke-width:4px 34 | ``` 35 | 36 | ---------------------------------------------- 37 | 38 | *Built with love by **AdaleksTech!*** 39 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-textarea/input-textarea-float-label/readme.md: -------------------------------------------------------------------------------- 1 | # input-textarea-float-label 2 | 3 | 4 | 5 | 6 | 7 | 8 | ## Properties 9 | 10 | | Property | Attribute | Description | Type | Default | 11 | | ----------- | ------------ | ----------- | -------- | ----------- | 12 | | `textId` | `text-id` | | `string` | `undefined` | 13 | | `textTitle` | `text-title` | | `string` | `undefined` | 14 | 15 | 16 | ## Dependencies 17 | 18 | ### Depends on 19 | 20 | - [app-docsectiontext](../../../doc/app-docsectiontext) 21 | - [any-input-textarea](../../../../input-textarea) 22 | - [app-code](../../../doc/app-code) 23 | 24 | ### Graph 25 | ```mermaid 26 | graph TD; 27 | input-textarea-float-label --> app-docsectiontext 28 | input-textarea-float-label --> any-input-textarea 29 | input-textarea-float-label --> app-code 30 | app-code --> any-button 31 | any-button --> any-badge 32 | any-button --> any-ripple-effect 33 | style input-textarea-float-label fill:#f9f,stroke:#333,stroke-width:4px 34 | ``` 35 | 36 | ---------------------------------------------- 37 | 38 | *Built with love by **AdaleksTech!*** 39 | -------------------------------------------------------------------------------- /packages/core/src/components/ripple-effect/readme.md: -------------------------------------------------------------------------------- 1 | # any-ripple-effect 2 | 3 | 4 | 5 | 6 | 7 | 8 | ## Properties 9 | 10 | | Property | Attribute | Description | Type | Default | 11 | | ---------- | ----------- | ------------------------------- | -------------------------- | ----------- | 12 | | `anyStyle` | `any-style` | Inline style of the component. | `any` | `null` | 13 | | `type` | `type` | Sets the type of ripple-effect: | `"bounded" \| "unbounded"` | `"bounded"` | 14 | 15 | 16 | ## Shadow Parts 17 | 18 | | Part | Description | 19 | | ----------- | ----------- | 20 | | `"any-ink"` | | 21 | 22 | 23 | ## Dependencies 24 | 25 | ### Used by 26 | 27 | - [any-button](../button) 28 | - [any-listbox](../listbox) 29 | - [any-tab-view](../tab-view) 30 | 31 | ### Graph 32 | ```mermaid 33 | graph TD; 34 | any-button --> any-ripple-effect 35 | any-listbox --> any-ripple-effect 36 | any-tab-view --> any-ripple-effect 37 | style any-ripple-effect fill:#f9f,stroke:#333,stroke-width:4px 38 | ``` 39 | 40 | ---------------------------------------------- 41 | 42 | *Built with love by **AdaleksTech!*** 43 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-number/input-number-locale/readme.md: -------------------------------------------------------------------------------- 1 | # input-number-locale 2 | 3 | 4 | 5 | 6 | 7 | 8 | ## Properties 9 | 10 | | Property | Attribute | Description | Type | Default | 11 | | ----------- | ------------ | ----------- | -------- | ----------- | 12 | | `textId` | `text-id` | | `string` | `undefined` | 13 | | `textTitle` | `text-title` | | `string` | `undefined` | 14 | 15 | 16 | ## Dependencies 17 | 18 | ### Depends on 19 | 20 | - [app-docsectiontext](../../../doc/app-docsectiontext) 21 | - [any-input-number](../../../../input-number) 22 | - [app-code](../../../doc/app-code) 23 | 24 | ### Graph 25 | ```mermaid 26 | graph TD; 27 | input-number-locale --> app-docsectiontext 28 | input-number-locale --> any-input-number 29 | input-number-locale --> app-code 30 | any-input-number --> any-input-text 31 | any-input-number --> any-button 32 | any-button --> any-badge 33 | any-button --> any-ripple-effect 34 | app-code --> any-button 35 | style input-number-locale fill:#f9f,stroke:#333,stroke-width:4px 36 | ``` 37 | 38 | ---------------------------------------------- 39 | 40 | *Built with love by **AdaleksTech!*** 41 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-number/input-number-buttons/readme.md: -------------------------------------------------------------------------------- 1 | # input-number-buttons 2 | 3 | 4 | 5 | 6 | 7 | 8 | ## Properties 9 | 10 | | Property | Attribute | Description | Type | Default | 11 | | ----------- | ------------ | ----------- | -------- | ----------- | 12 | | `textId` | `text-id` | | `string` | `undefined` | 13 | | `textTitle` | `text-title` | | `string` | `undefined` | 14 | 15 | 16 | ## Dependencies 17 | 18 | ### Depends on 19 | 20 | - [app-docsectiontext](../../../doc/app-docsectiontext) 21 | - [any-input-number](../../../../input-number) 22 | - [app-code](../../../doc/app-code) 23 | 24 | ### Graph 25 | ```mermaid 26 | graph TD; 27 | input-number-buttons --> app-docsectiontext 28 | input-number-buttons --> any-input-number 29 | input-number-buttons --> app-code 30 | any-input-number --> any-input-text 31 | any-input-number --> any-button 32 | any-button --> any-badge 33 | any-button --> any-ripple-effect 34 | app-code --> any-button 35 | style input-number-buttons fill:#f9f,stroke:#333,stroke-width:4px 36 | ``` 37 | 38 | ---------------------------------------------- 39 | 40 | *Built with love by **AdaleksTech!*** 41 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-number/input-number-numeral/readme.md: -------------------------------------------------------------------------------- 1 | # input-number-numeral 2 | 3 | 4 | 5 | 6 | 7 | 8 | ## Properties 9 | 10 | | Property | Attribute | Description | Type | Default | 11 | | ----------- | ------------ | ----------- | -------- | ----------- | 12 | | `textId` | `text-id` | | `string` | `undefined` | 13 | | `textTitle` | `text-title` | | `string` | `undefined` | 14 | 15 | 16 | ## Dependencies 17 | 18 | ### Depends on 19 | 20 | - [app-docsectiontext](../../../doc/app-docsectiontext) 21 | - [any-input-number](../../../../input-number) 22 | - [app-code](../../../doc/app-code) 23 | 24 | ### Graph 25 | ```mermaid 26 | graph TD; 27 | input-number-numeral --> app-docsectiontext 28 | input-number-numeral --> any-input-number 29 | input-number-numeral --> app-code 30 | any-input-number --> any-input-text 31 | any-input-number --> any-button 32 | any-button --> any-badge 33 | any-button --> any-ripple-effect 34 | app-code --> any-button 35 | style input-number-numeral fill:#f9f,stroke:#333,stroke-width:4px 36 | ``` 37 | 38 | ---------------------------------------------- 39 | 40 | *Built with love by **AdaleksTech!*** 41 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-number/input-number-currency/readme.md: -------------------------------------------------------------------------------- 1 | # input-number-currency 2 | 3 | 4 | 5 | 6 | 7 | 8 | ## Properties 9 | 10 | | Property | Attribute | Description | Type | Default | 11 | | ----------- | ------------ | ----------- | -------- | ----------- | 12 | | `textId` | `text-id` | | `string` | `undefined` | 13 | | `textTitle` | `text-title` | | `string` | `undefined` | 14 | 15 | 16 | ## Dependencies 17 | 18 | ### Depends on 19 | 20 | - [app-docsectiontext](../../../doc/app-docsectiontext) 21 | - [any-input-number](../../../../input-number) 22 | - [app-code](../../../doc/app-code) 23 | 24 | ### Graph 25 | ```mermaid 26 | graph TD; 27 | input-number-currency --> app-docsectiontext 28 | input-number-currency --> any-input-number 29 | input-number-currency --> app-code 30 | any-input-number --> any-input-text 31 | any-input-number --> any-button 32 | any-button --> any-badge 33 | any-button --> any-ripple-effect 34 | app-code --> any-button 35 | style input-number-currency fill:#f9f,stroke:#333,stroke-width:4px 36 | ``` 37 | 38 | ---------------------------------------------- 39 | 40 | *Built with love by **AdaleksTech!*** 41 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-number/input-number-disabled/readme.md: -------------------------------------------------------------------------------- 1 | # input-number-disabled 2 | 3 | 4 | 5 | 6 | 7 | 8 | ## Properties 9 | 10 | | Property | Attribute | Description | Type | Default | 11 | | ----------- | ------------ | ----------- | -------- | ----------- | 12 | | `textId` | `text-id` | | `string` | `undefined` | 13 | | `textTitle` | `text-title` | | `string` | `undefined` | 14 | 15 | 16 | ## Dependencies 17 | 18 | ### Depends on 19 | 20 | - [app-docsectiontext](../../../doc/app-docsectiontext) 21 | - [any-input-number](../../../../input-number) 22 | - [app-code](../../../doc/app-code) 23 | 24 | ### Graph 25 | ```mermaid 26 | graph TD; 27 | input-number-disabled --> app-docsectiontext 28 | input-number-disabled --> any-input-number 29 | input-number-disabled --> app-code 30 | any-input-number --> any-input-text 31 | any-input-number --> any-button 32 | any-button --> any-badge 33 | any-button --> any-ripple-effect 34 | app-code --> any-button 35 | style input-number-disabled fill:#f9f,stroke:#333,stroke-width:4px 36 | ``` 37 | 38 | ---------------------------------------------- 39 | 40 | *Built with love by **AdaleksTech!*** 41 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-number/input-number-vertical/readme.md: -------------------------------------------------------------------------------- 1 | # input-number-vertical 2 | 3 | 4 | 5 | 6 | 7 | 8 | ## Properties 9 | 10 | | Property | Attribute | Description | Type | Default | 11 | | ----------- | ------------ | ----------- | -------- | ----------- | 12 | | `textId` | `text-id` | | `string` | `undefined` | 13 | | `textTitle` | `text-title` | | `string` | `undefined` | 14 | 15 | 16 | ## Dependencies 17 | 18 | ### Depends on 19 | 20 | - [app-docsectiontext](../../../doc/app-docsectiontext) 21 | - [any-input-number](../../../../input-number) 22 | - [app-code](../../../doc/app-code) 23 | 24 | ### Graph 25 | ```mermaid 26 | graph TD; 27 | input-number-vertical --> app-docsectiontext 28 | input-number-vertical --> any-input-number 29 | input-number-vertical --> app-code 30 | any-input-number --> any-input-text 31 | any-input-number --> any-button 32 | any-button --> any-badge 33 | any-button --> any-ripple-effect 34 | app-code --> any-button 35 | style input-number-vertical fill:#f9f,stroke:#333,stroke-width:4px 36 | ``` 37 | 38 | ---------------------------------------------- 39 | 40 | *Built with love by **AdaleksTech!*** 41 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/listbox/listbox-basic/readme.md: -------------------------------------------------------------------------------- 1 | # listbox-basic 2 | 3 | 4 | 5 | 6 | 7 | 8 | ## Properties 9 | 10 | | Property | Attribute | Description | Type | Default | 11 | | ----------- | ------------ | ----------- | -------- | ----------- | 12 | | `textId` | `text-id` | | `string` | `undefined` | 13 | | `textTitle` | `text-title` | | `string` | `undefined` | 14 | 15 | 16 | ## Dependencies 17 | 18 | ### Depends on 19 | 20 | - [app-docsectiontext](../../../doc/app-docsectiontext) 21 | - [any-listbox](../../../../listbox) 22 | - [app-code](../../../doc/app-code) 23 | 24 | ### Graph 25 | ```mermaid 26 | graph TD; 27 | listbox-basic --> app-docsectiontext 28 | listbox-basic --> any-listbox 29 | listbox-basic --> app-code 30 | any-listbox --> any-checkbox 31 | any-listbox --> any-input-text 32 | any-listbox --> any-ripple-effect 33 | any-listbox --> any-virtual-scroller 34 | app-code --> any-button 35 | any-button --> any-badge 36 | any-button --> any-ripple-effect 37 | style listbox-basic fill:#f9f,stroke:#333,stroke-width:4px 38 | ``` 39 | 40 | ---------------------------------------------- 41 | 42 | *Built with love by **AdaleksTech!*** 43 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/listbox/listbox-filter/readme.md: -------------------------------------------------------------------------------- 1 | # listbox-filter 2 | 3 | 4 | 5 | 6 | 7 | 8 | ## Properties 9 | 10 | | Property | Attribute | Description | Type | Default | 11 | | ----------- | ------------ | ----------- | -------- | ----------- | 12 | | `textId` | `text-id` | | `string` | `undefined` | 13 | | `textTitle` | `text-title` | | `string` | `undefined` | 14 | 15 | 16 | ## Dependencies 17 | 18 | ### Depends on 19 | 20 | - [app-docsectiontext](../../../doc/app-docsectiontext) 21 | - [any-listbox](../../../../listbox) 22 | - [app-code](../../../doc/app-code) 23 | 24 | ### Graph 25 | ```mermaid 26 | graph TD; 27 | listbox-filter --> app-docsectiontext 28 | listbox-filter --> any-listbox 29 | listbox-filter --> app-code 30 | any-listbox --> any-checkbox 31 | any-listbox --> any-input-text 32 | any-listbox --> any-ripple-effect 33 | any-listbox --> any-virtual-scroller 34 | app-code --> any-button 35 | any-button --> any-badge 36 | any-button --> any-ripple-effect 37 | style listbox-filter fill:#f9f,stroke:#333,stroke-width:4px 38 | ``` 39 | 40 | ---------------------------------------------- 41 | 42 | *Built with love by **AdaleksTech!*** 43 | -------------------------------------------------------------------------------- /packages/angular/angular.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "./node_modules/@angular/cli/lib/config/schema.json", 3 | "version": 1, 4 | "newProjectRoot": "projects", 5 | "projects": { 6 | "anywhere-ui": { 7 | "projectType": "library", 8 | "root": "projects/anywhere-ui", 9 | "sourceRoot": "projects/anywhere-ui/src", 10 | "prefix": "lib", 11 | "architect": { 12 | "build": { 13 | "builder": "@angular-devkit/build-angular:ng-packagr", 14 | "options": { 15 | "tsConfig": "projects/anywhere-ui/tsconfig.lib.json", 16 | "project": "projects/anywhere-ui/ng-package.json" 17 | }, 18 | "configurations": { 19 | "production": { 20 | "tsConfig": "projects/anywhere-ui/tsconfig.lib.prod.json" 21 | } 22 | } 23 | }, 24 | "test": { 25 | "builder": "@angular-devkit/build-angular:karma", 26 | "options": { 27 | "main": "projects/anywhere-ui/src/test.ts", 28 | "tsConfig": "projects/anywhere-ui/tsconfig.spec.json", 29 | "karmaConfig": "projects/anywhere-ui/karma.conf.js" 30 | } 31 | } 32 | } 33 | } 34 | }, 35 | "cli": { 36 | "analytics": false 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /packages/core/src/components/app-showcase/pages/input-number/input-number-float-label/readme.md: -------------------------------------------------------------------------------- 1 | # input-number-float-label 2 | 3 | 4 | 5 | 6 | 7 | 8 | ## Properties 9 | 10 | | Property | Attribute | Description | Type | Default | 11 | | ----------- | ------------ | ----------- | -------- | ----------- | 12 | | `textId` | `text-id` | | `string` | `undefined` | 13 | | `textTitle` | `text-title` | | `string` | `undefined` | 14 | 15 | 16 | ## Dependencies 17 | 18 | ### Depends on 19 | 20 | - [app-docsectiontext](../../../doc/app-docsectiontext) 21 | - [any-input-number](../../../../input-number) 22 | - [app-code](../../../doc/app-code) 23 | 24 | ### Graph 25 | ```mermaid 26 | graph TD; 27 | input-number-float-label --> app-docsectiontext 28 | input-number-float-label --> any-input-number 29 | input-number-float-label --> app-code 30 | any-input-number --> any-input-text 31 | any-input-number --> any-button 32 | any-button --> any-badge 33 | any-button --> any-ripple-effect 34 | app-code --> any-button 35 | style input-number-float-label fill:#f9f,stroke:#333,stroke-width:4px 36 | ``` 37 | 38 | ---------------------------------------------- 39 | 40 | *Built with love by **AdaleksTech!*** 41 | --------------------------------------------------------------------------------