diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a2a1041 --- /dev/null +++ b/.gitignore @@ -0,0 +1,120 @@ +# ---> Node +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* +.pnpm-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) +web_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env +.env.test +.env.production + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# Next.js build output +.next +out + +# Nuxt.js build / generate output +.nuxt +dist + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# yarn v2 +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.* + diff --git a/README.md b/README.md index d735640..3d29209 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,94 @@ -# select +# Tiny Components - Select +Created with [Riot.js](https://riot.js.org). Select Field Element, Filter-Option to connect a [Observable](https://github.com/riot/observable). Using Styles for UI from [Plain-UI](https://plain-ui.com) +Source: [https://git.node001.net/tiny-components/select](https://git.node001.net/tiny-components/select) + +## Installation + +Setup this registry in your project .npmrc file: + +``` +@tiny-components:registry=https://git.node001.net/api/packages/tiny-components/npm/ +``` + +Install with npm or yarn + +``` +npm i --save @tiny-components/select +yarn add @tiny-components/select +``` + +## How to use + +``` + +``` + +### Attribute: multiple + +Select Multiple Options + +### Attribute: searchable + +Show Input-Field for Filtering Options, only works if Observable as Store is added and has Function Query. + +### Props: options + +Default Options for Start + +### Props: store + +import observable from '@riotjs/observable' + +let store = observable({ + locations: [{ + 'label' : 'A', + 'value' : 'a' + },{ + 'label' : 'B', + 'value' : 'b' + },{ + 'label' : 'C', + 'value' : 'c' + },{ + 'label' : 'D', + 'value' : 'd' + },{ + 'label' : 'E', + 'value' : 'e' + },{ + 'label' : 'F', + 'value' : 'f' + },{ + 'label' : 'G', + 'value' : 'g' + },{ + 'label' : 'H', + 'value' : 'h' + },{ + 'label' : 'I', + 'value' : 'i' + },{ + 'label' : 'J', + 'value' : 'j' + }], + + query(value) { + if (value !== undefined) { + const results = [] + + // run through locations and check string contains value + for (let i = 0; i < this.locations.length; i++) { + if (this.locations[i].value.includes(value)) { + results.push(this.locations[i]) + } + } + + this.trigger('update', results) + } else { + + // if value is undefined, adding all locations + this.trigger('update', this.locations) + } + } +}) diff --git a/example/assets-manifest.json b/example/assets-manifest.json new file mode 100644 index 0000000..0205fb2 --- /dev/null +++ b/example/assets-manifest.json @@ -0,0 +1,5 @@ +{ + "/example/js/spritemap.js": "/example/js/spritemap.js?version=7ce719c9e00cdc31c694d971b9a5e812", + "/example/js/example.js": "/example/js/example.js?version=2451e89d416b448c318a4c3866f1ebf8", + "/example/css/styles.css": "/example/css/styles.css?version=aa01e6a7dccff39e3f40dcf35c9e9576" +} \ No newline at end of file diff --git a/example/css/styles.css b/example/css/styles.css new file mode 100644 index 0000000..103dd11 --- /dev/null +++ b/example/css/styles.css @@ -0,0 +1,2343 @@ +/*!***************************************************************************************************************************************!*\ + !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/sass-loader/dist/cjs.js!./src/example.scss ***! + \***************************************************************************************************************************************/ +@charset "UTF-8"; +@font-face { + font-family: "IBM Plex Mono"; + src: url("IBMPlexMono.eot"); + src: url("IBMPlexMono.eot?#iefix") format("embedded-opentype"), url("IBMPlexMono.woff2") format("woff2"), url("IBMPlexMono.woff") format("woff"), url("IBMPlexMono.ttf") format("truetype"); + font-weight: normal; + font-style: normal; + font-display: swap; +} +@font-face { + font-family: "IBM Plex Mono"; + src: url("IBMPlexMono-Bold.eot"); + src: url("IBMPlexMono-Bold.eot?#iefix") format("embedded-opentype"), url("IBMPlexMono-Bold.woff2") format("woff2"), url("IBMPlexMono-Bold.woff") format("woff"), url("IBMPlexMono-Bold.ttf") format("truetype"); + font-weight: bold; + font-style: normal; + font-display: swap; +} +/** + * functions + * + * + * @author Björn Hase, me@herr-hase.wtf + * @license http://opensource.org/licenses/MIT The MIT License + * @link https://gitea.node001.net/tiny-components/plain-ui.git + * + */ +/** + * strip unit from value + * + * @param {mixed} $value + * @return {number} + * + */ +/** + * + * + * https://css-tricks.com/snippets/sass/str-replace-function/ + * + */ +/** + * get value of key "default" in map + * + * @param {map} $value + * @return {boolean|unit} + * + */ +/** + * factor + * + * + * + * @param {integer} $x + * @return {float} + * + */ +/** + * mixins + * + * + * @author Björn Hase, me@herr-hase.wtf + * @license http://opensource.org/licenses/MIT The MIT License + * @link https://gitea.node001.net/tiny-components/plain-ui.git + * + */ +/** + * Clear Floats + * + * + * + */ +/** + * clear styles from list + * + * + */ +/** + * media-queries as mixins + * based on breakpoints from variables + * + * + * + */ +/** + * Set property and his value for each Breakpoint + * + * ( + * $md: 10px + * ) + * + * + * @param {css} $property + * @param {map} $breakpoints + * @param {Boolean} $important [false] + * + */ +/** + * Set property and his value with an factor for each Breakpoint + * + * ( + * $md: 10px + * ) + * + * @param {css} $property + * @param {number} $factor + * @param {map} $breakpoints + * @param {Boolean} $important [false] + * + */ +/** + * Set font-size from Breakpoints, use for calculating difference from font-size and default font-size + * + * ( + * $md: 1rem + * ) + * + * @param {map} $breakpoints + * @param {unit} $font-size + * @param {unit} $default + * @param {Boolean} $important [false] + * + */ +/** + * adding overlay with z-index and color + * + * @param {z-index} + * @param {color} + * + */ +/** + * variables + * + * + * + * @author Björn Hase, me@herr-hase.wtf + * @license http://opensource.org/licenses/MIT The MIT License + * @link https://gitea.node001.net/tiny-components/plain-ui.git + * + */ +/** + * grid + * + */ +:root { + --grid-columns: 12; + --grid-grid-spacing: 15px; + --grid-xs: 576px; + --grid-sm: 768px; + --grid-md: 992px; + --grid-lg: 1200px; + --grid-xlg: 1600px; + --grid-xxs-max: 575px; + --grid-xs-max: 767px; + --grid-sm-max: 991px; + --grid-md-max: 1199px; + --grid-lg-max: 1599px; +} + +/** + * fonts + * + */ +/** + * colors + * + * + */ +/** + * margin + * + */ +/** + * padding + * + */ +/** + * border + * + */ +/** + * normalize + * + * Thanks to https://necolas.github.io/normalize.css/, use a lot from them + * + * @author Björn Hase, me@herr-hase.wtf + * @license http://opensource.org/licenses/MIT The MIT License + * @link https://gitea.node001.net/tiny-components/plain-ui.git + * + */ +:root { + --body: #f9f9f9; + --text: #363636; + --text-contrast: #ffffff; + --primary: #3e3e3e; + --primary-contrast: #3e3e3e; + --active: #717171; + --active-contrast: #ffffff; + --link: #363636; + --link-hover: #d95959; + --danger: #d95959; + --danger-contrast: #ecacac; + --info: #0090d4; + --info-constrast: rgb(59, 192.1320754717, 255); + --success: #64ac64; + --success-contrast: rgb(166.4285714286, 207.5714285714, 166.4285714286); + --warning: #f0ad4e; + --warning-contrast: rgb(247.96875, 216.5625, 172.03125); + --background: #3e3e3e; + --background-contrast: #ffffff; + --background-alpha: rgba(0, 0, 0, 0.7); + --border: #3e3e3e; + --border-contrast: #ffffff; + --font-family: IBM Plex Mono, sans-serif; +} + +html { + font-size: 100%; + line-height: 1.15; + -webkit-text-size-adjust: 100%; +} + +body, +html { + margin: 0; + height: 100%; +} + +html, +legend { + box-sizing: border-box; +} + +body { + font-family: var(--font-family); + color: var(--text); + background-color: var(--body); + direction: ltr; + font-size: 0.9rem; +} +@media only screen and (min-width: 992px) { + body { + font-size: 1rem; + } +} +body { + line-height: 1.618; +} + +a { + color: var(--link); + transition: color 0.5s; + text-decoration: none; +} +a:hover { + color: var(--link-hover); +} +a:focus { + outline: none; +} + +main { + display: block; +} + +*, +*::after, +*::before { + box-sizing: inherit; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} + +figure { + margin: 0; +} + +figcaption { + margin: 0; +} + +p { + margin: 0; +} + +/** + * form elements + * + * + */ +button, +input, +optgroup, +select, +textarea { + margin: 0; +} + +fieldset { + margin: 0 0 1rem; +} + +button, +select { + text-transform: none; +} + +[type=button], +[type=reset], +[type=submit], +button { + -webkit-appearance: button; +} + +[type=button]::-moz-focus-inner, +[type=reset]::-moz-focus-inner, +[type=submit]::-moz-focus-inner, +button::-moz-focus-inner { + border-style: none; + padding: 0; +} + +[type=button]:-moz-focusring, +[type=reset]:-moz-focusring, +[type=submit]:-moz-focusring, +button:-moz-focusring { + outline: 1px dotted ButtonText; +} + +legend { + box-sizing: border-box; + display: table; + max-width: 100%; + padding: 0; + white-space: normal; +} + +[type=number]::-webkit-inner-spin-button, +[type=number]::-webkit-outer-spin-button { + height: auto; +} + +[type=search] { + -webkit-appearance: textfield; + outline-offset: -2px; +} + +[type=search]::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-file-upload-button { + -webkit-appearance: button; + font: inherit; +} + +/** + * hr + * + */ +hr { + box-sizing: content-box; + height: 0; + overflow: visible; + border: 0; + border-top: 1px solid var(--border); + margin: 0 0 1rem; +} + +progress { + vertical-align: baseline; +} + +details { + display: block; +} + +summary { + display: list-item; +} + +code, +kbd, +pre, +samp { + font-family: var(--font-family); + font-size: 0.9rem; +} + +/** + * Content + * + * + * @author Björn Hase, me@herr-hase.wtf + * @license http://opensource.org/licenses/MIT The MIT License + * @link https://gitea.node001.net/tiny-components/plain-ui.git + * + */ +.content p { + margin: 0 0 1rem; +} +@media only screen and (min-width: 992px) { + .content p { + margin: 0 0 1.2rem; + } +} +.content a, +.content ins, +.content u { + text-decoration-skip: ink edges; +} +.content a { + text-decoration: underline; +} +.content b, +.content strong { + font-weight: bolder; +} +.content small { + font-size: 80%; +} +.content { + /** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ +} +.content sub, +.content sup { + font-size: 70%; + line-height: 0; + position: relative; + vertical-align: baseline; +} +.content sub { + bottom: -0.25em; +} +.content sup { + top: -0.5em; +} +.content abbr[title] { + border-bottom: 1px dotted; + cursor: help; + text-decoration: none; +} +.content mark { + padding: 0.25rem; + background-color: var(--warning); +} +.content { + /** + * blockquote + * + * + */ +} +.content blockquote { + border-left: 1px solid var(--border); + margin-left: 0; + padding: 0.6rem 0.8rem; +} +.content blockquote p:last-child { + margin-bottom: 0; +} +.content { + /** + * lists + * + */ +} +.content dl, +.content ol, +.content ul { + padding: 0; + margin: 0 0 1rem; +} +@media only screen and (min-width: 992px) { + .content dl, + .content ol, + .content ul { + margin: 0 0 1.2rem; + } +} +.content ul { + margin-left: 1.5rem; +} +.content ol { + margin-left: 2.5rem; +} +.content ol ol, +.content ul ul { + margin-top: 0; + margin-left: 1.5rem; +} +.content ol { + list-style: decimal outside; +} +.content ul { + list-style: square outside; +} +.content dl { + margin-left: 0.5rem; +} +.content dd, +.content dt { + margin: 0; +} +.content dt { + font-weight: bold; +} +.content code { + white-space: pre; + display: block; + color: var(--text-contrast); + overflow-y: hidden; + overflow-x: auto; + border: 1px solid var(--border); + border-radius: 2px; + background-color: var(--background); + margin: 0 0 1rem; +} +@media only screen and (min-width: 992px) { + .content code { + margin: 0 0 1.2rem; + } +} +.content code { + padding: 0.6rem 0.8rem; +} +@media only screen and (min-width: 992px) { + .content code { + padding: 0.7rem 1rem 0.9rem; + } +} + +.highlight { + padding: 0.15rem 0.4rem 0.25rem; + background: var(--primary); + color: var(--text-contrast); + border-radius: 2px; +} + +/** + * Heading + * + * + * @author Björn Hase, me@herr-hase.wtf + * @license http://opensource.org/licenses/MIT The MIT License + * @link https://gitea.node001.net/tiny-components/plain-ui.git + * + */ +/** + * add font-size for heading as class and element + * + * + */ +h1, .h1, +h2, .h2, +h3, .h3, +h4, .h4, +h5, .h5, +h6, .h6 { + font-family: "IBM Plex Mono", sans-serif; + font-weight: bold; + line-height: 1.2; + margin: 0 0 1rem; +} +h1.highlight, .h1.highlight, +h2.highlight, .h2.highlight, +h3.highlight, .h3.highlight, +h4.highlight, .h4.highlight, +h5.highlight, .h5.highlight, +h6.highlight, .h6.highlight { + display: table; +} + +h1, .h1 { + font-size: 2.5rem; +} + +h2, .h2 { + font-size: 2rem; +} + +h3, .h3 { + font-size: 1.75rem; +} + +h4, .h4 { + font-size: 1.5rem; +} + +h5, .h5 { + font-size: 1.25rem; +} + +h6, .h6 { + font-size: 1rem; +} + +@media only screen and (min-width: 992px) { + h1, .h1 { + font-size: 2.75rem; + } + h2, .h2 { + font-size: 2.5rem; + } + h3, .h3 { + font-size: 2rem; + } + h4, .h4 { + font-size: 1.75rem; + } + h5, .h5 { + font-size: 1.5rem; + } + h6, .h6 { + font-size: 1.2rem; + } +} +/** + * + * A + * + * + * @author Björn Hase, me@herr-hase.wtf + * @license http://opensource.org/licenses/MIT The MIT License + * @link https://gitea.node001.net/tiny-components/plain-ui.git + * + */ +.badge { + display: inline-block; + background-color: var(--background); + color: var(--text-contrast); + font-size: 0.85rem; + padding: 0.4rem 0.8rem; + border: 1px solid var(--border); + border-radius: 2px; +} +.badge--round { + display: inline-flex; + justify-content: center; + border-radius: 50%; + width: 2.8em; +} + +/** + * Button + * + * @author Björn Hase, me@herr-hase.wtf + * @license http://opensource.org/licenses/MIT The MIT License + * @link https://gitea.node001.net/tiny-components/plain-ui.git + * + */ +/** + * + * + */ +/** + * + * + */ +/** + * + * + */ +.button { + appearance: none; + position: relative; + display: inline-flex; + align-items: center; + text-decoration: none; + font-family: var(--font-family); + font-size: 1rem; + border: 1px solid var(--border); + background-color: var(--background-contrast); + color: var(--text); + border-radius: 2px; + transition: background-color 0.1s; + margin: 0 0 1rem; + padding: 0.5rem 1.3rem; + width: 100%; +} +@media only screen and (min-width: 768px) { + .button { + width: auto; + } +} +.button--small { + padding: 0.3rem 1.1rem; + font-size: 0.8rem; +} +.button:hover, .button--selected { + cursor: pointer; + text-decoration: none; + color: white; + background-color: var(--active); +} +.button:focus, .button:active { + outline: 1px solid var(--active); +} +.button:disabled { + opacity: 0.5; +} +.button:disabled:hover { + cursor: not-allowed; + border: 1px solid var(--border); + background-color: var(--background-contrast); + color: var(--border); +} +.button--transparent { + margin: 0; + padding: 0; + border: none; + background: transparent; + border-radius: 0; +} +.button--transparent:focus, .button--transparent:active { + outline: none; +} +.button--danger { + border-color: var(--danger); +} +.button--danger:hover { + background-color: var(--danger); +} +.button--danger:focus, .button--danger:active { + outline: 2px solid var(--danger); +} +.button--info { + border-color: var(--info); +} +.button--info:hover { + background-color: var(--info); +} +.button--info:focus, .button--info:active { + outline: 2px solid var(--info); +} +.button--warning { + border-color: var(--warning); +} +.button--warning:hover { + background-color: var(--warning); +} +.button--warning:focus, .button--warning:active { + outline: 2px solid var(--warning); +} +.button--success { + border-color: var(--success); +} +.button--success:hover { + background-color: var(--success); +} +.button--success:focus, .button--success:active { + outline: 2px solid var(--success); +} +.button--outline { + background-color: transparent; +} +.button--outline:hover { + color: var(--border); + border-color: #a4a4a4; + background-color: transparent; +} +.button--danger.button--outline:hover { + border-color: #ecacac; +} +.button--info.button--outline:hover { + border-color: rgb(59, 192.1320754717, 255); +} +.button--warning.button--outline:hover { + border-color: rgb(247.96875, 216.5625, 172.03125); +} +.button--success.button--outline:hover { + border-color: rgb(166.4285714286, 207.5714285714, 166.4285714286); +} +.button--full { + background-color: var(--active); + color: white; +} +.button--full:hover { + background-color: var(--background-contrast); + color: var(--text); +} +.button--danger.button--full { + background-color: var(--danger); +} +.button--danger.button--full:hover { + background-color: var(--background-contrast); + border-color: var(--danger); +} +.button--danger.button--full:focus, .button--danger.button--full:active { + outline: 2px solid var(--danger); +} +.button--info.button--full { + background-color: var(--info); +} +.button--info.button--full:hover { + background-color: var(--background-contrast); + border-color: var(--info); +} +.button--info.button--full:focus, .button--info.button--full:active { + outline: 2px solid var(--info); +} +.button--warning.button--full { + background-color: var(--warning); +} +.button--warning.button--full:hover { + background-color: var(--background-contrast); + border-color: var(--warning); +} +.button--warning.button--full:focus, .button--warning.button--full:active { + outline: 2px solid var(--warning); +} +.button--success.button--full { + background-color: var(--success); +} +.button--success.button--full:hover { + background-color: var(--background-contrast); + border-color: var(--success); +} +.button--success.button--full:focus, .button--success.button--full:active { + outline: 2px solid var(--success); +} + +/** + * + * fields + * + * @author Björn Hase, me@herr-hase.wtf + * @license http://opensource.org/licenses/MIT The MIT License + * @link https://gitea.node001.net/tiny-components/plain-ui.git + * + */ +.field-group { + margin: 0 0 1rem; +} +.field-group--valid .field-text { + border-color: var(--success); +} +.field-group--valid .icon { + fill: var(--success); +} +.field-group--error .field-text { + border-color: var(--danger); +} +.field-group--error .icon { + fill: var(--danger); +} + +.field-label { + font-size: 1rem; + font-family: var(--font-family); +} +.field-label .icon { + vertical-align: text-bottom; +} +.field-label:hover { + cursor: pointer; +} + +.field-text, .field-choice { + font-family: var(--font-family); + font-size: 0.95rem; + width: 100%; + border: 1px solid #a4a4a4; + border-radius: 2px; + margin: 0.7rem 0 0; +} +.field-text:focus, .field-text:active, .field-choice:focus, .field-choice:active { + outline: 0; + border-color: var(--border); +} + +.field-text { + padding: 0.8em 1.1em; +} + +textarea.field-text { + height: 180px; +} + +/** + * field-choice + * + * + */ +.field-choice { + appearance: none; + padding: 0.8em; + background-image: linear-gradient(to right, #717171, #717171); + background-position: 100%; + background-size: 1.5rem 100%; + background-repeat: no-repeat; +} +.field-choice:active, .field-choice:focus { + background-image: linear-gradient(to right, #3e3e3e, #3e3e3e); +} + +/** + * radio & checkbox + * + *
+ * + *
+ * + */ +[type=checkbox].field-choice, +[type=radio].field-choice { + position: relative; + display: none; +} +[type=checkbox].field-choice ~ .field-choice__checked, +[type=radio].field-choice ~ .field-choice__checked { + display: none; +} +[type=checkbox].field-choice:checked ~ .field-choice__checked, +[type=radio].field-choice:checked ~ .field-choice__checked { + display: inline-block; +} +[type=checkbox].field-choice:checked ~ .field-choice__unchecked, +[type=radio].field-choice:checked ~ .field-choice__unchecked { + display: none; +} + +svg.field-choice__unchecked { + fill: var(--active); +} + +svg.field-choice__checked { + fill: var(--success); +} + + .field-error { + display: inline-block; + width: 100%; + padding: 0.6em 0.5em; + font-size: 0.8rem; +} + +/** + * + * + */ +.field-switch { + position: relative; + display: inline-block; + width: 75px; + height: 35px; + border: 1px solid var(--border); + border-radius: 2px; +} +.field-switch:after { + position: absolute; + top: 0; + left: 0; + width: 50%; + height: 100%; + content: ""; + border: 1px solid var(--border); + border-color: var(--border-contrast); + border-radius: 2px; + background-color: var(--active); + transition: transform 0.25s; +} + +[type=checkbox].field-choice ~ .field-switch:after { + left: 0; +} +[type=checkbox].field-choice:checked ~ .field-switch { + border-color: var(--success); +} +[type=checkbox].field-choice:checked ~ .field-switch:after { + background-color: var(--success); + transform: translateX(100%); +} + +/** + * display error for fields + * + */ +.field-error { + color: var(--danger); +} + +/** + * + *
+ * + * A + * + *
+ * + * @author Björn Hase, me@herr-hase.wtf + * @license http://opensource.org/licenses/MIT The MIT License + * @link https://gitea.node001.net/tiny-components/plain-ui.git + * + */ +.group__item { + width: auto; + display: inline-block; + margin: 0 0 1rem; + margin-right: 0.25rem; +} +.group__item:last-child { + margin-right: 0; +} + +/** + * + * + * @author Björn Hase, me@herr-hase.wtf + * @license http://opensource.org/licenses/MIT The MIT License + * @link https://gitea.node001.net/tiny-components/plain-ui.git + * + */ +.icon { + width: 1em; + height: 1em; + max-height: 100%; + max-width: 100%; + vertical-align: middle; + overflow: hidden; + font-size: 1.4rem; + fill: var(--text); +} + +/** + *
+ * image + *
+ * + * @author Björn Hase, me@herr-hase.wtf + * @license http://opensource.org/licenses/MIT The MIT License + * @link https://gitea.node001.net/tiny-components/plain-ui.git + * + */ +.hero { + position: relative; +} +.hero img { + width: 100%; + object-fit: cover; + object-position: 50% 50%; +} + +/** + * + * tabs + * + * @author Björn Hase, me@herr-hase.wtf + * @license http://opensource.org/licenses/MIT The MIT License + * @link https://gitea.node001.net/tiny-components/plain-ui.git + * + */ +.tabs { + display: flex; + flex-direction: column; + width: 100%; + border-bottom: 1px solid var(--border); +} +@media only screen and (min-width: 768px) { + .tabs { + width: auto; + flex-direction: row; + } +} +.tabs__item { + min-height: 2.8em; + display: flex; + align-items: center; + padding: 0 1em; + color: var(--text); + transition: background-color 0.1s; + border-bottom: 3px solid transparent; + background-color: transparent; + width: 100%; +} +@media only screen and (min-width: 768px) { + .tabs__item { + width: auto; + display: inline-flex; + } +} +.tabs__item:hover { + cursor: pointer; + background-color: var(--active); + color: var(--text-contrast); + border-top-left-radius: 2px; + border-top-right-radius: 2px; +} +.tabs__item--selected { + color: var(--text); + border-color: var(--border); +} +.tabs--contrast { + border: 0; +} +.tabs--contrast .tabs__item { + color: var(--text-contrast); +} +.tabs--contrast .tabs__item:hover { + background-color: var(--background-contrast); + color: var(--text); + border-radius: 0; +} +.tabs--contrast .tabs__item--selected { + border-color: var(--border-contrast); +} +.tabs--contrast .tabs__item--selected:hover { + border-color: var(--active); +} + +/** + * + * + * @author Björn Hase, me@herr-hase.wtf + * @license http://opensource.org/licenses/MIT The MIT License + * @link https://gitea.node001.net/tiny-components/plain-ui.git + * + */ +.panel, .sidebar__inner { + border: 1px solid var(--border); + border-radius: 2px; + background-color: var(--background-contrast); +} +.panel__body, .sidebar__body { + padding: 0.6rem 0.8rem; +} +@media only screen and (min-width: 992px) { + .panel__body, .sidebar__body { + padding: 0.7rem 1rem 0.9rem; + } +} +.panel--border-highlight { + border-left-width: 12px; +} + +/** + *
+ *
+ *
+ * + * @author Björn Hase, me@herr-hase.wtf + * @license http://opensource.org/licenses/MIT The MIT License + * @link https://gitea.node001.net/tiny-components/plain-ui.git + * + */ +.progress { + height: 40px; + width: 100%; + border: 1px solid var(--border); +} +.progress__inner { + height: 100%; + border: 1px solid var(--background-contrast); + background-color: var(--background); +} + +/** + *
+ * + *
+ * food truck yr franzen pabst + *
+ *
+ * + * + * @author Björn Hase, me@herr-hase.wtf + * @license http://opensource.org/licenses/MIT The MIT License + * @link https://gitea.node001.net/tiny-components/plain-ui.git + * + */ +.figure { + margin: 0; + display: inline-block; + line-height: 0; + border: 1px solid var(--border); + border-radius: 2px; + overflow: hidden; +} +.figure__caption { + padding: 0.75em 1.1em; + font-size: 0.7rem; + background: var(--background); + line-height: 1.618; + margin: 0; + color: var(--text-contrast); + border-top: 1px solid var(--border-contrast); +} +.figure .media { + border: 0; + border-radius: 0; +} + +.media { + border-radius: 2px; + border: 1px solid var(--border); + width: 100%; + height: auto; +} + +/** + * + * table + * + * @author Björn Hase, me@herr-hase.wtf + * @license http://opensource.org/licenses/MIT The MIT License + * @link https://gitea.node001.net/tiny-components/plain-ui.git + * + */ +.table { + width: 100%; + border: 1px solid var(--border); + background: var(--white); +} +.table__td { + color: var(--text); +} +.table__td, .table__th { + text-align: left; + border-bottom: 1px solid var(--border); + padding: 0.25em 0.75em; +} +@media only screen and (min-width: 992px) { + .table__td, .table__th { + padding: 0.5em 1.25em; + } +} +.table__th { + color: white; + background-color: var(--background); +} +.table--striped .table__tr:nth-child(even) .table__td { + background-color: rgb(227.75, 227.75, 227.75); +} +.table--hover .table__tr:hover .table__td { + color: white; + background-color: rgb(87.5, 87.5, 87.5); +} + +/** + *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ * + * @author Björn Hase, me@herr-hase.wtf + * @license http://opensource.org/licenses/MIT The MIT License + * @link https://gitea.node001.net/tiny-components/plain-ui.git + * + */ +.bar { + display: flex; + min-height: 2.8em; + background-color: var(--background); + color: var(--text-contrast); + border: 1px solid var(--border); + border-radius: 2px; +} +.bar__start { + justify-content: start; +} +.bar__main { + flex-grow: 1; +} +.bar__end { + justify-content: end; +} +.bar__start, .bar__main, .bar__end { + display: flex; + align-self: center; + align-items: center; + margin-left: 0.75em; +} +.bar__start:last-child, .bar__main:last-child, .bar__end:last-child { + margin-right: 0.75em; +} + +/** + *
+ * + *
+ * food truck yr franzen pabst + *
+ *
+ * + * + * @author Björn Hase, me@herr-hase.wtf + * @license http://opensource.org/licenses/MIT The MIT License + * @link https://gitea.node001.net/tiny-components/plain-ui.git + * + */ +.modal { + position: fixed; + width: 100%; + height: 100%; + top: 0; + left: 0; + display: flex; + visibility: hidden; + transition: visibility 0s linear 0.5s; + padding: 1rem; + z-index: 20; + align-items: center; + justify-content: center; +} +.modal:before { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: transparent; + transition: background-color 0.5s; + z-index: 19; + content: ""; + transition: background-color 0.5s; +} +.modal__inner { + position: relative; + z-index: 21; + transition: transform 0.5s; + transform: scale(0); + max-width: 600px; + width: 100%; +} +.modal__title { + font-size: 2rem; + text-align: center; + white-space: pre-line; + margin-bottom: 2rem; +} +.modal__title .icon { + font-size: 3rem; +} +.modal__title, .modal__body { + color: var(--text-contrast); +} +.modal__body { + margin-bottom: 1.5rem; +} +.modal .button { + color: var(--text-contrast); +} +.modal--open { + display: flex; + visibility: visible; + transition: visibility 0s linear 0s; +} +.modal--open:before { + background-color: var(--background-alpha); +} +.modal--open .modal__inner { + transform: scale(1); +} + +/** + *
+ * + * + * + *
+ * + * + * @author Björn Hase, me@herr-hase.wtf + * @license http://opensource.org/licenses/MIT The MIT License + * @link https://gitea.node001.net/tiny-components/plain-ui.git + * + */ +.loading { + height: 60px; + width: 47px; + margin: 0 auto; + display: flex; + align-items: center; +} +.loading span { + display: block; + width: 15px; + height: 80px; + background-color: var(--background); + animation-name: loading-animation; + animation-duration: 0.5s; + animation-iteration-count: infinite; + animation-delay: 0.15s; + border-top: 1px solid var(--background); + border-bottom: 1px solid var(--background); +} +.loading span:first-child { + margin-right: 1px; + animation-delay: 0s; +} +.loading span:last-child { + margin-left: 1px; + animation-delay: 0.3s; +} + +@keyframes loading-animation { + 0% { + height: 60px; + } + 50% { + height: 40px; + } + 100% { + height: 60px; + } +} +/** + * + * + * @author Björn Hase, me@herr-hase.wtf + * @license http://opensource.org/licenses/MIT The MIT License + * @link https://gitea.node001.net/tiny-components/plain-ui.git + * + */ +.sidebar { + position: fixed; + z-index: 9; + top: 0; + left: 0; + width: 100%; + height: 100%; + max-width: 95%; + visibility: hidden; + transition: visibility 0s linear 0.5s; +} +.sidebar:before { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: transparent; + transition: background-color 0.5s; + z-index: 9; + content: ""; + transition: background-color 0.5s; +} +.sidebar__inner { + position: relative; + height: 100%; + z-index: 10; + transition: transform 0.2s; + transform: translateX(-100%); +} +.sidebar__footer { + position: fixed; + left: 0; + bottom: 0; + display: flex; + justify-content: space-between; + background: var(--background); + width: 100%; + padding: 1rem; +} +.sidebar--open { + visibility: visible; + transition: visibility 0s linear 0s; +} +.sidebar--open .sidebar__inner { + transform: translateX(0); +} +.sidebar--open:before { + background: var(--background-alpha); +} +@media only screen and (min-width: 992px) { + .sidebar { + max-width: 33%; + } +} + +/** + *
+ *
+ *
+ * + *
+ *
+ * + *
+ *
+ * + *
+ *
+ *
+ * + * @author Björn Hase, me@herr-hase.wtf + * @license http://opensource.org/licenses/MIT The MIT License + * @link https://gitea.node001.net/tiny-components/plain-ui.git + * + */ +.toast { + display: flex; + background: var(--background); + border: 1px solid var(--border); + max-width: 800px; + width: max-content; + margin-top: 1.25rem; + position: relative; + left: calc(-100% - 2rem); + transition: left 0.1s; + pointer-events: auto; +} +.toast--animation { + left: 0; +} +.toast__body { + width: 100%; + padding: 1em 1.25em; +} +.toast__button { + border: 0; + appearance: none; + background: var(--background); +} +.toast__button:hover { + cursor: pointer; +} +.toast__body, .toast__button { + color: var(--text-contrast); +} +.toast__icon, .toast__button { + display: flex; + align-self: stretch; + align-items: center; + padding: 0 1em; +} +.toast__icon svg, .toast__button svg { + font-size: 2rem; +} +.toast--danger { + background: var(--danger); +} +.toast--danger .toast__button { + background: var(--danger); +} +.toast-wrapper { + position: fixed; + left: 0; + bottom: 0; + margin: 2rem; + z-index: 30; + pointer-events: none; +} + +/** + * masonry + * + *
+ *
+ * + *
+ *
+ * + * @author Björn Hase, me@herr-hase.wtf + * @license http://opensource.org/licenses/MIT The MIT License + * @link https://gitea.node001.net/tiny-components/plain-ui.git + * + */ +.masonry { + display: flex; + width: 100%; + flex-flow: row wrap; + gap: 15px; +} +.masonry__item { + width: 100%; + height: 200px; +} +@media only screen and (min-width: 768px) { + .masonry__item { + height: 300px; + } + .masonry__item:nth-child(4n+1) { + width: calc(25% - 10px); + } + .masonry__item:nth-child(4n+2) { + width: calc(55% - 10px); + } + .masonry__item:nth-child(4n+3) { + width: calc(20% - 10px); + } + .masonry__item:nth-child(4n+4) { + width: calc(67% - 10px); + } + .masonry__item:nth-child(4n+5) { + width: calc(33% - 10px); + } +} + +/** + * slider + * + *
+ *
+ *
+ *
+ *
+ * + * + * @author Björn Hase, me@herr-hase.wtf + * @license http://opensource.org/licenses/MIT The MIT License + * @link https://gitea.node001.net/tiny-components/plain-ui.git + * + */ +.slider { + position: relative; + overflow-x: visible; +} +.slider__inner { + display: flex; + white-space: nowrap; +} +.slider__item { + padding: 0 0.6em; + display: inline-block; + white-space: normal; + flex-shrink: 0; +} + +/** + * grid + * + * This Grid is mainly the Reflex Grid from Lee Gordon https://reflexgrid.com/, he has + * done a great work, for i few changes it was needed to integrated + * + * @author Björn Hase, me@herr-hase.wtf + * @license http://opensource.org/licenses/MIT The MIT License + * @link https://gitea.node001.net/tiny-components/plain-ui.git + * + */ +/** + * grid: mixin + * + * + * @author Björn Hase, me@herr-hase.wtf + * @license http://opensource.org/licenses/MIT The MIT License + * @link https://gitea.node001.net/tiny-components/plain-ui.git + * + */ +/** + * order class generation mixins + * + */ +/** + * offset class generation mixins + * + */ +/** + * modifier mixins + * + */ +/** + * justify-content + * + * Uses "text-align" for the fallback inline-block grid + * "text-align" is globally supported and works on all rows except the last + * "text-align-last", where supported, handles the last line (and, happily, grids with only one row) + * + */ +/** + * Responsible Visibility + * + */ +/** + * Breakpoint viewport sizes and media queries + * + * Breakpoints are defined as a map of (name: minimum width), order from small to large: + * (xs: 576px, sm: 768px, md: 992px) + * The map defined in the `$reflex-breakpoints` global variable is used as the `$breakpoints` argument by default. + * Name of the next breakpoint, or null for the last breakpoint. + * >> breakpoint-next(sm) -> md + * >> breakpoint-next(sm, $breakpoints: (xs: 576px, sm: 768px, md: 992px)) -> md + * >> breakpoint-next(sm, $breakpoint-names: (xs sm md)) -> md + * + */ +/** + * Minimum breakpoint width. Null for the smallest (first) breakpoint. + * breakpoint-min(sm, (xs: 576px, sm: 768px, md: 992px)) -> 768px + * + */ +/** + * Media of at most the maximum breakpoint width. No query for the largest breakpoint. + * Makes the @content apply to the given breakpoint and narrower. + * + */ +/** + * Media between the breakpoint's minimum and maximum widths. + * No minimum for the smallest breakpoint, and no maximum for the largest one. + * Makes the @content apply only to the given breakpoint, not viewports any wider or narrower. + * + */ +/** + * grid: helpers + * + * + * @author Björn Hase, me@herr-hase.wtf + * @license http://opensource.org/licenses/MIT The MIT License + * @link https://gitea.node001.net/tiny-components/plain-ui.git + * + */ +.wrap { + -webkit-flex-wrap: wrap; + flex-wrap: wrap; +} + +.wrap-reverse { + -webkit-flex-wrap: wrap-reverse; + flex-wrap: wrap-reverse; +} + +/** + * flex-direction + * + */ + +/** + * align items (cross axis) + * + */ + +/** + * align content (cross axis) + * + */ + +/** + * align-self + * + */ + +/** + * justify-content (main axis) + * + */ + +.justify-end { + -webkit-justify-content: flex-end; + justify-content: flex-end; +} + +.justify-center { + -webkit-justify-content: center; + justify-content: center; +} + +/** + * cosmetic grid modifiers + * + */ + +/** + * col modifiers + * + */ + +/** + * col-grid contents + * + */ + +/** + * Responsive visibility modifiers + * + */ + +.container { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + width: 100%; + margin-right: auto; + margin-left: auto; + padding-right: 30px; + padding-left: 30px; +} +.container .grid { + margin-right: -15px; + margin-left: -15px; +} + +@media (min-width: 576px) { + .container { + max-width: 576px; + } +} +@media (min-width: 768px) { + .container { + max-width: 768px; + } +} +@media (min-width: 992px) { + .container { + max-width: 992px; + } +} +@media (min-width: 1200px) { + .container { + max-width: 1200px; + } +} +@media (min-width: 1600px) { + .container { + max-width: 1600px; + } +} + +.grid { + display: block; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + display: -webkit-flex; + display: flex; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; + padding: 0; + margin: 0 auto; + position: relative; +} +.grid::after, .grid::before { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.grid { + list-style-type: none; +} + + .col-12 { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + position: relative; + width: 100%; + vertical-align: top; + padding: 15px; +} + .col-12::after, .col-12::before { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + .col-12 .grid { + -webkit-flex: 1 1 auto; + flex: 1 1 auto; + margin: -15px; +} + +/** + * grid generation + * + * + */ +.col-12 { + width: 100%; +} +@media (min-width: 992px) { + .col-md-6 { + width: 50%; + } +} +/** + * col-auto + * + * + */ +/** + * order helpers generation + * + * + */ +/** + * offset helpers generation + * + * + */ +/** + * core + * + * + * @author Björn Hase, me@herr-hase.wtf + * @license http://opensource.org/licenses/MIT The MIT License + * @link https://gitea.node001.net/tiny-components/plain-ui.git + * + */ +.border { + border: 1px solid var(--border); +} + +.round { + border-radius: 50%; +} + +/** + * z-index + * + * + */ + +/** + * floating + * + * + */ + +.float-right { + float: right; +} + +.centered { + margin-left: auto; + margin-right: auto; +} + +/** + * position + * + * + */ +.absolute { + position: absolute !important; +} + +.fixed { + position: fixed !important; +} + +.relative { + position: relative !important; +} + +/** + * + * + */ + +/** + * + * + */ +.overflow-x-hidden { + overflow-x: hidden; +} + +.object-fit-cover { + object-fit: cover; +} + +/** + * Sizing + * + * Width and Height Classes, + * Sizes with percentage will calculate with the Reflex Grid + * + * @author Björn Hase, me@herr-hase.wtf + * @license http://opensource.org/licenses/MIT The MIT License + * @link https://gitea.node001.net/tiny-components/plain-ui.git + * + */ +/** + * mixin: sizing + * + */ +/** + * mixin: sizing for each breakpoint + * + * + */ +.h-1 { + height: 1px; +} +.h-100 { + height: 100%; +} +.w-col-12 { + width: 100%; +} +.h-1 { + height: 0.5rem; +} +.h-6 { + height: 3rem; +} +.h-70 { + height: 35rem; +} +/** + * Spacing + * + * creates margin and padding for each direction and for each breakpont + * + * @author Björn Hase, me@herr-hase.wtf + * @license http://opensource.org/licenses/MIT The MIT License + * @link https://gitea.node001.net/tiny-components/plain-ui.git + * + */ +/** + * mixin: spacing for single padding or margin + * + * + */ +/** + * mixin: spacing for each breakpoint + * + * + */ +/** + * + * + * + */ +.marginless { + margin: 0; +} + +.m-last-child-0 > *:last-child { + margin: 0; +} + +.m-bottom-last-child-0 > *:last-child { + margin-bottom: 0; +} + +.m-1 { + margin: 1px; +} +.m-top-0 { + margin-top: 0; +} +.m-top-4 { + margin-top: 1.125rem; +} +.m-top-5 { + margin-top: 2rem; +} +.m-top-6 { + margin-top: 3.125rem; +} +.m-bottom-0 { + margin-bottom: 0; +} +.m-bottom-4 { + margin-bottom: 1.125rem; +} +.m-bottom-5 { + margin-bottom: 2rem; +} +.m-left-3 { + margin-left: 0.5rem; +} +@media only screen and (min-width: 768px) { + .m-left-sm-3 { + margin-left: 0.5rem; + } +} +.p-0 { + padding: 0; +} + +.p-1 { + padding: 1px; +} + +.p-0 { + padding: 0.125rem; +} +.p-1 { + padding: 0rem; +} +.p-3 { + padding: 0.5rem; +} +/** + * colors + * + * + * @author Björn Hase, me@herr-hase.wtf + * @license http://opensource.org/licenses/MIT The MIT License + * @link https://gitea.node001.net/tiny-components/plain-ui.git + * + */ + +.color-text-contrast { + color: var(--text-contrast); +} + +.color-danger { + color: var(--danger); +} + +.fill-text { + fill: var(--text); +} +.fill-text svg { + fill: var(--text); +} + +.fill-text-contrast { + fill: var(--text-contrast); +} +.fill-text-contrast svg { + fill: var(--text-contrast); +} + +.fill-danger { + fill: var(--danger); +} +.fill-danger svg { + fill: var(--danger); +} + +.fill-success { + fill: var(--success); +} +.fill-success svg { + fill: var(--success); +} + +.fill-text-hover:hover { + fill: var(--text); +} +.fill-text-hover:hover svg { + fill: var(--text); +} + +.border-color-danger { + border-color: var(--danger); +} + +.border-color-info { + border-color: var(--info); +} + +.background-color-primary { + background-color: var(--primary); +} + +/** + * typography + * + * + * @author Björn Hase, me@herr-hase.wtf + * @license http://opensource.org/licenses/MIT The MIT License + * @link https://gitea.node001.net/tiny-components/plain-ui.git + * + */ +.left { + text-align: left; +} +.right { + text-align: right; +} +.center { + text-align: center; +} +.justify { + text-align: justify; +} +.uppercase { + text-transform: uppercase; +} +.lowercase { + text-transform: lowercase; +} +.crossed { + text-decoration: line-through; +} +.underline { + text-decoration: underline; +} +.capitalize { + text-transform: capitalize; +} +.italic { + font-style: italic; +} +.light { + font-weight: lighter; +} +.normal { + font-weight: normal; +} +.medium { + font-weight: medium; +} +.bold { + font-weight: bolder; +} +/** + * font-sizes + * + * + */ +.size-big { + font-size: 2.7rem; +} +/** + * white-space + * + * + */ +/** + * visibility + * + * + * @author Björn Hase, me@herr-hase.wtf + * @license http://opensource.org/licenses/MIT The MIT License + * @link https://gitea.node001.net/tiny-components/plain-ui.git + * + */ +/** + * display + * + * + */ +/** + * for hidden-xs etc, show https://reflexgrid.com/#visibility-helpers + * + * @TODO full integration of reflexgrid will change this part + * + */ +/** + * Visibility + * + */ + +/** + * Opacity + * + * + */ + +/** + * + * + */ + +.field-select__options-panel { + overflow-x: scroll; + max-height: 15vh; +} +.field-select__options-item { + position: relative; +} +.field-select__options-item-check, .field-select__options-item-uncheck { + font-size: 1.5rem; + vertical-align: middle; + line-height: 0; + margin: -0.2rem 0.25rem 0 0; +} +.field-select__options-item-check { + color: var(--success); + display: none; +} +.field-select__options-item-uncheck { + display: inline-block; +} +.field-select__options-item--selected { + color: white; + background-color: var(--active); +} +.field-select__options-item--selected .field-select__options-item-check { + display: inline-block; +} +.field-select__options-item--selected .field-select__options-item-uncheck { + display: none; +} +.field-select__options-filter { + position: relative; +} +.field-select__options-filter--active .field-select__options-filter-reset { + display: block; +} +.field-select__options-filter-reset { + position: absolute; + display: none; + top: 0; + right: 0; + border: 0; + background: transparent; + color: var(--danger); + font-size: 1.75rem; + margin: 0.1rem 0.3rem; +} +.field-select__options-filter-reset:hover { + cursor: pointer; +} +.field-select__options-list { + margin: 0; + padding: 0; + list-style: none; +} +.field-select__options-list li { + border: 1px solid #3e3e3e; + border-top: 0; + border-left: 0; + border-right: 0; + padding: 0.5rem; +} +.field-select__options-list li .icon { + margin-top: -3px; + margin-right: 5px; + font-size: 1.8rem; +} +.field-select__options-list li:hover { + cursor: pointer; +} +.field-select__options-list li:last-child { + border-bottom: 0; +} + +/*# sourceMappingURL=styles.css.map */ \ No newline at end of file diff --git a/example/index.html b/example/index.html new file mode 100644 index 0000000..3868e3e --- /dev/null +++ b/example/index.html @@ -0,0 +1,102 @@ + + + + + + Tiny Components | Select + + + + + + +
+
+
+

+ @tiny-components/select +

+
+ +
+
+ +
+
+
+
+
+ +
+
+ +
+
+ +
+
+
+
+
+ + + + + + diff --git a/example/js/example.js b/example/js/example.js new file mode 100644 index 0000000..55f2ddd --- /dev/null +++ b/example/js/example.js @@ -0,0 +1 @@ +(()=>{var __webpack_modules__={"./node_modules/@riotjs/observable/dist/observable.js"(module){eval("{;(function(window, undefined) {const ALL_CALLBACKS = '*'\nconst define = Object.defineProperties\nconst entries = Object.entries\n\nconst on = (callbacks, el) => (event, fn) => {\n if (callbacks.has(event)) {\n callbacks.get(event).add(fn)\n } else {\n callbacks.set(event, new Set().add(fn))\n }\n\n return el\n}\n\nconst deleteCallback = (callbacks, el, event, fn) => {\n if (fn) {\n const fns = callbacks.get(event)\n\n if (fns) {\n fns.delete(fn)\n if (fns.size === 0) callbacks.delete(event)\n }\n } else callbacks.delete(event)\n}\n\nconst off = (callbacks, el) => (event, fn) => {\n if (event === ALL_CALLBACKS && !fn) {\n callbacks.clear()\n } else {\n deleteCallback(callbacks, el, event, fn)\n }\n\n return el\n}\n\nconst one = (callbacks, el) => (event, fn) => {\n function on(...args) {\n el.off(event, on)\n fn.apply(el, args)\n }\n return el.on(event, on)\n}\n\nconst trigger = (callbacks, el) => (event, ...args) => {\n const fns = callbacks.get(event)\n\n if (fns) fns.forEach(fn => fn.apply(el, args))\n\n if (callbacks.get(ALL_CALLBACKS) && event !== ALL_CALLBACKS) {\n el.trigger(ALL_CALLBACKS, event, ...args)\n }\n\n return el\n}\n\nconst observable = function(el) { // eslint-disable-line\n const callbacks = new Map()\n const methods = {on, off, one, trigger}\n\n el = el || {}\n\n define(el,\n entries(methods).reduce((acc, [key, method]) => {\n acc[key] = {\n value: method(callbacks, el),\n enumerable: false,\n writable: false,\n configurable: false\n }\n\n return acc\n }, {})\n )\n\n return el\n}\n /* istanbul ignore next */\n // support CommonJS, AMD & browser\n if (true)\n module.exports = observable\n else // removed by dead control flow\n{}\n\n})(typeof window != 'undefined' ? window : undefined);\n\n//# sourceURL=webpack://@tiny-components/select/./node_modules/@riotjs/observable/dist/observable.js?\n}")},"./src/select.riot"(__unused_webpack_module,__webpack_exports__,__webpack_require__){"use strict";eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n css: null,\n\n exports: {\n state: {\n keys: {\n label: 'label',\n value: 'value'\n }\n },\n\n /**\n *\n *\n */\n onBeforeMount(props, state) {\n\n // init state\n this.state = { \n ...state,\n selected: [],\n hasUpdated: false,\n options: [],\n query: ''\n }\n\n if (this.props.label) {\n this.state.keys.label = props.label\n }\n\n if (this.props.value) {\n this.state.keys.value = props.value\n }\n\n if (this.props.options) {\n this.state.options = props.options\n }\n },\n\n /**\n * \n *\n */\n onMounted() {\n\n // if store update, add data to options\n if (this.props.store) {\n this.props.store.on('update', (data) => {\n\n if (this.state.selected.length > 0) {\n for (let i = 0; i < this.state.selected.length; i++) {\n\n let found = false\n\n for (let j = 0; j < data.length; j++) {\n if (data[j][ this.state.keys.value ] == this.state.selected[i][ this.state.keys.value ]) {\n found = true\n }\n }\n\n if (found === false) {\n data.unshift(this.state.selected[i])\n }\n }\n }\n\n this.state.options = data\n this.update()\n })\n\n this.props.store.query()\n }\n\n // getting closet form-element and add reset\n this.root.closest('form').addEventListener('reset', () => {\n this.reset()\n })\n },\n\n /**\n *\n *\n */\n onBeforeUpdate() {\n\n // props has changed after reset \n if (this.props.selected && this.props.selected.length > 0 && !this.state.hasUpdated) {\n this.state.selected = this.props.selected\n this.state.hasUpdated = true\n }\n\n },\n\n /**\n * reset searchable\n *\n */\n handleResetSearchable(event) {\n event.target.previousElementSibling.value = ''\n this.state.query = ''\n this.props.store.query(this.state.query)\n },\n\n /**\n * if pressed has ended, call query \n *\n */\n handleOnKeyUp(event) {\n this.state.query = event.target.value.trim()\n this.props.store.query(this.state.query)\n },\n\n /**\n * toggle selected, if not found add to selected\n *\n */\n handleToggle(event, option) {\n const index = this.searchSelected(option)\n\n if (index !== false) {\n this.state.selected.splice(index, 1)\n } else {\n if ((this.props.multiple === undefined && this.state.selected.length > 0)) {\n this.state.selected = []\n }\n\n this.state.selected.push(option)\n }\n\n this.update()\n },\n\n /**\n * if item is in selected add css class\n *\n */\n getItemClasses(classes, option) {\n const index = this.searchSelected(option)\n\n if (index !== false) {\n classes.push('field-select__options-item--selected')\n }\n\n return classes.join(' ')\n },\n\n /**\n * if query is not empty show button for reset filter\n *\n */\n getFilterClasses(classes) {\n if (this.state.query.length > 0) {\n classes.push('field-select__options-filter--active')\n }\n\n return classes.join(' ')\n },\n\n /**\n * search all selected for value return index or false \n *\n * @param options object\n */\n searchSelected(option) {\n let index = false\n\n for (let i = 0; i < this.state.selected.length; i++) {\n if (this.state.selected[i] && this.state.selected[i][ this.state.keys.value ] == option[ this.state.keys.value ]) {\n index = i\n break;\n }\n }\n\n return index\n },\n\n /**\n * reset component\n *\n */\n reset() {\n this.state.selected = []\n this.state.hasUpdated = false\n\n this.update()\n }\n },\n\n template: (\n template,\n expressionTypes,\n bindingTypes,\n getComponent\n ) => template(\n '
',\n [\n {\n redundantAttribute: 'expr0',\n selector: '[expr0]',\n\n expressions: [\n {\n type: expressionTypes.ATTRIBUTE,\n isBoolean: false,\n name: 'name',\n evaluate: _scope => _scope.props.name\n }\n ]\n },\n {\n type: bindingTypes.EACH,\n getKey: null,\n condition: null,\n\n template: template(\n null,\n [\n {\n expressions: [\n {\n type: expressionTypes.VALUE,\n evaluate: _scope => _scope.selected[_scope.state.keys.value]\n }\n ]\n }\n ]\n ),\n\n redundantAttribute: 'expr1',\n selector: '[expr1]',\n itemName: 'selected',\n indexName: null,\n evaluate: _scope => _scope.state.selected\n },\n {\n type: bindingTypes.IF,\n evaluate: _scope => _scope.props.searchable !== undefined,\n redundantAttribute: 'expr2',\n selector: '[expr2]',\n\n template: template(\n '',\n [\n {\n expressions: [\n {\n type: expressionTypes.ATTRIBUTE,\n isBoolean: false,\n name: 'class',\n\n evaluate: _scope => _scope.getFilterClasses(\n ['field-select__options-filter']\n )\n }\n ]\n },\n {\n redundantAttribute: 'expr3',\n selector: '[expr3]',\n\n expressions: [\n {\n type: expressionTypes.ATTRIBUTE,\n isBoolean: false,\n name: 'placeholder',\n evaluate: _scope => _scope.props.placeholderFilter\n },\n {\n type: expressionTypes.EVENT,\n name: 'onkeyup',\n evaluate: _scope => event => { _scope.handleOnKeyUp(event) }\n }\n ]\n },\n {\n redundantAttribute: 'expr4',\n selector: '[expr4]',\n\n expressions: [\n {\n type: expressionTypes.EVENT,\n name: 'onclick',\n evaluate: _scope => event => { _scope.handleResetSearchable(event) }\n }\n ]\n }\n ]\n )\n },\n {\n type: bindingTypes.EACH,\n getKey: null,\n condition: null,\n\n template: template(\n '\\n ☑\\n \\n ☐\\n ',\n [\n {\n expressions: [\n {\n type: expressionTypes.TEXT,\n childNodeIndex: 2,\n\n evaluate: _scope => [\n _scope.option[_scope.state.keys.label]\n ].join(\n ''\n )\n },\n {\n type: expressionTypes.ATTRIBUTE,\n isBoolean: false,\n name: 'class',\n\n evaluate: _scope => _scope.getItemClasses(\n ['field-select__options-item'],\n _scope.option\n )\n },\n {\n type: expressionTypes.EVENT,\n name: 'onclick',\n evaluate: _scope => event => { _scope.handleToggle(event, _scope.option) }\n }\n ]\n }\n ]\n ),\n\n redundantAttribute: 'expr5',\n selector: '[expr5]',\n itemName: 'option',\n indexName: null,\n evaluate: _scope => _scope.state.options\n },\n {\n type: bindingTypes.IF,\n evaluate: _scope => _scope.state.options.length === 0,\n redundantAttribute: 'expr6',\n selector: '[expr6]',\n\n template: template(\n '\\n ∅\\n ',\n []\n )\n }\n ]\n ),\n\n name: 'tiny-field-select'\n});\n\n//# sourceURL=webpack://@tiny-components/select/./src/select.riot?\n}")},"./src/example.js"(__unused_webpack_module,__webpack_exports__,__webpack_require__){"use strict";eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var riot__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! riot */ \"./node_modules/riot/esm/riot.js\");\n/* harmony import */ var riot__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! riot */ \"./node_modules/riot/esm/api/register.js\");\n/* harmony import */ var _select_riot__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./select.riot */ \"./src/select.riot\");\n/* harmony import */ var _riotjs_observable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @riotjs/observable */ \"./node_modules/@riotjs/observable/dist/observable.js\");\n/* harmony import */ var _riotjs_observable__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_riotjs_observable__WEBPACK_IMPORTED_MODULE_3__);\n\n\n\n\nwindow.riot = riot__WEBPACK_IMPORTED_MODULE_0__\nwindow.LocationStore = _riotjs_observable__WEBPACK_IMPORTED_MODULE_3___default()({\n\n locations: [{\n 'label' : 'A',\n 'value' : 'a'\n },{\n 'label' : 'B',\n 'value' : 'b'\n },{\n 'label' : 'C',\n 'value' : 'c'\n },{\n 'label' : 'D',\n 'value' : 'd'\n },{\n 'label' : 'E',\n 'value' : 'e'\n },{\n 'label' : 'F',\n 'value' : 'f'\n },{\n 'label' : 'G',\n 'value' : 'g'\n },{\n 'label' : 'H',\n 'value' : 'h'\n },{\n 'label' : 'I',\n 'value' : 'i'\n },{\n 'label' : 'J',\n 'value' : 'j'\n }],\n\n query(value) {\n if (value !== undefined) {\n const results = []\n\n for (let i = 0; i < this.locations.length; i++) {\n if (this.locations[i].value.includes(value)) {\n results.push(this.locations[i])\n }\n }\n\n this.trigger('update', results)\n } else {\n this.trigger('update', this.locations)\n }\n }\n})\n\nriot__WEBPACK_IMPORTED_MODULE_1__.register('tiny-field-select', _select_riot__WEBPACK_IMPORTED_MODULE_2__[\"default\"])\nriot__WEBPACK_IMPORTED_MODULE_1__.register('tiny-field-select-api', _select_riot__WEBPACK_IMPORTED_MODULE_2__[\"default\"])\n\n\n//# sourceURL=webpack://@tiny-components/select/./src/example.js?\n}")},"./node_modules/riot/esm/api/__.js"(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__){"use strict";eval('{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ __: () => (/* binding */ __)\n/* harmony export */ });\n/* harmony import */ var _dependencies_riotjs_util_binding_types_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dependencies/@riotjs/util/binding-types.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/binding-types.js");\n/* harmony import */ var _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dependencies/@riotjs/util/constants.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/constants.js");\n/* harmony import */ var _dependencies_riotjs_util_expression_types_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../dependencies/@riotjs/util/expression-types.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/expression-types.js");\n/* harmony import */ var _dependencies_riotjs_dom_bindings_dist_dom_bindings_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../dependencies/@riotjs/dom-bindings/dist/dom-bindings.js */ "./node_modules/riot/esm/dependencies/@riotjs/dom-bindings/dist/dom-bindings.js");\n/* harmony import */ var _core_css_manager_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../core/css-manager.js */ "./node_modules/riot/esm/core/css-manager.js");\n/* Riot v10.1.4, @license MIT */\n\n\n\n\n\n\n// expose some internal stuff that might be used from external tools\nconst __ = {\n cssManager: _core_css_manager_js__WEBPACK_IMPORTED_MODULE_4__["default"],\n DOMBindings: {\n template: _dependencies_riotjs_dom_bindings_dist_dom_bindings_js__WEBPACK_IMPORTED_MODULE_3__.template,\n createBinding: _dependencies_riotjs_dom_bindings_dist_dom_bindings_js__WEBPACK_IMPORTED_MODULE_3__.createBinding,\n createExpression: _dependencies_riotjs_dom_bindings_dist_dom_bindings_js__WEBPACK_IMPORTED_MODULE_3__.createExpression,\n bindingTypes: _dependencies_riotjs_util_binding_types_js__WEBPACK_IMPORTED_MODULE_0__["default"],\n expressionTypes: _dependencies_riotjs_util_expression_types_js__WEBPACK_IMPORTED_MODULE_2__["default"],\n },\n globals: {\n PROPS_KEY: _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.PROPS_KEY,\n STATE_KEY: _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.STATE_KEY,\n IS_COMPONENT_UPDATING: _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.IS_COMPONENT_UPDATING,\n COMPONENTS_IMPLEMENTATION_MAP: _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.COMPONENTS_IMPLEMENTATION_MAP,\n PLUGINS_SET: _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.PLUGINS_SET,\n DOM_COMPONENT_INSTANCE_PROPERTY: _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.DOM_COMPONENT_INSTANCE_PROPERTY,\n PARENT_KEY_SYMBOL: _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.PARENT_KEY_SYMBOL,\n },\n};\n\n\n\n\n//# sourceURL=webpack://@tiny-components/select/./node_modules/riot/esm/api/__.js?\n}')},"./node_modules/riot/esm/api/component.js"(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__){"use strict";eval('{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ component: () => (/* binding */ component)\n/* harmony export */ });\n/* harmony import */ var _dependencies_cumpa_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dependencies/cumpa/index.js */ "./node_modules/riot/esm/dependencies/cumpa/index.js");\n/* harmony import */ var _core_create_component_from_wrapper_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/create-component-from-wrapper.js */ "./node_modules/riot/esm/core/create-component-from-wrapper.js");\n/* Riot v10.1.4, @license MIT */\n\n\n\n/**\n * Helper method to create component without relying on the registered ones\n * @param {object} implementation - component implementation\n * @returns {Function} function that will allow you to mount a riot component on a DOM node\n */\nfunction component(implementation) {\n return (el, props, { slots, attributes, parentScope } = {}) =>\n (0,_dependencies_cumpa_index_js__WEBPACK_IMPORTED_MODULE_0__["default"])(\n (c) => c.mount(el, parentScope),\n (c) => c({ props, slots, attributes }),\n _core_create_component_from_wrapper_js__WEBPACK_IMPORTED_MODULE_1__.createComponentFromWrapper,\n )(implementation)\n}\n\n\n\n\n//# sourceURL=webpack://@tiny-components/select/./node_modules/riot/esm/api/component.js?\n}')},"./node_modules/riot/esm/api/create-pure-component.js"(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__){"use strict";eval('{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createPureComponent: () => (/* binding */ createPureComponent)\n/* harmony export */ });\n/* harmony import */ var _core_create_pure_component_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/create-pure-component.js */ "./node_modules/riot/esm/core/create-pure-component.js");\n/* harmony import */ var _pure_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./pure.js */ "./node_modules/riot/esm/api/pure.js");\n/* Riot v10.1.4, @license MIT */\n\n\n\n/**\n * Helper method to simplify the creation of pure components without the need to rely on a .riot file\n * @param {Function} func - RiotPureComponent factory function\n * @param {string} name - Optional parameter if you want to define the name of your component for debugging purposes\n * @returns {import(\'../../riot.js\').RiotComponentWrapper} pure component object implementation\n */\nfunction createPureComponent(func, name) {\n return {\n name,\n exports: (0,_pure_js__WEBPACK_IMPORTED_MODULE_1__.pure)(({ slots, attributes, props }) =>\n (0,_core_create_pure_component_js__WEBPACK_IMPORTED_MODULE_0__.createPureComponent)(func, {\n attributes,\n slots,\n props,\n }),\n ),\n }\n}\n\n\n\n\n//# sourceURL=webpack://@tiny-components/select/./node_modules/riot/esm/api/create-pure-component.js?\n}')},"./node_modules/riot/esm/api/install.js"(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__){"use strict";eval('{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ install: () => (/* binding */ install)\n/* harmony export */ });\n/* harmony import */ var _dependencies_riotjs_util_checks_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dependencies/@riotjs/util/checks.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/checks.js");\n/* harmony import */ var _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dependencies/@riotjs/util/constants.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/constants.js");\n/* harmony import */ var _dependencies_riotjs_util_misc_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../dependencies/@riotjs/util/misc.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/misc.js");\n/* Riot v10.1.4, @license MIT */\n\n\n\n\n/**\n * Define a riot plugin\n * @param {Function} plugin - function that will receive all the components created\n * @returns {Set} the set containing all the plugins installed\n */\nfunction install(plugin) {\n if (!(0,_dependencies_riotjs_util_checks_js__WEBPACK_IMPORTED_MODULE_0__.isFunction)(plugin)) (0,_dependencies_riotjs_util_misc_js__WEBPACK_IMPORTED_MODULE_2__.panic)(\'Plugins must be of type function\');\n if (_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.PLUGINS_SET.has(plugin)) (0,_dependencies_riotjs_util_misc_js__WEBPACK_IMPORTED_MODULE_2__.panic)(\'This plugin was already installed\');\n\n _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.PLUGINS_SET.add(plugin);\n\n return _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.PLUGINS_SET\n}\n\n\n\n\n//# sourceURL=webpack://@tiny-components/select/./node_modules/riot/esm/api/install.js?\n}')},"./node_modules/riot/esm/api/mount.js"(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__){"use strict";eval('{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ mount: () => (/* binding */ mount)\n/* harmony export */ });\n/* harmony import */ var _dependencies_bianco_query_index_next_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dependencies/bianco.query/index.next.js */ "./node_modules/riot/esm/dependencies/bianco.query/index.next.js");\n/* harmony import */ var _core_mount_component_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/mount-component.js */ "./node_modules/riot/esm/core/mount-component.js");\n/* Riot v10.1.4, @license MIT */\n\n\n\n/**\n * Mounting function that will work only for the components that were globally registered\n * @param {string|HTMLElement} selector - query for the selection or a DOM element\n * @param {object} initialProps - the initial component properties\n * @param {string} name - optional component name\n * @returns {Array} list of riot components\n */\nfunction mount(selector, initialProps, name) {\n return (0,_dependencies_bianco_query_index_next_js__WEBPACK_IMPORTED_MODULE_0__["default"])(selector).map((element) =>\n (0,_core_mount_component_js__WEBPACK_IMPORTED_MODULE_1__.mountComponent)(element, initialProps, name),\n )\n}\n\n\n\n\n//# sourceURL=webpack://@tiny-components/select/./node_modules/riot/esm/api/mount.js?\n}')},"./node_modules/riot/esm/api/pure.js"(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__){"use strict";eval('{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ pure: () => (/* binding */ pure)\n/* harmony export */ });\n/* harmony import */ var _dependencies_riotjs_util_checks_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dependencies/@riotjs/util/checks.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/checks.js");\n/* harmony import */ var _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dependencies/@riotjs/util/constants.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/constants.js");\n/* harmony import */ var _dependencies_riotjs_util_misc_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../dependencies/@riotjs/util/misc.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/misc.js");\n/* Riot v10.1.4, @license MIT */\n\n\n\n\n/**\n * Lift a riot component Interface into a pure riot object\n * @param {Function} func - RiotPureComponent factory function\n * @returns {Function} the lifted original function received as argument\n */\nfunction pure(func) {\n if (!(0,_dependencies_riotjs_util_checks_js__WEBPACK_IMPORTED_MODULE_0__.isFunction)(func))\n (0,_dependencies_riotjs_util_misc_js__WEBPACK_IMPORTED_MODULE_2__.panic)(\'riot.pure accepts only arguments of type "function"\');\n func[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.IS_PURE_SYMBOL] = true;\n return func\n}\n\n\n\n\n//# sourceURL=webpack://@tiny-components/select/./node_modules/riot/esm/api/pure.js?\n}')},"./node_modules/riot/esm/api/register.js"(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__){"use strict";eval('{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ register: () => (/* binding */ register)\n/* harmony export */ });\n/* harmony import */ var _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dependencies/@riotjs/util/constants.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/constants.js");\n/* harmony import */ var _dependencies_riotjs_util_misc_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dependencies/@riotjs/util/misc.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/misc.js");\n/* harmony import */ var _core_create_component_from_wrapper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/create-component-from-wrapper.js */ "./node_modules/riot/esm/core/create-component-from-wrapper.js");\n/* Riot v10.1.4, @license MIT */\n\n\n\n\n/**\n * Register a custom tag by name\n * @param {string} name - component name\n * @param {object} implementation - tag implementation\n * @param {string} implementation.css - component css as string\n * @param {TemplateChunk} implementation.template - component template chunk rendering function\n * @param {object} implementation.exports - component default export\n * @returns {Map} map containing all the components implementations\n */\nfunction register(name, { css, template, exports }) {\n if (_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__.COMPONENTS_IMPLEMENTATION_MAP.has(name))\n (0,_dependencies_riotjs_util_misc_js__WEBPACK_IMPORTED_MODULE_1__.panic)(`The component "${name}" was already registered`);\n\n _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__.COMPONENTS_IMPLEMENTATION_MAP.set(\n name,\n (0,_core_create_component_from_wrapper_js__WEBPACK_IMPORTED_MODULE_2__.createComponentFromWrapper)({ name, css, template, exports }),\n );\n\n return _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__.COMPONENTS_IMPLEMENTATION_MAP\n}\n\n\n\n\n//# sourceURL=webpack://@tiny-components/select/./node_modules/riot/esm/api/register.js?\n}')},"./node_modules/riot/esm/api/uninstall.js"(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__){"use strict";eval('{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ uninstall: () => (/* binding */ uninstall)\n/* harmony export */ });\n/* harmony import */ var _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dependencies/@riotjs/util/constants.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/constants.js");\n/* harmony import */ var _dependencies_riotjs_util_misc_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dependencies/@riotjs/util/misc.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/misc.js");\n/* Riot v10.1.4, @license MIT */\n\n\n\n/**\n * Uninstall a riot plugin\n * @param {Function} plugin - plugin previously installed\n * @returns {Set} the set containing all the plugins installed\n */\nfunction uninstall(plugin) {\n if (!_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__.PLUGINS_SET.has(plugin)) (0,_dependencies_riotjs_util_misc_js__WEBPACK_IMPORTED_MODULE_1__.panic)(\'This plugin was never installed\');\n\n _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__.PLUGINS_SET.delete(plugin);\n\n return _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__.PLUGINS_SET\n}\n\n\n\n\n//# sourceURL=webpack://@tiny-components/select/./node_modules/riot/esm/api/uninstall.js?\n}')},"./node_modules/riot/esm/api/unmount.js"(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__){"use strict";eval('{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ unmount: () => (/* binding */ unmount)\n/* harmony export */ });\n/* harmony import */ var _dependencies_bianco_query_index_next_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dependencies/bianco.query/index.next.js */ "./node_modules/riot/esm/dependencies/bianco.query/index.next.js");\n/* harmony import */ var _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dependencies/@riotjs/util/constants.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/constants.js");\n/* Riot v10.1.4, @license MIT */\n\n\n\n/**\n * Sweet unmounting helper function for the DOM node mounted manually by the user\n * @param {string|HTMLElement} selector - query for the selection or a DOM element\n * @param {boolean|null} keepRootElement - if true keep the root element\n * @returns {Array} list of nodes unmounted\n */\nfunction unmount(selector, keepRootElement) {\n return (0,_dependencies_bianco_query_index_next_js__WEBPACK_IMPORTED_MODULE_0__["default"])(selector).map((element) => {\n if (element[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.DOM_COMPONENT_INSTANCE_PROPERTY]) {\n element[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.DOM_COMPONENT_INSTANCE_PROPERTY].unmount(keepRootElement);\n }\n return element\n })\n}\n\n\n\n\n//# sourceURL=webpack://@tiny-components/select/./node_modules/riot/esm/api/unmount.js?\n}')},"./node_modules/riot/esm/api/unregister.js"(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__){"use strict";eval('{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ unregister: () => (/* binding */ unregister)\n/* harmony export */ });\n/* harmony import */ var _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dependencies/@riotjs/util/constants.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/constants.js");\n/* harmony import */ var _dependencies_riotjs_util_misc_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dependencies/@riotjs/util/misc.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/misc.js");\n/* harmony import */ var _core_css_manager_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/css-manager.js */ "./node_modules/riot/esm/core/css-manager.js");\n/* Riot v10.1.4, @license MIT */\n\n\n\n\n/**\n * Unregister a riot web component\n * @param {string} name - component name\n * @returns {Map} map containing all the components implementations\n */\nfunction unregister(name) {\n if (!_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__.COMPONENTS_IMPLEMENTATION_MAP.has(name))\n (0,_dependencies_riotjs_util_misc_js__WEBPACK_IMPORTED_MODULE_1__.panic)(`The component "${name}" was never registered`);\n\n _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__.COMPONENTS_IMPLEMENTATION_MAP.delete(name);\n _core_css_manager_js__WEBPACK_IMPORTED_MODULE_2__["default"].remove(name);\n\n return _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__.COMPONENTS_IMPLEMENTATION_MAP\n}\n\n\n\n\n//# sourceURL=webpack://@tiny-components/select/./node_modules/riot/esm/api/unregister.js?\n}')},"./node_modules/riot/esm/api/version.js"(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__){"use strict";eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ version: () => (/* binding */ version)\n/* harmony export */ });\n/* Riot v10.1.4, @license MIT */\n/** @type {string} current riot version */\nconst version = 'v10.1.4';\n\n\n\n\n//# sourceURL=webpack://@tiny-components/select/./node_modules/riot/esm/api/version.js?\n}")},"./node_modules/riot/esm/api/with-types.js"(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__){"use strict";eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ withTypes: () => (/* binding */ withTypes)\n/* harmony export */ });\n/* Riot v10.1.4, @license MIT */\n/**\n * no-op function needed to add the proper types to your component via typescript\n * @param {Function | object} component - component default export\n * @returns {Function | object} returns exactly what it has received\n */\n/* istanbul ignore next */\nconst withTypes = (component) => component;\n\n\n\n\n//# sourceURL=webpack://@tiny-components/select/./node_modules/riot/esm/api/with-types.js?\n}")},"./node_modules/riot/esm/core/add-css-hook.js"(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__){"use strict";eval('{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ addCssHook: () => (/* binding */ addCssHook)\n/* harmony export */ });\n/* harmony import */ var _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dependencies/@riotjs/util/constants.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/constants.js");\n/* harmony import */ var _utils_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/dom.js */ "./node_modules/riot/esm/utils/dom.js");\n/* harmony import */ var _dependencies_bianco_attr_index_next_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../dependencies/bianco.attr/index.next.js */ "./node_modules/riot/esm/dependencies/bianco.attr/index.next.js");\n/* Riot v10.1.4, @license MIT */\n\n\n\n\n/**\n * Add eventually the "is" attribute to link this DOM node to its css\n * @param {HTMLElement} element - target root node\n * @param {string} name - name of the component mounted\n * @returns {undefined} it\'s a void function\n */\n\nfunction addCssHook(element, name) {\n if ((0,_utils_dom_js__WEBPACK_IMPORTED_MODULE_1__.getName)(element) !== name) {\n (0,_dependencies_bianco_attr_index_next_js__WEBPACK_IMPORTED_MODULE_2__.set)(element, _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__.IS_DIRECTIVE, name);\n }\n}\n\n\n\n\n//# sourceURL=webpack://@tiny-components/select/./node_modules/riot/esm/core/add-css-hook.js?\n}')},"./node_modules/riot/esm/core/bind-dom-node-to-component-instance.js"(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__){"use strict";eval('{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ bindDOMNodeToComponentInstance: () => (/* binding */ bindDOMNodeToComponentInstance)\n/* harmony export */ });\n/* harmony import */ var _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dependencies/@riotjs/util/constants.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/constants.js");\n/* Riot v10.1.4, @license MIT */\n\n\n/**\n * Bind a DOM node to its component object\n * @param {HTMLElement} node - html node mounted\n * @param {object} component - Riot.js component object\n * @returns {object} the component object received as second argument\n */\nconst bindDOMNodeToComponentInstance = (node, component) =>\n (node[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__.DOM_COMPONENT_INSTANCE_PROPERTY] = component);\n\n\n\n\n//# sourceURL=webpack://@tiny-components/select/./node_modules/riot/esm/core/bind-dom-node-to-component-instance.js?\n}')},"./node_modules/riot/esm/core/component-dom-selectors.js"(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__){"use strict";eval('{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ COMPONENT_DOM_SELECTORS: () => (/* binding */ COMPONENT_DOM_SELECTORS)\n/* harmony export */ });\n/* harmony import */ var _dependencies_bianco_query_index_next_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dependencies/bianco.query/index.next.js */ "./node_modules/riot/esm/dependencies/bianco.query/index.next.js");\n/* Riot v10.1.4, @license MIT */\n\n\nconst COMPONENT_DOM_SELECTORS = Object.freeze({\n // component helpers\n $(selector) {\n return (0,_dependencies_bianco_query_index_next_js__WEBPACK_IMPORTED_MODULE_0__["default"])(selector, this.root)[0]\n },\n $$(selector) {\n return (0,_dependencies_bianco_query_index_next_js__WEBPACK_IMPORTED_MODULE_0__["default"])(selector, this.root)\n },\n});\n\n\n\n\n//# sourceURL=webpack://@tiny-components/select/./node_modules/riot/esm/core/component-dom-selectors.js?\n}')},"./node_modules/riot/esm/core/component-lifecycle-methods.js"(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__){"use strict";eval('{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ COMPONENT_LIFECYCLE_METHODS: () => (/* binding */ COMPONENT_LIFECYCLE_METHODS)\n/* harmony export */ });\n/* harmony import */ var _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dependencies/@riotjs/util/constants.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/constants.js");\n/* harmony import */ var _dependencies_riotjs_util_functions_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dependencies/@riotjs/util/functions.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/functions.js");\n/* Riot v10.1.4, @license MIT */\n\n\n\nconst COMPONENT_LIFECYCLE_METHODS = Object.freeze({\n [_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__.SHOULD_UPDATE_KEY]: _dependencies_riotjs_util_functions_js__WEBPACK_IMPORTED_MODULE_1__.noop,\n [_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__.ON_BEFORE_MOUNT_KEY]: _dependencies_riotjs_util_functions_js__WEBPACK_IMPORTED_MODULE_1__.noop,\n [_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__.ON_MOUNTED_KEY]: _dependencies_riotjs_util_functions_js__WEBPACK_IMPORTED_MODULE_1__.noop,\n [_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__.ON_BEFORE_UPDATE_KEY]: _dependencies_riotjs_util_functions_js__WEBPACK_IMPORTED_MODULE_1__.noop,\n [_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__.ON_UPDATED_KEY]: _dependencies_riotjs_util_functions_js__WEBPACK_IMPORTED_MODULE_1__.noop,\n [_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__.ON_BEFORE_UNMOUNT_KEY]: _dependencies_riotjs_util_functions_js__WEBPACK_IMPORTED_MODULE_1__.noop,\n [_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__.ON_UNMOUNTED_KEY]: _dependencies_riotjs_util_functions_js__WEBPACK_IMPORTED_MODULE_1__.noop,\n});\n\n\n\n\n//# sourceURL=webpack://@tiny-components/select/./node_modules/riot/esm/core/component-lifecycle-methods.js?\n}')},"./node_modules/riot/esm/core/component-template-factory.js"(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__){"use strict";eval('{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ componentTemplateFactory: () => (/* binding */ componentTemplateFactory)\n/* harmony export */ });\n/* harmony import */ var _dependencies_riotjs_dom_bindings_dist_dom_bindings_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dependencies/@riotjs/dom-bindings/dist/dom-bindings.js */ "./node_modules/riot/esm/dependencies/@riotjs/dom-bindings/dist/dom-bindings.js");\n/* harmony import */ var _dependencies_riotjs_util_expression_types_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dependencies/@riotjs/util/expression-types.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/expression-types.js");\n/* harmony import */ var _dependencies_riotjs_util_binding_types_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../dependencies/@riotjs/util/binding-types.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/binding-types.js");\n/* Riot v10.1.4, @license MIT */\n\n\n\n\n/**\n * Factory function to create the component templates only once\n * @param {Function} template - component template creation function\n * @param {RiotComponentWrapper} componentWrapper - riot compiler generated object\n * @param {Function} getChildComponent - getter function to return the children components\n * @returns {TemplateChunk} template chunk object\n */\nfunction componentTemplateFactory(\n template,\n componentWrapper,\n getChildComponent,\n) {\n return template(\n _dependencies_riotjs_dom_bindings_dist_dom_bindings_js__WEBPACK_IMPORTED_MODULE_0__.template,\n _dependencies_riotjs_util_expression_types_js__WEBPACK_IMPORTED_MODULE_1__["default"],\n _dependencies_riotjs_util_binding_types_js__WEBPACK_IMPORTED_MODULE_2__["default"],\n getChildComponent,\n )\n}\n\n\n\n\n//# sourceURL=webpack://@tiny-components/select/./node_modules/riot/esm/core/component-template-factory.js?\n}')},"./node_modules/riot/esm/core/compute-component-state.js"(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__){"use strict";eval('{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ computeComponentState: () => (/* binding */ computeComponentState)\n/* harmony export */ });\n/* harmony import */ var _dependencies_riotjs_util_functions_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dependencies/@riotjs/util/functions.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/functions.js");\n/* Riot v10.1.4, @license MIT */\n\n\n/**\n * Compute the component current state merging it with its previous state\n * @param {object} oldState - previous state object\n * @param {object} newState - new state given to the `update` call\n * @returns {object} new object state\n */\nfunction computeComponentState(oldState, newState) {\n return {\n ...oldState,\n ...(0,_dependencies_riotjs_util_functions_js__WEBPACK_IMPORTED_MODULE_0__.callOrAssign)(newState),\n }\n}\n\n\n\n\n//# sourceURL=webpack://@tiny-components/select/./node_modules/riot/esm/core/compute-component-state.js?\n}')},"./node_modules/riot/esm/core/compute-initial-props.js"(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__){"use strict";eval('{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ computeInitialProps: () => (/* binding */ computeInitialProps)\n/* harmony export */ });\n/* harmony import */ var _dependencies_riotjs_util_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dependencies/@riotjs/util/dom.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/dom.js");\n/* harmony import */ var _dependencies_riotjs_util_functions_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dependencies/@riotjs/util/functions.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/functions.js");\n/* Riot v10.1.4, @license MIT */\n\n\n\n/**\n * Evaluate the component properties either from its real attributes or from its initial user properties\n * @param {HTMLElement} element - component root\n * @param {object} initialProps - initial props\n * @returns {object} component props key value pairs\n */\nfunction computeInitialProps(element, initialProps = {}) {\n return {\n ...(0,_dependencies_riotjs_util_dom_js__WEBPACK_IMPORTED_MODULE_0__.DOMattributesToObject)(element),\n ...(0,_dependencies_riotjs_util_functions_js__WEBPACK_IMPORTED_MODULE_1__.callOrAssign)(initialProps),\n }\n}\n\n\n\n\n//# sourceURL=webpack://@tiny-components/select/./node_modules/riot/esm/core/compute-initial-props.js?\n}')},"./node_modules/riot/esm/core/create-component-from-wrapper.js"(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__){"use strict";eval('{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createComponentFromWrapper: () => (/* binding */ createComponentFromWrapper)\n/* harmony export */ });\n/* harmony import */ var _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dependencies/@riotjs/util/constants.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/constants.js");\n/* harmony import */ var _dependencies_riotjs_util_strings_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dependencies/@riotjs/util/strings.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/strings.js");\n/* harmony import */ var _dependencies_riotjs_util_functions_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../dependencies/@riotjs/util/functions.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/functions.js");\n/* harmony import */ var _dependencies_riotjs_util_misc_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../dependencies/@riotjs/util/misc.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/misc.js");\n/* harmony import */ var _mocked_template_interface_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./mocked-template-interface.js */ "./node_modules/riot/esm/core/mocked-template-interface.js");\n/* harmony import */ var _component_template_factory_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./component-template-factory.js */ "./node_modules/riot/esm/core/component-template-factory.js");\n/* harmony import */ var _create_pure_component_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./create-pure-component.js */ "./node_modules/riot/esm/core/create-pure-component.js");\n/* harmony import */ var _instantiate_component_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./instantiate-component.js */ "./node_modules/riot/esm/core/instantiate-component.js");\n/* Riot v10.1.4, @license MIT */\n\n\n\n\n\n\n\n\n\n/**\n * Create the subcomponents that can be included inside a tag in runtime\n * @param {object} components - components imported in runtime\n * @returns {object} all the components transformed into Riot.Component factory functions\n */\nfunction createChildrenComponentsObject(components = {}) {\n return Object.entries((0,_dependencies_riotjs_util_functions_js__WEBPACK_IMPORTED_MODULE_2__.callOrAssign)(components)).reduce(\n (acc, [key, value]) => {\n acc[(0,_dependencies_riotjs_util_strings_js__WEBPACK_IMPORTED_MODULE_1__.camelToDashCase)(key)] = createComponentFromWrapper(value);\n return acc\n },\n {},\n )\n}\n\n/**\n * Create the getter function to render the child components\n * @param {RiotComponentWrapper} componentWrapper - riot compiler generated object\n * @returns {Function} function returning the component factory function\n */\nconst createChildComponentGetter = (componentWrapper) => {\n const childrenComponents = createChildrenComponentsObject(\n componentWrapper.exports ? componentWrapper.exports.components : {},\n );\n\n return (name) => {\n // improve support for recursive components\n if (name === componentWrapper.name)\n return memoizedCreateComponentFromWrapper(componentWrapper)\n // return the registered components\n return childrenComponents[name] || _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__.COMPONENTS_IMPLEMENTATION_MAP.get(name)\n }\n};\n\n/**\n * Performance optimization for the recursive components\n * @param {RiotComponentWrapper} componentWrapper - riot compiler generated object\n * @returns {object} component like interface\n */\nconst memoizedCreateComponentFromWrapper = (0,_dependencies_riotjs_util_misc_js__WEBPACK_IMPORTED_MODULE_3__.memoize)(createComponentFromWrapper);\n\n/**\n * Create the component interface needed for the @riotjs/dom-bindings tag bindings\n * @param {RiotComponentWrapper} componentWrapper - riot compiler generated object\n * @param {string} componentWrapper.css - component css\n * @param {Function} componentWrapper.template - function that will return the dom-bindings template function\n * @param {object} componentWrapper.exports - component interface\n * @param {string} componentWrapper.name - component name\n * @returns {object} component like interface\n */\nfunction createComponentFromWrapper(componentWrapper) {\n const { css, template, exports, name } = componentWrapper;\n const templateFn = template\n ? (0,_component_template_factory_js__WEBPACK_IMPORTED_MODULE_5__.componentTemplateFactory)(\n template,\n componentWrapper,\n createChildComponentGetter(componentWrapper),\n )\n : _mocked_template_interface_js__WEBPACK_IMPORTED_MODULE_4__.MOCKED_TEMPLATE_INTERFACE;\n\n return ({ slots, attributes, props }) => {\n // pure components rendering will be managed by the end user\n if (exports && exports[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__.IS_PURE_SYMBOL])\n return (0,_create_pure_component_js__WEBPACK_IMPORTED_MODULE_6__.createPureComponent)(exports, {\n slots,\n attributes,\n props,\n css,\n template,\n })\n\n const componentAPI = (0,_dependencies_riotjs_util_functions_js__WEBPACK_IMPORTED_MODULE_2__.callOrAssign)(exports) || {};\n\n const component = (0,_instantiate_component_js__WEBPACK_IMPORTED_MODULE_7__.instantiateComponent)({\n css,\n template: templateFn,\n componentAPI,\n name,\n })({ slots, attributes, props });\n\n // notice that for the components created via tag binding\n // we need to invert the mount (state/parentScope) arguments\n // the template bindings will only forward the parentScope updates\n // and never deal with the component state\n return {\n mount(element, parentScope, state) {\n return component.mount(element, state, parentScope)\n },\n update(parentScope, state) {\n return component.update(state, parentScope)\n },\n unmount(preserveRoot) {\n return component.unmount(preserveRoot)\n },\n }\n }\n}\n\n\n\n\n//# sourceURL=webpack://@tiny-components/select/./node_modules/riot/esm/core/create-component-from-wrapper.js?\n}')},"./node_modules/riot/esm/core/create-core-api-methods.js"(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__){"use strict";eval('{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createCoreAPIMethods: () => (/* binding */ createCoreAPIMethods)\n/* harmony export */ });\n/* harmony import */ var _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dependencies/@riotjs/util/constants.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/constants.js");\n/* Riot v10.1.4, @license MIT */\n\n\n/**\n * Wrap the Riot.js core API methods using a mapping function\n * @param {Function} mapFunction - lifting function\n * @returns {object} an object having the { mount, update, unmount } functions\n */\nfunction createCoreAPIMethods(mapFunction) {\n return [_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__.MOUNT_METHOD_KEY, _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__.UPDATE_METHOD_KEY, _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__.UNMOUNT_METHOD_KEY].reduce(\n (acc, method) => {\n acc[method] = mapFunction(method);\n\n return acc\n },\n {},\n )\n}\n\n\n\n\n//# sourceURL=webpack://@tiny-components/select/./node_modules/riot/esm/core/create-core-api-methods.js?\n}')},"./node_modules/riot/esm/core/create-pure-component.js"(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__){"use strict";eval('{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createPureComponent: () => (/* binding */ createPureComponent)\n/* harmony export */ });\n/* harmony import */ var _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dependencies/@riotjs/util/constants.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/constants.js");\n/* harmony import */ var _dependencies_riotjs_util_misc_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dependencies/@riotjs/util/misc.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/misc.js");\n/* harmony import */ var _dependencies_riotjs_util_objects_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../dependencies/@riotjs/util/objects.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/objects.js");\n/* harmony import */ var _pure_component_api_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./pure-component-api.js */ "./node_modules/riot/esm/core/pure-component-api.js");\n/* harmony import */ var _bind_dom_node_to_component_instance_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./bind-dom-node-to-component-instance.js */ "./node_modules/riot/esm/core/bind-dom-node-to-component-instance.js");\n/* harmony import */ var _create_core_api_methods_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./create-core-api-methods.js */ "./node_modules/riot/esm/core/create-core-api-methods.js");\n/* Riot v10.1.4, @license MIT */\n\n\n\n\n\n\n\n/**\n * Create a pure component\n * @param {Function} pureFactoryFunction - pure component factory function\n * @param {object} options - pure component options\n * @param {string} options.css - pure component can\'t have css\n * @param {Array} options.slots - component slots\n * @param {Array} options.attributes - component attributes\n * @param {Array} options.template - template factory function\n * @param {any} options.props - initial component properties\n * @returns {object} pure component object\n */\nfunction createPureComponent(\n pureFactoryFunction,\n { slots, attributes, props, css, template },\n) {\n if (template) (0,_dependencies_riotjs_util_misc_js__WEBPACK_IMPORTED_MODULE_1__.panic)(\'Pure components can not have html\');\n if (css) (0,_dependencies_riotjs_util_misc_js__WEBPACK_IMPORTED_MODULE_1__.panic)(\'Pure components do not have css\');\n\n const component = (0,_dependencies_riotjs_util_objects_js__WEBPACK_IMPORTED_MODULE_2__.defineDefaults)(\n pureFactoryFunction({ slots, attributes, props }),\n _pure_component_api_js__WEBPACK_IMPORTED_MODULE_3__.PURE_COMPONENT_API,\n );\n\n return (0,_create_core_api_methods_js__WEBPACK_IMPORTED_MODULE_5__.createCoreAPIMethods)((method) => (...args) => {\n // intercept the mount calls to bind the DOM node to the pure object created\n // see also https://github.com/riot/riot/issues/2806\n if (method === _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__.MOUNT_METHOD_KEY) {\n const [element] = args;\n // mark this node as pure element\n (0,_dependencies_riotjs_util_objects_js__WEBPACK_IMPORTED_MODULE_2__.defineProperty)(element, _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__.IS_PURE_SYMBOL, true);\n (0,_bind_dom_node_to_component_instance_js__WEBPACK_IMPORTED_MODULE_4__.bindDOMNodeToComponentInstance)(element, component);\n }\n\n component[method](...args);\n\n return component\n })\n}\n\n\n\n\n//# sourceURL=webpack://@tiny-components/select/./node_modules/riot/esm/core/create-pure-component.js?\n}')},"./node_modules/riot/esm/core/css-manager.js"(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__){"use strict";eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CSS_BY_NAME: () => (/* binding */ CSS_BY_NAME),\n/* harmony export */ STYLE_NODE_SELECTOR: () => (/* binding */ STYLE_NODE_SELECTOR),\n/* harmony export */ \"default\": () => (/* binding */ cssManager)\n/* harmony export */ });\n/* harmony import */ var _dependencies_bianco_query_index_next_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dependencies/bianco.query/index.next.js */ \"./node_modules/riot/esm/dependencies/bianco.query/index.next.js\");\n/* harmony import */ var _dependencies_bianco_attr_index_next_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dependencies/bianco.attr/index.next.js */ \"./node_modules/riot/esm/dependencies/bianco.attr/index.next.js\");\n/* Riot v10.1.4, @license MIT */\n\n\n\nconst CSS_BY_NAME = new Map();\nconst STYLE_NODE_SELECTOR = 'style[riot]';\n\n// memoized curried function\nconst getStyleNode = ((style) => {\n return () => {\n // lazy evaluation:\n // if this function was already called before\n // we return its cached result\n if (style) return style\n\n // create a new style element or use an existing one\n // and cache it internally\n style = (0,_dependencies_bianco_query_index_next_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(STYLE_NODE_SELECTOR)[0] || document.createElement('style');\n (0,_dependencies_bianco_attr_index_next_js__WEBPACK_IMPORTED_MODULE_1__.set)(style, 'type', 'text/css');\n\n /* istanbul ignore next */\n if (!style.parentNode) document.head.appendChild(style);\n\n return style\n }\n})();\n\n/**\n * Object that will be used to inject and manage the css of every tag instance\n */\nconst cssManager = {\n CSS_BY_NAME,\n /**\n * Save a tag style to be later injected into DOM\n * @param { string } name - if it's passed we will map the css to a tagname\n * @param { string } css - css string\n * @returns {object} self\n */\n add(name, css) {\n if (!CSS_BY_NAME.has(name)) {\n CSS_BY_NAME.set(name, css);\n this.inject();\n }\n\n return this\n },\n /**\n * Inject all previously saved tag styles into DOM\n * innerHTML seems slow: http://jsperf.com/riot-insert-style\n * @returns {object} self\n */\n inject() {\n getStyleNode().innerHTML = [...CSS_BY_NAME.values()].join('\\n');\n return this\n },\n\n /**\n * Remove a tag style from the DOM\n * @param {string} name a registered tagname\n * @returns {object} self\n */\n remove(name) {\n if (CSS_BY_NAME.has(name)) {\n CSS_BY_NAME.delete(name);\n this.inject();\n }\n\n return this\n },\n};\n\n\n\n\n//# sourceURL=webpack://@tiny-components/select/./node_modules/riot/esm/core/css-manager.js?\n}")},"./node_modules/riot/esm/core/instantiate-component.js"(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__){"use strict";eval('{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ instantiateComponent: () => (/* binding */ instantiateComponent)\n/* harmony export */ });\n/* harmony import */ var _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dependencies/@riotjs/util/constants.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/constants.js");\n/* harmony import */ var _dependencies_riotjs_util_objects_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dependencies/@riotjs/util/objects.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/objects.js");\n/* harmony import */ var _component_dom_selectors_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./component-dom-selectors.js */ "./node_modules/riot/esm/core/component-dom-selectors.js");\n/* harmony import */ var _component_lifecycle_methods_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./component-lifecycle-methods.js */ "./node_modules/riot/esm/core/component-lifecycle-methods.js");\n/* harmony import */ var _css_manager_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./css-manager.js */ "./node_modules/riot/esm/core/css-manager.js");\n/* harmony import */ var _dependencies_curri_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../dependencies/curri/index.js */ "./node_modules/riot/esm/dependencies/curri/index.js");\n/* harmony import */ var _manage_component_lifecycle_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./manage-component-lifecycle.js */ "./node_modules/riot/esm/core/manage-component-lifecycle.js");\n/* Riot v10.1.4, @license MIT */\n\n\n\n\n\n\n\n\n/**\n * Component definition function\n * @param {object} component - the component initial properties\n * @param {string} component.css - component css string\n * @param {TemplateChunk} component.template - component template rendering\n * @param {object} component.componentAPI - component export default value\n * @param {string} component.name - component name\n * @returns {object} a new component implementation object\n */\nfunction instantiateComponent({ css, template, componentAPI, name }) {\n // add the component css into the DOM\n if (css && name) _css_manager_js__WEBPACK_IMPORTED_MODULE_4__["default"].add(name, css);\n\n return (0,_dependencies_curri_index_js__WEBPACK_IMPORTED_MODULE_5__["default"])(_manage_component_lifecycle_js__WEBPACK_IMPORTED_MODULE_6__.manageComponentLifecycle)(\n (0,_dependencies_riotjs_util_objects_js__WEBPACK_IMPORTED_MODULE_1__.defineProperties)(\n // set the component defaults without overriding the original component API\n (0,_dependencies_riotjs_util_objects_js__WEBPACK_IMPORTED_MODULE_1__.defineDefaults)(componentAPI, {\n ..._component_lifecycle_methods_js__WEBPACK_IMPORTED_MODULE_3__.COMPONENT_LIFECYCLE_METHODS,\n [_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__.PROPS_KEY]: {},\n [_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__.STATE_KEY]: {},\n }),\n {\n // defined during the component creation\n [_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__.SLOTS_KEY]: null,\n [_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__.ROOT_KEY]: null,\n // these properties should not be overriden\n ..._component_dom_selectors_js__WEBPACK_IMPORTED_MODULE_2__.COMPONENT_DOM_SELECTORS,\n name,\n css,\n template,\n },\n ),\n )\n}\n\n\n\n\n//# sourceURL=webpack://@tiny-components/select/./node_modules/riot/esm/core/instantiate-component.js?\n}')},"./node_modules/riot/esm/core/manage-component-lifecycle.js"(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__){"use strict";eval('{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ manageComponentLifecycle: () => (/* binding */ manageComponentLifecycle)\n/* harmony export */ });\n/* harmony import */ var _dependencies_riotjs_util_checks_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dependencies/@riotjs/util/checks.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/checks.js");\n/* harmony import */ var _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dependencies/@riotjs/util/constants.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/constants.js");\n/* harmony import */ var _dependencies_riotjs_util_dom_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../dependencies/@riotjs/util/dom.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/dom.js");\n/* harmony import */ var _dependencies_riotjs_util_functions_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../dependencies/@riotjs/util/functions.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/functions.js");\n/* harmony import */ var _dependencies_riotjs_util_misc_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../dependencies/@riotjs/util/misc.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/misc.js");\n/* harmony import */ var _dependencies_riotjs_util_objects_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../dependencies/@riotjs/util/objects.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/objects.js");\n/* harmony import */ var _utils_get_root_computed_attribute_names_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/get-root-computed-attribute-names.js */ "./node_modules/riot/esm/utils/get-root-computed-attribute-names.js");\n/* harmony import */ var _add_css_hook_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./add-css-hook.js */ "./node_modules/riot/esm/core/add-css-hook.js");\n/* harmony import */ var _bind_dom_node_to_component_instance_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./bind-dom-node-to-component-instance.js */ "./node_modules/riot/esm/core/bind-dom-node-to-component-instance.js");\n/* harmony import */ var _compute_component_state_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./compute-component-state.js */ "./node_modules/riot/esm/core/compute-component-state.js");\n/* harmony import */ var _compute_initial_props_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./compute-initial-props.js */ "./node_modules/riot/esm/core/compute-initial-props.js");\n/* harmony import */ var _run_plugins_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./run-plugins.js */ "./node_modules/riot/esm/core/run-plugins.js");\n/* Riot v10.1.4, @license MIT */\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Component creation factory function that will enhance the user provided API\n * @param {object} component - a component implementation previously defined\n * @param {object} options - component options\n * @param {Array} options.slots - component slots generated via riot compiler\n * @param {Array} options.attributes - attribute expressions generated via riot compiler\n * @param {object} options.props - component initial props\n * @returns {Riot.Component} a riot component instance\n */\nfunction manageComponentLifecycle(\n component,\n { slots, attributes = [], props },\n) {\n return (0,_dependencies_riotjs_util_functions_js__WEBPACK_IMPORTED_MODULE_3__.autobindMethods)(\n (0,_run_plugins_js__WEBPACK_IMPORTED_MODULE_11__.runPlugins)(\n (0,_dependencies_riotjs_util_objects_js__WEBPACK_IMPORTED_MODULE_5__.defineProperties)(\n (0,_dependencies_riotjs_util_checks_js__WEBPACK_IMPORTED_MODULE_0__.isObject)(component) ? Object.create(component) : component,\n {\n mount(element, state = {}, parentScope) {\n // any element mounted passing through this function can\'t be a pure component\n (0,_dependencies_riotjs_util_objects_js__WEBPACK_IMPORTED_MODULE_5__.defineProperty)(element, _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.IS_PURE_SYMBOL, false);\n this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.PARENT_KEY_SYMBOL] = parentScope;\n\n (0,_dependencies_riotjs_util_objects_js__WEBPACK_IMPORTED_MODULE_5__.defineProperty)(\n this,\n _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.PROPS_KEY,\n Object.freeze({\n ...(0,_compute_initial_props_js__WEBPACK_IMPORTED_MODULE_10__.computeInitialProps)(element, props),\n ...(0,_dependencies_riotjs_util_misc_js__WEBPACK_IMPORTED_MODULE_4__.generatePropsFromAttributes)(attributes, parentScope),\n }),\n );\n\n this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.STATE_KEY] = (0,_compute_component_state_js__WEBPACK_IMPORTED_MODULE_9__.computeComponentState)(this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.STATE_KEY], state);\n this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.TEMPLATE_KEY_SYMBOL] = this.template.createDOM(element).clone();\n // get the attribute names that don\'t belong to the props object\n // this will avoid recursive props rendering https://github.com/riot/riot/issues/2994\n this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.ROOT_ATTRIBUTES_KEY_SYMBOL] = (0,_utils_get_root_computed_attribute_names_js__WEBPACK_IMPORTED_MODULE_6__.getRootComputedAttributeNames)(\n this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.TEMPLATE_KEY_SYMBOL],\n );\n\n // link this object to the DOM node\n (0,_bind_dom_node_to_component_instance_js__WEBPACK_IMPORTED_MODULE_8__.bindDOMNodeToComponentInstance)(element, this);\n // add eventually the \'is\' attribute\n component.name && (0,_add_css_hook_js__WEBPACK_IMPORTED_MODULE_7__.addCssHook)(element, component.name);\n\n // define the root element\n (0,_dependencies_riotjs_util_objects_js__WEBPACK_IMPORTED_MODULE_5__.defineProperty)(this, _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.ROOT_KEY, element);\n // define the slots array\n (0,_dependencies_riotjs_util_objects_js__WEBPACK_IMPORTED_MODULE_5__.defineProperty)(this, _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.SLOTS_KEY, slots);\n\n // before mount lifecycle event\n this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.ON_BEFORE_MOUNT_KEY](this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.PROPS_KEY], this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.STATE_KEY]);\n // mount the template\n this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.TEMPLATE_KEY_SYMBOL].mount(element, this, parentScope);\n this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.ON_MOUNTED_KEY](this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.PROPS_KEY], this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.STATE_KEY]);\n\n return this\n },\n update(state = {}, parentScope) {\n if (parentScope) {\n this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.PARENT_KEY_SYMBOL] = parentScope;\n }\n\n // filter out the computed attributes from the root node\n const staticRootAttributes = Array.from(\n this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.ROOT_KEY].attributes,\n ).filter(\n ({ name }) => !this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.ROOT_ATTRIBUTES_KEY_SYMBOL].includes(name),\n );\n\n // evaluate the value of the static dom attributes\n const domNodeAttributes = (0,_dependencies_riotjs_util_dom_js__WEBPACK_IMPORTED_MODULE_2__.DOMattributesToObject)({\n attributes: staticRootAttributes,\n });\n\n // Avoid adding the riot "is" directives to the component props\n // eslint-disable-next-line no-unused-vars\n const { [_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.IS_DIRECTIVE]: _, ...newProps } = {\n ...domNodeAttributes,\n ...(0,_dependencies_riotjs_util_misc_js__WEBPACK_IMPORTED_MODULE_4__.generatePropsFromAttributes)(\n attributes,\n this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.PARENT_KEY_SYMBOL],\n ),\n };\n if (this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.SHOULD_UPDATE_KEY](newProps, this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.PROPS_KEY]) === false)\n return\n\n ;(0,_dependencies_riotjs_util_objects_js__WEBPACK_IMPORTED_MODULE_5__.defineProperty)(\n this,\n _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.PROPS_KEY,\n Object.freeze({\n // only root components will merge their initial props with the new ones\n // children components will just get them overridden see also https://github.com/riot/riot/issues/2978\n ...(parentScope ? null : this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.PROPS_KEY]),\n ...newProps,\n }),\n );\n\n this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.STATE_KEY] = (0,_compute_component_state_js__WEBPACK_IMPORTED_MODULE_9__.computeComponentState)(this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.STATE_KEY], state);\n this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.ON_BEFORE_UPDATE_KEY](this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.PROPS_KEY], this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.STATE_KEY]);\n\n // avoiding recursive updates\n // see also https://github.com/riot/riot/issues/2895\n if (!this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.IS_COMPONENT_UPDATING]) {\n this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.IS_COMPONENT_UPDATING] = true;\n this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.TEMPLATE_KEY_SYMBOL].update(this, this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.PARENT_KEY_SYMBOL]);\n }\n\n this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.ON_UPDATED_KEY](this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.PROPS_KEY], this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.STATE_KEY]);\n this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.IS_COMPONENT_UPDATING] = false;\n\n return this\n },\n unmount(preserveRoot) {\n this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.ON_BEFORE_UNMOUNT_KEY](this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.PROPS_KEY], this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.STATE_KEY]);\n\n // make sure that computed root attributes get removed if the root is preserved\n // https://github.com/riot/riot/issues/3051\n if (preserveRoot)\n this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.ROOT_ATTRIBUTES_KEY_SYMBOL].forEach((attribute) =>\n this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.ROOT_KEY].removeAttribute(attribute),\n );\n // if the preserveRoot is null the template html will be left untouched\n // in that case the DOM cleanup will happen differently from a parent node\n this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.TEMPLATE_KEY_SYMBOL].unmount(\n this,\n this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.PARENT_KEY_SYMBOL],\n preserveRoot === null ? null : !preserveRoot,\n );\n this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.ON_UNMOUNTED_KEY](this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.PROPS_KEY], this[_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_1__.STATE_KEY]);\n\n return this\n },\n },\n ),\n ),\n Object.keys(component).filter((prop) => (0,_dependencies_riotjs_util_checks_js__WEBPACK_IMPORTED_MODULE_0__.isFunction)(component[prop])),\n )\n}\n\n\n\n\n//# sourceURL=webpack://@tiny-components/select/./node_modules/riot/esm/core/manage-component-lifecycle.js?\n}')},"./node_modules/riot/esm/core/mocked-template-interface.js"(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__){"use strict";eval('{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MOCKED_TEMPLATE_INTERFACE: () => (/* binding */ MOCKED_TEMPLATE_INTERFACE)\n/* harmony export */ });\n/* harmony import */ var _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dependencies/@riotjs/util/constants.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/constants.js");\n/* harmony import */ var _dependencies_riotjs_util_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dependencies/@riotjs/util/dom.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/dom.js");\n/* harmony import */ var _dependencies_riotjs_util_functions_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../dependencies/@riotjs/util/functions.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/functions.js");\n/* Riot v10.1.4, @license MIT */\n\n\n\n\n// Components without template use a mocked template interface with some basic functionalities to\n// guarantee consistent rendering behaviour see https://github.com/riot/riot/issues/2984\nconst MOCKED_TEMPLATE_INTERFACE = {\n [_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__.MOUNT_METHOD_KEY](el) {\n this.el = el;\n },\n [_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__.UPDATE_METHOD_KEY]: _dependencies_riotjs_util_functions_js__WEBPACK_IMPORTED_MODULE_2__.noop,\n [_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__.UNMOUNT_METHOD_KEY](_, __, mustRemoveRoot = false) {\n if (mustRemoveRoot) (0,_dependencies_riotjs_util_dom_js__WEBPACK_IMPORTED_MODULE_1__.removeChild)(this.el);\n else if (!mustRemoveRoot) (0,_dependencies_riotjs_util_dom_js__WEBPACK_IMPORTED_MODULE_1__.cleanNode)(this.el);\n },\n clone() {\n return { ...this }\n },\n createDOM: _dependencies_riotjs_util_functions_js__WEBPACK_IMPORTED_MODULE_2__.noop,\n};\n\n\n\n\n//# sourceURL=webpack://@tiny-components/select/./node_modules/riot/esm/core/mocked-template-interface.js?\n}')},"./node_modules/riot/esm/core/mount-component.js"(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__){"use strict";eval('{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ mountComponent: () => (/* binding */ mountComponent)\n/* harmony export */ });\n/* harmony import */ var _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dependencies/@riotjs/util/constants.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/constants.js");\n/* harmony import */ var _dependencies_riotjs_util_misc_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dependencies/@riotjs/util/misc.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/misc.js");\n/* harmony import */ var _utils_dom_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/dom.js */ "./node_modules/riot/esm/utils/dom.js");\n/* Riot v10.1.4, @license MIT */\n\n\n\n\n/**\n * Component initialization function starting from a DOM node\n * @param {HTMLElement} element - element to upgrade\n * @param {object} initialProps - initial component properties\n * @param {string} componentName - component id\n * @param {Array} slots - component slots\n * @returns {object} a new component instance bound to a DOM node\n */\nfunction mountComponent(element, initialProps, componentName, slots) {\n const name = componentName || (0,_utils_dom_js__WEBPACK_IMPORTED_MODULE_2__.getName)(element);\n if (!_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__.COMPONENTS_IMPLEMENTATION_MAP.has(name))\n (0,_dependencies_riotjs_util_misc_js__WEBPACK_IMPORTED_MODULE_1__.panic)(`The component named "${name}" was never registered`);\n\n const component = _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__.COMPONENTS_IMPLEMENTATION_MAP.get(name)({\n props: initialProps,\n slots,\n });\n\n return component.mount(element)\n}\n\n\n\n\n//# sourceURL=webpack://@tiny-components/select/./node_modules/riot/esm/core/mount-component.js?\n}')},"./node_modules/riot/esm/core/pure-component-api.js"(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__){"use strict";eval('{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PURE_COMPONENT_API: () => (/* binding */ PURE_COMPONENT_API)\n/* harmony export */ });\n/* harmony import */ var _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dependencies/@riotjs/util/constants.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/constants.js");\n/* harmony import */ var _dependencies_riotjs_util_functions_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dependencies/@riotjs/util/functions.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/functions.js");\n/* Riot v10.1.4, @license MIT */\n\n\n\nconst PURE_COMPONENT_API = Object.freeze({\n [_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__.MOUNT_METHOD_KEY]: _dependencies_riotjs_util_functions_js__WEBPACK_IMPORTED_MODULE_1__.noop,\n [_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__.UPDATE_METHOD_KEY]: _dependencies_riotjs_util_functions_js__WEBPACK_IMPORTED_MODULE_1__.noop,\n [_dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__.UNMOUNT_METHOD_KEY]: _dependencies_riotjs_util_functions_js__WEBPACK_IMPORTED_MODULE_1__.noop,\n});\n\n\n\n\n//# sourceURL=webpack://@tiny-components/select/./node_modules/riot/esm/core/pure-component-api.js?\n}')},"./node_modules/riot/esm/core/run-plugins.js"(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__){"use strict";eval('{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ runPlugins: () => (/* binding */ runPlugins)\n/* harmony export */ });\n/* harmony import */ var _dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dependencies/@riotjs/util/constants.js */ "./node_modules/riot/esm/dependencies/@riotjs/util/constants.js");\n/* Riot v10.1.4, @license MIT */\n\n\n/**\n * Run the component instance through all the plugins set by the user\n * @param {object} component - component instance\n * @returns {object} the component enhanced by the plugins\n */\nfunction runPlugins(component) {\n return [..._dependencies_riotjs_util_constants_js__WEBPACK_IMPORTED_MODULE_0__.PLUGINS_SET].reduce((c, fn) => fn(c) || c, component)\n}\n\n\n\n\n//# sourceURL=webpack://@tiny-components/select/./node_modules/riot/esm/core/run-plugins.js?\n}')},"./node_modules/riot/esm/dependencies/@riotjs/dom-bindings/dist/dom-bindings.js"(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__){"use strict";eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ bindingTypes: () => (/* reexport safe */ _util_binding_types_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]),\n/* harmony export */ createBinding: () => (/* binding */ create$1),\n/* harmony export */ createExpression: () => (/* binding */ create$4),\n/* harmony export */ expressionTypes: () => (/* reexport safe */ _util_expression_types_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]),\n/* harmony export */ template: () => (/* binding */ create)\n/* harmony export */ });\n/* harmony import */ var _util_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/dom.js */ \"./node_modules/riot/esm/dependencies/@riotjs/util/dom.js\");\n/* harmony import */ var _util_constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../util/constants.js */ \"./node_modules/riot/esm/dependencies/@riotjs/util/constants.js\");\n/* harmony import */ var _util_binding_types_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../util/binding-types.js */ \"./node_modules/riot/esm/dependencies/@riotjs/util/binding-types.js\");\n/* harmony import */ var _util_expression_types_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/expression-types.js */ \"./node_modules/riot/esm/dependencies/@riotjs/util/expression-types.js\");\n/* harmony import */ var _util_objects_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/objects.js */ \"./node_modules/riot/esm/dependencies/@riotjs/util/objects.js\");\n/* harmony import */ var _util_checks_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/checks.js */ \"./node_modules/riot/esm/dependencies/@riotjs/util/checks.js\");\n/* harmony import */ var _util_misc_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../util/misc.js */ \"./node_modules/riot/esm/dependencies/@riotjs/util/misc.js\");\n/* Riot WIP, @license MIT */\n\n\n\n\n\n\n\n\n\n\nconst HEAD_SYMBOL = Symbol();\nconst TAIL_SYMBOL = Symbol();\n\n/**\n * Create the