{"version":3,"file":"/Users/anthonygubler/development/dojo-org/widgets/src/range-slider/index.tsx","sourceRoot":"","sources":["index.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as baseCss from '../common/styles/base.m.css';\nimport * as css from '../theme/default/range-slider.m.css';\nimport * as fixedCss from './styles/range-slider.m.css';\nimport Label from '../label/index';\nimport dimensions from '@dojo/framework/core/middleware/dimensions';\nimport focus from '@dojo/framework/core/middleware/focus';\nimport theme from '../middleware/theme';\nimport { RenderResult, AriaAttributes } from '@dojo/framework/core/interfaces';\nimport { create, tsx } from '@dojo/framework/core/vdom';\nimport { createICacheMiddleware } from '@dojo/framework/core/middleware/icache';\nimport { formatAriaProperties } from '../common/util';\n\ntype RangeValue = { min: number; max: number };\n\nexport interface RangeSliderProperties {\n\t/** Custom aria attributes */\n\taria?: { [key: string]: string | null };\n\t/** Set the disabled property of the control */\n\tdisabled?: boolean;\n\t/** Hides the label from view while still remaining accessible for screen readers */\n\tlabelHidden?: boolean;\n\t/** The maximum value allowed */\n\tmax?: number;\n\t/** The label displayed at the maximum range */\n\tmaximumLabel?: string;\n\t/** The name of the max slider */\n\tmaxName?: string;\n\t/** The minimum value allowed */\n\tmin?: number;\n\t/** The label displayed at the minimum range */\n\tminimumLabel?: string;\n\t/** The name of the minimum range */\n\tminName?: string;\n\t/** The name of the slider input */\n\tname?: string;\n\t/** Handler for when the element is blurred */\n\tonBlur?(): void;\n\t/** Handler for when the element is focused */\n\tonFocus?(): void;\n\t/** Handler for when the pointer moves out of the element */\n\tonOut?(): void;\n\t/** Handler for when the pointer moves over the element */\n\tonOver?(): void;\n\t/** Handler for when the value of the widget changes */\n\tonValue?(value: RangeValue): void;\n\t/** If the rendered output should be displayed as a tooltip */\n\toutputIsTooltip?: boolean;\n\t/** Makes the slider readonly (it may be focused but not changed) */\n\treadOnly?: boolean;\n\t/** If the range slider must be set */\n\trequired?: boolean;\n\t/** If the rendered output should be displayed */\n\tshowOutput?: boolean;\n\t/** The amount which the slider may be changed */\n\tstep?: number;\n\t/** If the values provided by the slider are valid */\n\tvalid?: boolean;\n\t/** The initial value of the range slider */\n\tinitialValue?: RangeValue;\n\t/** A controlled value for the range slider */\n\tvalue?: RangeValue;\n\t/** The id used for the form input element */\n\twidgetId?: string;\n}\n\nexport interface RangeSliderChildren {\n\t/** Adds a <label> element with the supplied text */\n\tlabel?: RenderResult;\n\t/** A renderer used to display the output values (min, max) */\n\toutput?(value: RangeValue): RenderResult;\n}\n\nexport interface RangeSliderICache {\n\tinitialValue?: RangeValue;\n\tvalue?: RangeValue;\n\tfocused: boolean;\n}\n\nconst factory = create({\n\tdimensions,\n\tfocus,\n\ticache: createICacheMiddleware<RangeSliderICache>(),\n\ttheme\n})\n\t.properties<RangeSliderProperties>()\n\t.children<RangeSliderChildren | undefined>();\n\nexport const RangeSlider = factory(function RangeSlider({\n\tchildren,\n\tid,\n\tmiddleware: { dimensions, focus, icache, theme },\n\tproperties\n}) {\n\tconst { name = '', max: maxRestraint = 100, min: minRestraint = 0 } = properties();\n\n\tconst [{ label, output } = {} as RangeSliderChildren] = children();\n\tconst {\n\t\taria = {},\n\t\tclasses,\n\t\tdisabled,\n\t\tlabelHidden,\n\t\tmaxName = `${name}_max`,\n\t\tmaximumLabel = 'Maximum',\n\t\tminName = `${name}_min`,\n\t\tminimumLabel = 'Minimum',\n\t\tonBlur,\n\t\tonFocus,\n\t\tonOut,\n\t\tonOver,\n\t\tonValue,\n\t\toutputIsTooltip,\n\t\treadOnly,\n\t\trequired,\n\t\tshowOutput = false,\n\t\tstep = 1,\n\t\ttheme: themeProp,\n\t\tvalid,\n\t\tvariant,\n\t\tinitialValue = {\n\t\t\tmax: maxRestraint,\n\t\t\tmin: minRestraint\n\t\t},\n\t\twidgetId = `range-slider-${id}`\n\t} = properties();\n\n\tlet { value } = properties();\n\n\tif (value === undefined) {\n\t\tvalue = icache.get('value');\n\t\tconst existingInitialValue = icache.get('initialValue');\n\t\tif (\n\t\t\t!existingInitialValue ||\n\t\t\tinitialValue.min !== existingInitialValue.min ||\n\t\t\tinitialValue.max !== existingInitialValue.max\n\t\t) {\n\t\t\ticache.set('value', initialValue);\n\t\t\ticache.set('initialValue', initialValue);\n\t\t\tvalue = initialValue;\n\t\t}\n\t}\n\n\tconst themeCss = theme.classes(css);\n\tconst size = dimensions.get('root');\n\tconst isFocused = icache.getOrSet('focused', false);\n\n\tconst maxLabelId = `max-label-${id}`;\n\tconst minLabelId = `min-label-${id}`;\n\n\tconst min = Math.max((value || initialValue).min, minRestraint);\n\tconst max = Math.min((value || initialValue).max, maxRestraint);\n\tconst slider1Percent = (min - minRestraint) / (maxRestraint - minRestraint);\n\tconst slider2Percent = (max - minRestraint) / (maxRestraint - minRestraint);\n\tconst slider1Size = slider1Percent + (slider2Percent - slider1Percent) / 2;\n\tconst slider2Size = 1 - slider1Size;\n\n\tconst getInputProperties = (isSlider1: boolean) => ({\n\t\t...formatAriaProperties(aria),\n\t\t'aria-describedby': isSlider1 ? minLabelId : maxLabelId,\n\t\t'aria-invalid': (valid === false ? 'true' : undefined) as AriaAttributes['aria-invalid'],\n\t\t'aria-labelledby': `${widgetId}-label`,\n\t\t'aria-readonly': (readOnly === true\n\t\t\t? 'true'\n\t\t\t: undefined) as AriaAttributes['aria-readonly'],\n\t\tclasses: [themeCss.input, fixedCss.nativeInput],\n\t\tdisabled,\n\t\tmax: `${maxRestraint}`,\n\t\tmin: `${minRestraint}`,\n\t\tname: isSlider1 ? minName : maxName,\n\t\tonblur: () => {\n\t\t\ticache.set('focused', false);\n\t\t\tonBlur && onBlur();\n\t\t},\n\t\tonfocus: () => {\n\t\t\ticache.set('focused', true);\n\t\t\tonFocus && onFocus();\n\t\t},\n\t\toninput: (event: Event) => {\n\t\t\tonInput(event, isSlider1);\n\t\t},\n\t\treadonly: readOnly,\n\t\trequired,\n\t\tstep: `${step}`,\n\t\ttype: 'range'\n\t});\n\n\tconst onInput = (event: Event, isMinEvent: boolean) => {\n\t\tevent.stopPropagation();\n\t\tconst value = (event.target as HTMLInputElement).value;\n\t\tconst returnValues: RangeValue = isMinEvent\n\t\t\t? { min: Math.min(parseFloat(value), max), max }\n\t\t\t: { min, max: Math.max(min, parseFloat(value)) };\n\n\t\ticache.set('value', returnValues);\n\t\tonValue && onValue(returnValues);\n\t};\n\n\tconst slider1 = (\n\t\t<input\n\t\t\t{...getInputProperties(true)}\n\t\t\tkey=\"slider1\"\n\t\t\tvalue={`${min}`}\n\t\t\tstyles={{\n\t\t\t\tclip: `rect(auto, ${Math.round(slider1Size * size.client.width)}px, auto, auto)`\n\t\t\t}}\n\t\t/>\n\t);\n\n\tconst slider2 = (\n\t\t<input\n\t\t\t{...getInputProperties(false)}\n\t\t\tkey=\"slider2\"\n\t\t\tstyles={{\n\t\t\t\tclip: `rect(auto, auto, auto, ${Math.round(\n\t\t\t\t\t(1 - slider2Size) * size.client.width\n\t\t\t\t)}px)`\n\t\t\t}}\n\t\t\tvalue={`${max}`}\n\t\t/>\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tkey=\"root\"\n\t\t\tclasses={[\n\t\t\t\ttheme.variant(),\n\t\t\t\tthemeCss.root,\n\t\t\t\tdisabled ? themeCss.disabled : null,\n\t\t\t\tisFocused ? themeCss.focused : null,\n\t\t\t\tvalid === false ? themeCss.invalid : null,\n\t\t\t\tvalid === true ? themeCss.valid : null,\n\t\t\t\treadOnly ? themeCss.readonly : null,\n\t\t\t\tshowOutput ? themeCss.hasOutput : null\n\t\t\t]}\n\t\t>\n\t\t\t{label ? (\n\t\t\t\t<Label\n\t\t\t\t\tclasses={classes}\n\t\t\t\t\tvariant={variant}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tfocused={isFocused}\n\t\t\t\t\thidden={labelHidden}\n\t\t\t\t\tkey=\"label\"\n\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\trequired={required}\n\t\t\t\t\tsecondary={true}\n\t\t\t\t\ttheme={themeProp}\n\t\t\t\t\tvalid={valid}\n\t\t\t\t\twidgetId={`${widgetId}-label`}\n\t\t\t\t>\n\t\t\t\t\t{label}\n\t\t\t\t</Label>\n\t\t\t) : null}\n\t\t\t<div\n\t\t\t\tclasses={[themeCss.inputWrapper, fixedCss.inputWrapperFixed]}\n\t\t\t\tonpointerenter={() => {\n\t\t\t\t\tonOver && onOver();\n\t\t\t\t}}\n\t\t\t\tonpointerleave={() => {\n\t\t\t\t\tonOut && onOut();\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{slider1}\n\t\t\t\t<div classes={baseCss.visuallyHidden} id={minLabelId} key=\"minimumLabel\">\n\t\t\t\t\t{minimumLabel}\n\t\t\t\t</div>\n\t\t\t\t{slider2}\n\t\t\t\t<div classes={baseCss.visuallyHidden} id={maxLabelId} key=\"maximumLabel\">\n\t\t\t\t\t{maximumLabel}\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tclasses={[themeCss.filled, fixedCss.filledFixed]}\n\t\t\t\t\tkey=\"track\"\n\t\t\t\t\tstyles={{\n\t\t\t\t\t\tleft: Math.round(slider1Percent * 100) + '%',\n\t\t\t\t\t\twidth: Math.round((slider2Percent - slider1Percent) * 100) + '%'\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t<div\n\t\t\t\t\tkey=\"leftThumb\"\n\t\t\t\t\tclasses={[\n\t\t\t\t\t\tthemeCss.thumb,\n\t\t\t\t\t\tthemeCss.leftThumb,\n\t\t\t\t\t\tfocus.isFocused('slider1') ? themeCss.focused : undefined,\n\t\t\t\t\t\tfixedCss.thumbFixed\n\t\t\t\t\t]}\n\t\t\t\t\tstyles={{\n\t\t\t\t\t\tleft: Math.round(slider1Percent * 100) + '%'\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t<div\n\t\t\t\t\tkey=\"rightThumb\"\n\t\t\t\t\tclasses={[\n\t\t\t\t\t\tthemeCss.thumb,\n\t\t\t\t\t\tthemeCss.rightThumb,\n\t\t\t\t\t\tfocus.isFocused('slider2') ? themeCss.focused : undefined,\n\t\t\t\t\t\tfixedCss.thumbFixed\n\t\t\t\t\t]}\n\t\t\t\t\tstyles={{\n\t\t\t\t\t\tleft: Math.round(slider2Percent * 100) + '%'\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t{showOutput ? (\n\t\t\t\t\t<output\n\t\t\t\t\t\tclasses={[themeCss.output, outputIsTooltip ? themeCss.outputTooltip : null]}\n\t\t\t\t\t\tfor={widgetId}\n\t\t\t\t\t\tstyles={\n\t\t\t\t\t\t\toutputIsTooltip\n\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\tleft: `${Math.round(\n\t\t\t\t\t\t\t\t\t\t\t(slider1Percent +\n\t\t\t\t\t\t\t\t\t\t\t\t(slider2Percent - slider1Percent) / 2) *\n\t\t\t\t\t\t\t\t\t\t\t\t100\n\t\t\t\t\t\t\t\t\t\t)}%`\n\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t>\n\t\t\t\t\t\t{output ? output({ min, max }) : `${min}, ${max}`}\n\t\t\t\t\t</output>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n\nexport default RangeSlider;\n"]}