{"version":3,"file":"range.nomodule.js","sources":["../../../.config/config.js","../../../src/core/api.js","../../../src/component/range/script/range/range-selector.js","../../../src/component/range/script/range/range-emission.js","../../../src/component/range/script/range/range-model.js","../../../src/component/range/script/range/range.js","../../../src/component/range/script/range/range-constraints.js","../../../src/component/range/script/range/range-input.js","../../../src/component/range/script/range/range-input2.js","../../../src/component/range/script/range/range-output.js","../../../src/component/range/script/range/range-limit.js","../../../src/component/range/index.js","../../../src/component/range/main.js"],"sourcesContent":["const config = {\r\n prefix: 'fr',\r\n namespace: 'dsfr',\r\n organisation: '@gouvfr',\r\n version: '1.11.2'\r\n};\r\n\r\nexport default config;\r\n","import config from './config.js';\nconst api = window[config.namespace];\nexport default api;\n","import api from '../../api.js';\n\nexport const RangeSelector = {\n RANGE: api.internals.ns.selector('range'),\n RANGE_SM: api.internals.ns.selector('range--sm'),\n RANGE_STEP: api.internals.ns.selector('range--step'),\n RANGE_DOUBLE: api.internals.ns.selector('range--double'),\n RANGE_DOUBLE_STEP: api.internals.ns.selector('range--double') + api.internals.ns.selector('range--step'),\n RANGE_INPUT: api.internals.ns.selector('range input[type=range]:nth-of-type(1)'),\n RANGE_INPUT2: `${api.internals.ns.selector('range--double')} input[type=range]:nth-of-type(2)`,\n RANGE_OUTPUT: api.internals.ns.selector('range__output'),\n RANGE_MIN: api.internals.ns.selector('range__min'),\n RANGE_MAX: api.internals.ns.selector('range__max'),\n RANGE_PREFIX: api.internals.ns.attr('prefix'),\n RANGE_SUFFIX: api.internals.ns.attr('suffix')\n};\n","import api from '../../api.js';\n\nexport const RangeEmission = {\n VALUE: api.internals.ns.emission('range', 'value'),\n VALUE2: api.internals.ns.emission('range', 'value2'),\n OUTPUT: api.internals.ns.emission('range', 'output'),\n CONSTRAINTS: api.internals.ns.emission('range', 'constraints'),\n MIN: api.internals.ns.emission('range', 'min'),\n MAX: api.internals.ns.emission('range', 'max'),\n STEP: api.internals.ns.emission('range', 'step'),\n PREFIX: api.internals.ns.emission('range', 'prefix'),\n SUFFIX: api.internals.ns.emission('range', 'suffix'),\n DISABLED: api.internals.ns.emission('range', 'disabled'),\n ENABLE_POINTER: api.internals.ns.emission('range', 'enable_pointer')\n};\n","class RangeModel {\n constructor () {\n this._width = 0;\n this._min = 0;\n this._max = 0;\n this._value = 0;\n this._thumbSize = 24;\n this._innerWidth = 0;\n this._prefix = '';\n this._suffix = '';\n this._background = {};\n }\n\n configure (model) {\n if (!model) return;\n this._prefix = model._prefix;\n this._suffix = model._suffix;\n this._width = model.width;\n this.setConstraints(model._constraints);\n this.value = model.value;\n this.update();\n }\n\n setPrefix (value) {\n this._prefix = value !== null ? value : '';\n }\n\n setSuffix (value) {\n this._suffix = value !== null ? value : '';\n }\n\n _decorate (value) {\n return `${this._prefix}${value}${this._suffix}`;\n }\n\n get width () {\n return this._width;\n }\n\n set width (value) {\n this._width = value;\n }\n\n get isSm () {\n return this._isSm;\n }\n\n set isSm (value) {\n if (this._isSm === value) return;\n this._isSm = value;\n this.setThumbSize(value ? 16 : 24);\n this.update();\n }\n\n setThumbSize (value, mult = 1) {\n this._thumbSize = value;\n this._innerPadding = value * mult;\n }\n\n get textValue () {\n return this._decorate(this._value);\n }\n\n get value () {\n return this._value;\n }\n\n set value (value) {\n this._value = value;\n }\n\n get outputX () {\n return this._outputX;\n }\n\n setConstraints (constraints) {\n this._constraints = constraints;\n this._min = constraints.min;\n this._max = constraints.max;\n this._step = constraints.step;\n this._rangeWidth = constraints.rangeWidth;\n }\n\n get min () {\n return this._min;\n }\n\n get textMin () {\n return this._decorate(this._min);\n }\n\n get max () {\n return this._max;\n }\n\n get textMax () {\n return this._decorate(this._max);\n }\n\n get step () {\n return this._step;\n }\n\n get output () {\n return {\n text: this.textValue,\n transform: `translateX(${this._translateX}px) translateX(-${this._centerPercent}%)`\n };\n }\n\n _getRatio (value) {\n return (value - this._min) / this._rangeWidth;\n }\n\n get progress () {\n return this._progress;\n }\n\n update () {\n this._update();\n }\n\n _update () {\n this._innerWidth = this._width - this._innerPadding;\n const ratio = this._getRatio(this._value);\n this._translateX = ratio * this._width;\n this._centerPercent = ratio * 100;\n this._progress = {\n right: `${(this._innerWidth * ratio + this._innerPadding * 0.5).toFixed(2)}px`\n };\n }\n}\n\nclass RangeModelStep extends RangeModel {\n get stepWidth () {\n return `${this._stepWidth.toFixed(3)}px`;\n }\n\n _update () {\n super._update();\n const steps = this._rangeWidth / this._step;\n this._stepWidth = this._innerWidth / steps;\n while (this._stepWidth < 4) this._stepWidth *= 2;\n }\n}\n\nclass RangeModelDouble extends RangeModel {\n get value2 () {\n return this._value;\n }\n\n set value2 (value) {\n if (this._value2 === value) return;\n this._value2 = value;\n this.update();\n }\n\n get textValue () {\n return `${this._decorate(this._value)} - ${this._decorate(this._value2)}`;\n }\n\n setThumbSize (value) {\n super.setThumbSize(value, 2);\n }\n\n _update () {\n super._update();\n const ratio = this._getRatio((this._value + this._value2) * 0.5);\n this._translateX = ratio * this._width;\n this._centerPercent = ratio * 100;\n const ratio1 = this._getRatio(this._value);\n const ratio2 = this._getRatio(this._value2);\n this._progress = {\n left: `${(this._innerWidth * ratio1 + this._innerPadding * 0.25).toFixed(2)}px`,\n right: `${(this._innerWidth * ratio2 + this._innerPadding * 0.75).toFixed(2)}px`\n };\n }\n}\n\nclass RangeModelDoubleStep extends RangeModelDouble {\n get stepWidth () {\n return `${this._stepWidth.toFixed(3)}px`;\n }\n\n _update () {\n super._update();\n const steps = this._rangeWidth / this._step;\n this._stepWidth = this._innerWidth / steps;\n if (this._stepWidth < 4) this._stepWidth *= Math.ceil(4 / this._stepWidth);\n }\n}\n\nexport { RangeModel, RangeModelStep, RangeModelDouble, RangeModelDoubleStep };\n","import api from '../../api.js';\nimport { RangeEmission } from './range-emission.js';\nimport { RangeSelector } from './range-selector.js';\nimport { RangeModel, RangeModelStep, RangeModelDouble, RangeModelDoubleStep } from './range-model';\n\nconst RangeTypes = {\n STEP: 'step',\n DOUBLE: 'double',\n DOUBLE_STEP: 'double-step',\n DEFAULT: 'default'\n};\n\nclass Range extends api.core.Instance {\n static get instanceClassName () {\n return 'Range';\n }\n\n init () {\n this._retrieveType();\n this._retrieveSize();\n if (this.isLegacy) {\n this.isResizing = true;\n this.isMouseMoving = true;\n } else {\n this._observer = new ResizeObserver(this.resize.bind(this));\n this._observer.observe(this.node);\n }\n\n this.addAscent(RangeEmission.CONSTRAINTS, this.setConstraints.bind(this));\n this.addAscent(RangeEmission.VALUE, this.setValue.bind(this));\n this.addAscent(RangeEmission.VALUE2, this.setValue2.bind(this));\n if (this.getAttribute(RangeSelector.RANGE_PREFIX)) this.setPrefix(this.getAttribute(RangeSelector.RANGE_PREFIX));\n if (this.getAttribute(RangeSelector.RANGE_SUFFIX)) this.setSuffix(this.getAttribute(RangeSelector.RANGE_SUFFIX));\n this.update();\n }\n\n _retrieveType () {\n switch (true) {\n case this.matches(RangeSelector.RANGE_DOUBLE_STEP):\n this.type = RangeTypes.DOUBLE;\n break;\n\n case this.matches(RangeSelector.RANGE_DOUBLE):\n this.type = RangeTypes.DOUBLE;\n break;\n\n case this.matches(RangeSelector.RANGE_STEP):\n this.type = RangeTypes.STEP;\n break;\n\n default:\n this.type = RangeTypes.DEFAULT;\n }\n }\n\n set type (value) {\n if (this._type === value) return;\n this._type = value;\n\n const oldModel = this._model;\n\n switch (this._type) {\n case RangeTypes.DOUBLE_STEP:\n this._model = new RangeModelDoubleStep();\n break;\n\n case RangeTypes.DOUBLE:\n this._model = new RangeModelDouble();\n break;\n\n case RangeTypes.STEP:\n this._model = new RangeModelStep();\n break;\n\n default:\n this._model = new RangeModel();\n }\n\n this._model.configure(oldModel);\n }\n\n get type () {\n return this._type;\n }\n\n _retrieveSize () {\n this._model.isSm = this.matches(RangeSelector.RANGE_SM);\n }\n\n resize () {\n this._retrieveWidth();\n this.update();\n }\n\n _retrieveWidth () {\n this._model.width = this.getRect().width;\n }\n\n setValue (value) {\n this._model.value = value;\n switch (this._type) {\n case RangeTypes.DOUBLE_STEP:\n case RangeTypes.DOUBLE:\n this.descend(RangeEmission.VALUE, value);\n break;\n }\n this.update();\n }\n\n setValue2 (value) {\n this._model.value2 = value;\n this.descend(RangeEmission.VALUE2, value);\n this.update();\n }\n\n setConstraints (constraints) {\n this._model.setConstraints(constraints);\n this.update();\n this.descend(RangeEmission.CONSTRAINTS, constraints);\n }\n\n setPrefix (value) {\n this._model.setPrefix(value);\n this.update();\n }\n\n setSuffix (value) {\n this._model.setSuffix(value);\n this.update();\n }\n\n mutate (attributesNames) {\n switch (true) {\n case attributesNames.includes('class'):\n this._retrieveType();\n this._retrieveSize();\n break;\n\n case attributesNames.includes(RangeSelector.RANGE_PREFIX):\n case attributesNames.includes(RangeSelector.RANGE_SUFFIX):\n this._model.setPrefix(this.getAttribute(RangeSelector.RANGE_PREFIX));\n this._model.setSuffix(this.getAttribute(RangeSelector.RANGE_SUFFIX));\n this.update();\n break;\n }\n }\n\n update () {\n this._model.update();\n this.descend(RangeEmission.OUTPUT, this._model.output);\n this.descend(RangeEmission.MIN, this._model.textMin);\n this.descend(RangeEmission.MAX, this._model.textMax);\n const progress = this._model.progress;\n if (progress.left) {\n this.style.setProperty('--progress-left', progress.left);\n } else {\n this.style.removeProperty('--progress-left');\n }\n if (progress.right) {\n this.style.setProperty('--progress-right', progress.right);\n if (this.isLegacy) {\n if (progress.left) {\n this.style.setProperty('background-position-x', progress.left);\n this.style.setProperty('background-size', `${parseFloat(progress.right) - parseFloat(progress.left)}px ${this._model.isSm ? '8px' : '12px'}`);\n }\n }\n } else {\n this.style.removeProperty('--progress-right');\n if (this.isLegacy) {\n this.style.removeProperty('background-size');\n this.style.removeProperty('background-position-x');\n }\n }\n if (this._model.stepWidth) this.style.setProperty('--step-width', this._model.stepWidth);\n else this.style.removeProperty('--step-width');\n }\n\n mouseMove (point) {\n if (this._type !== RangeTypes.DOUBLE && this._type !== RangeTypes.DOUBLE_STEP) return;\n const x = point.x - this.getRect().left;\n this.descend(RangeEmission.ENABLE_POINTER, (parseFloat(this._model.progress.right) - parseFloat(this._model.progress.left)) / 2 + parseFloat(this._model.progress.left) < x ? 2 : 1);\n }\n\n dispose () {\n this._observer.disconnect();\n }\n}\n\nexport { Range };\n","class RangeConstraints {\n constructor (node) {\n this._min = isNaN(node.min) ? 0 : node.min;\n this._max = isNaN(node.max) ? 100 : node.max;\n this._step = isNaN(node.step) ? 1 : node.step;\n this._rangeWidth = this._max - this._min;\n }\n\n get min () {\n return this._min;\n }\n\n get max () {\n return this._max;\n }\n\n get step () {\n return this._step;\n }\n\n get rangeWidth () {\n return this._rangeWidth;\n }\n\n test (min, max, step) {\n return this._min === min && this._max === max && this._step === step;\n }\n}\n\nexport { RangeConstraints };\n","import api from '../../api.js';\nimport { RangeEmission } from './range-emission.js';\nimport { RangeConstraints } from './range-constraints';\n\nclass RangeInput extends api.core.Instance {\n static get instanceClassName () {\n return 'RangeInput';\n }\n\n init () {\n this._init();\n this.node.value = this.getAttribute('value');\n this._changing = this.change.bind(this);\n this._listenerType = this.isLegacy ? 'change' : 'input';\n this.listen(this._listenerType, this._changing);\n if (this.isLegacy) this.addDescent(RangeEmission.ENABLE_POINTER, this._enablePointer.bind(this));\n this.change();\n }\n\n _init () {\n this._pointerId = 1;\n this.request(() => {\n if (!this.hasAttribute('min')) this.setAttribute('min', 0);\n this.ascend(RangeEmission.CONSTRAINTS, new RangeConstraints(this.node));\n this.ascend(RangeEmission.DISABLED, this.node.disabled);\n });\n\n this.addDescent(RangeEmission.VALUE2, this.setValue.bind(this));\n }\n\n _enablePointer (pointerId) {\n const isEnabled = pointerId === this._pointerId;\n if (this._isPointerEnabled === isEnabled) return;\n this._isPointerEnabled = isEnabled;\n if (isEnabled) this.style.removeProperty('pointer-events');\n else this.style.setProperty('pointer-events', 'none');\n }\n\n setValue (value) {\n if (parseFloat(this.node.value) > value) {\n this.node.value = value;\n this.change();\n }\n }\n\n change () {\n this.ascend(RangeEmission.VALUE, parseFloat(this.node.value));\n }\n\n mutate (attributesNames) {\n if (attributesNames.includes('disabled')) this.ascend(RangeEmission.DISABLED, this.node.disabled);\n if (attributesNames.includes('min') || attributesNames.includes('max') || attributesNames.includes('step')) {\n this.ascend(RangeEmission.CONSTRAINTS, new RangeConstraints(this.node));\n this.change();\n }\n }\n\n dispose () {\n if (this._listenerType) this.unlisten(this._listenerType, this._changing);\n }\n}\n\nexport { RangeInput };\n","import { RangeInput } from './range-input.js';\nimport { RangeEmission } from './range-emission';\n\nclass RangeInput2 extends RangeInput {\n static get instanceClassName () {\n return 'RangeInput2';\n }\n\n _init () {\n this._pointerId = 2;\n this.addDescent(RangeEmission.CONSTRAINTS, this.setConstraints.bind(this));\n this.addDescent(RangeEmission.VALUE, this.setValue.bind(this));\n }\n\n setValue (value) {\n if (parseFloat(this.node.value) < value) {\n this.node.value = value;\n this.change();\n }\n }\n\n change () {\n this.ascend(RangeEmission.VALUE2, parseFloat(this.node.value));\n }\n\n setConstraints (constraints) {\n this.node.min = constraints.min;\n this.node.max = constraints.max;\n this.node.step = constraints.step;\n this.change();\n }\n\n mutate (attributesNames) {}\n}\n\nexport { RangeInput2 };\n","import api from '../../../api';\nimport { RangeEmission } from './range-emission.js';\n\nclass RangeOutput extends api.core.Instance {\n static get instanceClassName () {\n return 'RangeOutput';\n }\n\n init () {\n this.addDescent(RangeEmission.OUTPUT, this.change.bind(this));\n }\n\n change (data) {\n this.node.innerText = data.text;\n this.node.style.transform = data.transform;\n }\n}\n\nexport { RangeOutput };\n","import api from '../../../api';\nimport { RangeEmission } from './range-emission.js';\nimport { RangeSelector } from './range-selector.js';\n\nclass RangeLimit extends api.core.Instance {\n static get instanceClassName () {\n return 'RangeLimit';\n }\n\n init () {\n switch (true) {\n case this.matches(RangeSelector.RANGE_MIN):\n this.addDescent(RangeEmission.MIN, this.change.bind(this));\n break;\n\n case this.matches(RangeSelector.RANGE_MAX):\n this.addDescent(RangeEmission.MAX, this.change.bind(this));\n break;\n }\n }\n\n change (text) {\n this.node.innerText = text;\n }\n}\n\nexport { RangeLimit };\n","import api from './api.js';\nimport { RangeSelector } from './script/range/range-selector.js';\nimport { RangeEmission } from './script/range/range-emission.js';\nimport { Range } from './script/range/range.js';\nimport { RangeInput } from './script/range/range-input.js';\nimport { RangeInput2 } from './script/range/range-input2.js';\nimport { RangeOutput } from './script/range/range-output.js';\nimport { RangeLimit } from './script/range/range-limit.js';\n\napi.range = {\n Range: Range,\n RangeInput: RangeInput,\n RangeInput2: RangeInput2,\n RangeOutput: RangeOutput,\n RangeLimit: RangeLimit,\n RangeEmission: RangeEmission,\n RangeSelector: RangeSelector\n};\n\nexport default api;\n","import api from './index.js';\n\napi.internals.register(api.range.RangeSelector.RANGE, api.range.Range);\napi.internals.register(api.range.RangeSelector.RANGE_INPUT, api.range.RangeInput);\napi.internals.register(api.range.RangeSelector.RANGE_INPUT2, api.range.RangeInput2);\napi.internals.register(api.range.RangeSelector.RANGE_OUTPUT, api.range.RangeOutput);\napi.internals.register(api.range.RangeSelector.RANGE_MIN, api.range.RangeLimit);\napi.internals.register(api.range.RangeSelector.RANGE_MAX, api.range.RangeLimit);\n\nexport default api;\n"],"names":["const","prototypeAccessors","super","this"],"mappings":"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"}