rails-active-ui 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. checksums.yaml +7 -0
  2. data/Rakefile +6 -0
  3. data/app/assets/stylesheets.css +73555 -0
  4. data/app/components/accordion_component.rb +34 -0
  5. data/app/components/ad_component.rb +28 -0
  6. data/app/components/api_component.rb +24 -0
  7. data/app/components/breadcrumb_component.rb +26 -0
  8. data/app/components/button_component.rb +49 -0
  9. data/app/components/calendar_component.rb +34 -0
  10. data/app/components/card_component.rb +56 -0
  11. data/app/components/checkbox_component.rb +41 -0
  12. data/app/components/column_component.rb +62 -0
  13. data/app/components/comment_component.rb +45 -0
  14. data/app/components/concerns/alignable.rb +21 -0
  15. data/app/components/concerns/attachable.rb +16 -0
  16. data/app/components/concerns/orientable.rb +21 -0
  17. data/app/components/concerns/positionable.rb +21 -0
  18. data/app/components/concerns/sizeable.rb +18 -0
  19. data/app/components/container_component.rb +23 -0
  20. data/app/components/dimmer_component.rb +30 -0
  21. data/app/components/divider_component.rb +30 -0
  22. data/app/components/dropdown_component.rb +63 -0
  23. data/app/components/embed_component.rb +32 -0
  24. data/app/components/emoji_component.rb +15 -0
  25. data/app/components/feed_component.rb +22 -0
  26. data/app/components/flag_component.rb +15 -0
  27. data/app/components/flyout_component.rb +41 -0
  28. data/app/components/form_component.rb +39 -0
  29. data/app/components/grid_component.rb +85 -0
  30. data/app/components/h_stack_component.rb +67 -0
  31. data/app/components/header_component.rb +60 -0
  32. data/app/components/icon_component.rb +41 -0
  33. data/app/components/image_component.rb +46 -0
  34. data/app/components/input_component.rb +52 -0
  35. data/app/components/item_component.rb +39 -0
  36. data/app/components/item_group_component.rb +30 -0
  37. data/app/components/label_component.rb +49 -0
  38. data/app/components/link_component.rb +23 -0
  39. data/app/components/list_component.rb +39 -0
  40. data/app/components/loader_component.rb +33 -0
  41. data/app/components/menu_component.rb +64 -0
  42. data/app/components/menu_item_component.rb +52 -0
  43. data/app/components/message_component.rb +54 -0
  44. data/app/components/modal_component.rb +50 -0
  45. data/app/components/nag_component.rb +25 -0
  46. data/app/components/overlay_component.rb +16 -0
  47. data/app/components/placeholder_component.rb +39 -0
  48. data/app/components/popup_component.rb +31 -0
  49. data/app/components/progress_component.rb +48 -0
  50. data/app/components/pusher_component.rb +18 -0
  51. data/app/components/rail_component.rb +31 -0
  52. data/app/components/rating_component.rb +41 -0
  53. data/app/components/reset_component.rb +12 -0
  54. data/app/components/reveal_component.rb +39 -0
  55. data/app/components/row_component.rb +39 -0
  56. data/app/components/search_component.rb +44 -0
  57. data/app/components/segment_component.rb +57 -0
  58. data/app/components/segment_group_component.rb +36 -0
  59. data/app/components/shape_component.rb +25 -0
  60. data/app/components/sidebar_component.rb +33 -0
  61. data/app/components/site_component.rb +12 -0
  62. data/app/components/slider_component.rb +46 -0
  63. data/app/components/state_component.rb +25 -0
  64. data/app/components/statistic_component.rb +43 -0
  65. data/app/components/step_component.rb +56 -0
  66. data/app/components/step_group_component.rb +38 -0
  67. data/app/components/sticky_component.rb +22 -0
  68. data/app/components/sub_header_component.rb +15 -0
  69. data/app/components/sub_menu_component.rb +24 -0
  70. data/app/components/tab_component.rb +24 -0
  71. data/app/components/table_cell_component.rb +60 -0
  72. data/app/components/table_component.rb +160 -0
  73. data/app/components/table_row_component.rb +43 -0
  74. data/app/components/text_component.rb +73 -0
  75. data/app/components/toast_component.rb +36 -0
  76. data/app/components/transition_component.rb +32 -0
  77. data/app/components/v_stack_component.rb +31 -0
  78. data/app/components/visibility_component.rb +22 -0
  79. data/app/helpers/component_helper.rb +109 -0
  80. data/app/helpers/fui_helper.rb +53 -0
  81. data/app/javascript/accordion.js +547 -0
  82. data/app/javascript/accordion.min.js +11 -0
  83. data/app/javascript/api.js +1112 -0
  84. data/app/javascript/api.min.js +11 -0
  85. data/app/javascript/calendar.js +1960 -0
  86. data/app/javascript/calendar.min.js +11 -0
  87. data/app/javascript/checkbox.js +819 -0
  88. data/app/javascript/checkbox.min.js +11 -0
  89. data/app/javascript/dimmer.js +686 -0
  90. data/app/javascript/dimmer.min.js +11 -0
  91. data/app/javascript/dropdown.js +4019 -0
  92. data/app/javascript/dropdown.min.js +11 -0
  93. data/app/javascript/embed.js +646 -0
  94. data/app/javascript/embed.min.js +11 -0
  95. data/app/javascript/flyout.js +1405 -0
  96. data/app/javascript/flyout.min.js +11 -0
  97. data/app/javascript/form.js +2070 -0
  98. data/app/javascript/form.min.js +11 -0
  99. data/app/javascript/jquery.js +10716 -0
  100. data/app/javascript/jquery.min.js +2 -0
  101. data/app/javascript/modal.js +1507 -0
  102. data/app/javascript/modal.min.js +11 -0
  103. data/app/javascript/nag.js +522 -0
  104. data/app/javascript/nag.min.js +11 -0
  105. data/app/javascript/popup.js +1457 -0
  106. data/app/javascript/popup.min.js +11 -0
  107. data/app/javascript/progress.js +922 -0
  108. data/app/javascript/progress.min.js +11 -0
  109. data/app/javascript/rating.js +496 -0
  110. data/app/javascript/rating.min.js +11 -0
  111. data/app/javascript/search.js +1519 -0
  112. data/app/javascript/search.min.js +11 -0
  113. data/app/javascript/shape.js +721 -0
  114. data/app/javascript/shape.min.js +11 -0
  115. data/app/javascript/sidebar.js +952 -0
  116. data/app/javascript/sidebar.min.js +11 -0
  117. data/app/javascript/site.js +415 -0
  118. data/app/javascript/site.min.js +11 -0
  119. data/app/javascript/slider.js +1449 -0
  120. data/app/javascript/slider.min.js +11 -0
  121. data/app/javascript/state.js +653 -0
  122. data/app/javascript/state.min.js +11 -0
  123. data/app/javascript/sticky.js +852 -0
  124. data/app/javascript/sticky.min.js +11 -0
  125. data/app/javascript/tab.js +867 -0
  126. data/app/javascript/tab.min.js +11 -0
  127. data/app/javascript/toast.js +916 -0
  128. data/app/javascript/toast.min.js +11 -0
  129. data/app/javascript/transition.js +955 -0
  130. data/app/javascript/transition.min.js +11 -0
  131. data/app/javascript/ui/controllers/fui_accordion_controller.js +45 -0
  132. data/app/javascript/ui/controllers/fui_api_controller.js +80 -0
  133. data/app/javascript/ui/controllers/fui_calendar_controller.js +66 -0
  134. data/app/javascript/ui/controllers/fui_checkbox_controller.js +48 -0
  135. data/app/javascript/ui/controllers/fui_dimmer_controller.js +45 -0
  136. data/app/javascript/ui/controllers/fui_dropdown_controller.js +68 -0
  137. data/app/javascript/ui/controllers/fui_embed_controller.js +49 -0
  138. data/app/javascript/ui/controllers/fui_flyout_controller.js +49 -0
  139. data/app/javascript/ui/controllers/fui_form_controller.js +62 -0
  140. data/app/javascript/ui/controllers/fui_modal_controller.js +61 -0
  141. data/app/javascript/ui/controllers/fui_nag_controller.js +52 -0
  142. data/app/javascript/ui/controllers/fui_popup_controller.js +58 -0
  143. data/app/javascript/ui/controllers/fui_progress_controller.js +60 -0
  144. data/app/javascript/ui/controllers/fui_rating_controller.js +49 -0
  145. data/app/javascript/ui/controllers/fui_search_controller.js +76 -0
  146. data/app/javascript/ui/controllers/fui_shape_controller.js +45 -0
  147. data/app/javascript/ui/controllers/fui_sidebar_controller.js +48 -0
  148. data/app/javascript/ui/controllers/fui_site_controller.js +29 -0
  149. data/app/javascript/ui/controllers/fui_slider_controller.js +53 -0
  150. data/app/javascript/ui/controllers/fui_state_controller.js +63 -0
  151. data/app/javascript/ui/controllers/fui_sticky_controller.js +50 -0
  152. data/app/javascript/ui/controllers/fui_tab_controller.js +57 -0
  153. data/app/javascript/ui/controllers/fui_toast_controller.js +60 -0
  154. data/app/javascript/ui/controllers/fui_transition_controller.js +60 -0
  155. data/app/javascript/ui/controllers/fui_visibility_controller.js +55 -0
  156. data/app/javascript/ui/index.js +114 -0
  157. data/app/javascript/visibility.js +1196 -0
  158. data/app/javascript/visibility.min.js +11 -0
  159. data/app/lib/component.rb +63 -0
  160. data/config/importmap.rb +27 -0
  161. data/config/initializers/ruby_template_handler.rb +31 -0
  162. data/config/routes.rb +2 -0
  163. data/lib/tasks/ui_tasks.rake +4 -0
  164. data/lib/ui/engine.rb +27 -0
  165. data/lib/ui/version.rb +3 -0
  166. data/lib/ui.rb +6 -0
  167. metadata +220 -0
@@ -0,0 +1,11 @@
1
+ /*
2
+ * # Fomantic UI - 2.9.4
3
+ * https://github.com/fomantic/Fomantic-UI
4
+ * https://fomantic-ui.com/
5
+ *
6
+ * Copyright 2026 Contributors
7
+ * Released under the MIT license
8
+ * https://opensource.org/licenses/MIT
9
+ *
10
+ */
11
+ !function(z,n,a){"use strict";function B(e){return"function"==typeof e&&"number"!=typeof e.nodeType}n=void 0!==n&&n.Math===Math?n:globalThis,z.fn.slider=function(...e){const t=z(this),E=z(a),D=z(n);let A=Date.now(),S=[];const F=e[0],O="string"==typeof F,N=e.slice(1);let j=0,I;return t.each(function(){const c=z.isPlainObject(F)?z.extend(!0,{},z.fn.slider.settings,F):z.extend({},z.fn.slider.settings),l=c.className,t=c.metadata;var e=c.namespace;const s=c.error,o=c.keys,r=c.interpretLabel;let n=!1;const a="."+e,i="module-"+e,u=z(this);let d,m,g,v,f,h,b;const p=this;let V=u.data(i),k,T,x,y,w,M=1,R,C,L;const P={initialize:function(){P.debug("Initializing slider",c),L=!0,j+=1,k=j,P.setup.layout(),P.setup.labels(),P.bind.events(),P.read.metadata(),P.read.settings(),L=!1,P.instantiate()},instantiate:function(){P.verbose("Storing instance of slider",P),V=P,u.data(i,P)},destroy:function(){P.verbose("Destroying previous slider for",u),clearInterval(V.interval),P.unbind.events(),P.unbind.slidingEvents(),delete P.cache,u.removeData(i),V=void 0},setup:{layout:function(){void 0===u.attr("tabindex")&&u.attr("tabindex",0),0===u.find(".inner").length&&u.append('<div class="inner"><div class="track"></div><div class="track-fill"></div><div class="thumb"></div></div>'),P.clear.cache(),g=u.find(".thumb:not(.second)"),c.showThumbTooltip&&g.attr("data-position",c.tooltipConfig.position).attr("data-variation",c.tooltipConfig.variation),d=g,P.is.range()&&(0===u.find(".thumb.second").length&&u.find(".inner").append('<div class="thumb second"></div>'),v=u.find(".thumb.second"),c.showThumbTooltip&&v.attr("data-position",c.tooltipConfig.position).attr("data-variation",c.tooltipConfig.variation)),f=u.find(".track"),h=u.find(".track-fill"),w=g.width()/2},labels:function(){P.is.labeled()&&(0<(b=u.find(".labels:not(.auto)")).length?P.setup.customLabel():P.setup.autoLabel(),c.highlightRange&&b.addClass(l.active),c.showLabelTicks?u.addClass(l.ticked):u.hasClass(l.ticked)&&(c.showLabelTicks="always"))},customLabel:function(){const e=b.find(".label"),a=e.length,i=P.get.min(),o=P.get.max();let r;e.each(function(e){const t=z(this);let n=t.attr("data-value");r=n?((n=n>o?o:Math.max(n,i))-i)/(o-i):(e+1)/(a+1),P.update.labelPosition(r,z(this))})},autoLabel:function(){0<(b=u.find(".labels")).length?b.empty():b=u.append('<ul class="auto labels"></ul>').find(".labels");var t=P.get.step(),n=P.get.precision(),a=P.get.numLabels(),i=a-("fixed"!==c.autoAdjustLabels?0:P.get.max().toString().length+4);for(let e=0;e<=a;e++){var o=Math.round((e*(0===t?1:t)+P.get.min())*n)/n,r=P.get.label(e,o),s=0===c.restrictedLabels.length||c.restrictedLabels.includes(r),s=""===r||!s&&"always"!==c.showLabelTicks?null:!(e%P.get.gapRatio())&&e<i||e===a?z("<li/>",{class:l.label,"data-value":o,html:s?r:""}):z("<li/>",{class:"halftick label","data-value":o}),r=e/a;s&&(P.update.labelPosition(r,s),b.append(s))}}},bind:{events:function(){P.bind.globalKeyboardEvents(),P.bind.keyboardEvents(),P.bind.mouseEvents(),c.autoAdjustLabels&&P.bind.windowEvents()},keyboardEvents:function(){P.verbose("Binding keyboard events"),u.on("keydown"+a,P.event.keydown)},globalKeyboardEvents:function(){E.on("keydown"+a+k,P.event.activateFocus)},mouseEvents:function(){P.verbose("Binding mouse and touch events"),u.find(".track, .thumb, .inner").on("mousedown"+a,function(e){e.stopImmediatePropagation(),e.preventDefault(),P.event.down(e)}),u.on("mousedown"+a,P.event.down),u.on("mouseenter"+a,function(e){n=!0}),u.on("mouseleave"+a,function(e){n=!1}),u.find(".thumb").on("touchstart"+a,P.event.touchDown).on("touchmove"+a,P.event.move).on("touchend"+a,P.event.up).on("touchcancel"+a,P.event.touchCancel)},slidingEvents:function(){P.verbose("Binding page wide events while handle is being draged"),E.on("mousemove"+a,P.event.move),E.on("mouseup"+a,P.event.up)},windowEvents:function(){D.on("resize"+a,P.event.resize)}},unbind:{events:function(){u.find(".track, .thumb, .inner").off("mousedown"+a),u.off("mousedown"+a),u.off("mouseenter"+a),u.off("mouseleave"+a),u.find(".thumb").off("touchstart"+a).off("touchmove"+a).off("touchend"+a).off("touchcancel"+a),u.off("keydown"+a),u.off("focusout"+a),E.off("keydown"+a+k,P.event.activateFocus),D.off("resize"+a)},slidingEvents:function(){E.off("mousemove"+a),E.off("mouseup"+a)}},event:{down:function(e){e.preventDefault(),P.is.range()?(e=P.determine.eventPos(e),e=P.determine.pos(e),d=c.preventCrossover&&P.is.range()&&P.thumbVal===P.secondThumbVal?void(C=e):P.determine.closestThumb(e),void 0===R&&(R=P.get.currentThumbValue())):void 0===R&&(R=P.get.value()),P.is.disabled()||P.bind.slidingEvents()},touchDown:function(e){e.preventDefault(),e.stopImmediatePropagation(),void 0===m&&(d=z(e.target),e=e.touches?e:e.originalEvent,m=e.targetTouches[0].identifier,void 0===R&&(R=P.get.currentThumbValue()))},move:function(i){if("mousemove"===i.type&&i.preventDefault(),!P.is.disabled()){let a=P.determine.valueFromEvent(i);if("mousemove"===i.type&&void 0===d&&(e=P.determine.eventPos(i),e=P.determine.pos(e),d=C>e?g:v),P.is.range()&&(c.minRange||c.maxRange)){var e=P.get.currentRangeDiff(a),t=d.hasClass("second");if(c.minRange&&e<c.minRange||c.maxRange&&e>c.maxRange||c.preventCrossover&&!t&&a>P.secondThumbVal||c.preventCrossover&&t&&a<P.thumbVal)return}if(0===P.get.step()||P.is.smooth()){let e=P.thumbVal,t=P.secondThumbVal,n=P.determine.smoothValueFromEvent(i);d.hasClass("second")?(c.preventCrossover&&P.is.range()&&(a=Math.max(e,a),n=Math.max(e,n)),t=a):(c.preventCrossover&&P.is.range()&&(a=Math.min(t,a),n=Math.min(t,n)),e=a),a=Math.abs(e-(t||0)),P.update.position(n),c.onMove.call(p,a,e,t)}else P.update.value(a,function(e,t,n){c.onMove.call(p,e,t,n)})}},up:function(t){if(t.preventDefault(),!P.is.disabled()){let e=P.determine.valueFromEvent(t);P.is.range()&&(c.minRange||c.maxRange)&&(void 0===d&&(d=e<=P.get.currentThumbValue()?g:v),t=P.get.currentRangeDiff(e),c.minRange&&t<c.minRange?e=P.get.edgeValue(e,c.minRange):c.maxRange&&t>c.maxRange&&(e=P.get.edgeValue(e,c.maxRange))),P.set.value(e),P.unbind.slidingEvents(),(m=void 0)!==R&&(R=void 0)}},touchCancel:function(e){e.preventDefault(),(m=void 0)!==R&&(P.update.value(R),R=void 0)},keydown:function(e,t){if(!P.is.disabled()&&(c.preventCrossover&&P.is.range()&&P.thumbVal===P.secondThumbVal&&(d=void 0),P.is.focused()&&E.trigger(e),t||P.is.focused())){t=P.determine.keyMovement(e);if(0!==t)switch(e.preventDefault(),t){case 1:P.takeStep();break;case 2:P.takeStep(P.get.multiplier());break;case-1:P.backStep();break;case-2:P.backStep(P.get.multiplier())}}},activateFocus:function(e){P.is.disabled()||P.is.focused()||!P.is.hover()||0===P.determine.keyMovement(e)||(e.preventDefault(),P.event.keydown(e,!0),u.trigger("focus"))},resize:function(e){M!==P.get.gapRatio()&&(P.resync(),M=P.get.gapRatio())}},clear:{cache:function(){P.cache={}}},resync:function(){P.verbose("Re-syncing thumb position based on value"),P.setup.labels(),P.is.range()&&P.update.position(P.secondThumbVal,v),P.update.position(P.thumbVal,g)},takeStep:function(e){e=e||1;var t=P.get.step(),n=P.get.currentThumbValue();P.verbose("Taking a step"),0<t?P.set.value(n+t*e):0===t&&(n=n+e/(t=P.get.precision()),P.set.value(Math.round(n*t)/t))},backStep:function(e){e=e||1;var t=P.get.step(),n=P.get.currentThumbValue();P.verbose("Going back a step"),0<t?P.set.value(n-t*e):0===t&&(n=n-e/(t=P.get.precision()),P.set.value(Math.round(n*t)/t))},is:{prime:function(a){if(void 0===P.cache["prime"+a]){let n=!0;for(let e=2,t=Math.sqrt(a);e<=t;e++)if(a%e==0){n=!1;break}n=n&&1<a,P.cache["prime"+a]=n}return P.cache["prime"+a]},range:function(){let e=u.hasClass(l.range);return e||!c.minRange&&!c.maxRange||(u.addClass(l.range),e=!0),e},hover:function(){return n},focused:function(){return u.is(":focus")},disabled:function(){return u.hasClass(l.disabled)},labeled:function(){let e=u.hasClass(l.labeled);return!e&&(0<c.restrictedLabels.length||!1!==c.showLabelTicks)&&(u.addClass(l.labeled),e=!0),e},reversed:function(){return u.hasClass(l.reversed)},vertical:function(){return u.hasClass(l.vertical)},smooth:function(){return c.smooth||u.hasClass(l.smooth)}},get:{currentRangeDiff:function(e){let t;return t=d.hasClass("second")?P.thumbVal<e?e-P.thumbVal:P.thumbVal-e:P.secondThumbVal>e?P.secondThumbVal-e:e-P.secondThumbVal},edgeValue:function(e,t){return e=d.hasClass("second")?P.thumbVal<e?P.thumbVal+t:P.thumbVal-t:P.secondThumbVal<e?P.secondThumbVal+t:P.secondThumbVal-t},trackOffset:function(){return P.is.vertical()?f.offset().top:f.offset().left},trackLength:function(){return P.is.vertical()?f.height():f.width()},trackLeft:function(){return P.is.vertical()?f.position().top:f.position().left},trackStartPos:function(){return P.is.reversed()?P.get.trackLeft()+P.get.trackLength():P.get.trackLeft()},trackEndPos:function(){return P.is.reversed()?P.get.trackLeft():P.get.trackLeft()+P.get.trackLength()},trackStartMargin:function(){let e;return(e=P.is.vertical()?P.is.reversed()?u.css("padding-bottom"):u.css("padding-top"):P.is.reversed()?u.css("padding-right"):u.css("padding-left"))||"0px"},trackEndMargin:function(){let e;return(e=P.is.vertical()?P.is.reversed()?u.css("padding-top"):u.css("padding-bottom"):P.is.reversed()?u.css("padding-left"):u.css("padding-right"))||"0px"},precision:function(){if(void 0===P.cache.precision){let e;var t=P.get.step(),t=10**(e=0!==t?2===(t=String(t).split(".")).length?t[1].length:0:c.decimalPlaces);P.debug("Precision determined",t),P.cache.precision=t}return P.cache.precision},min:function(){return c.min},max:function(){var e,t,n,a;return void 0===P.cache.max&&(e=P.get.step(),t=P.get.min(),n=P.get.precision(),n=0===e?0:Math.floor(Math.round((c.max-t)/e*n)/n),0<(a=0===e?0:(c.max-t)%e)&&P.debug("Max value not divisible by given step. Increasing max value.",c.max,e),P.cache.max=0==a?c.max:t+n*e),P.cache.max},step:function(){return c.step},numLabels:function(){var e,t;return void 0===P.cache.numLabels&&(t=P.get.step(),e=P.get.precision(),t=Math.round((P.get.max()-P.get.min())/(0===t?1:t)*e)/e,P.debug("Determined that there should be "+t+" labels"),P.cache.numLabels=t),P.cache.numLabels},labelType:function(){return c.labelType},label:function(t,n){if(B(r))return r(t,n,P);switch(c.labelType){case c.labelTypes.number:return n;case c.labelTypes.letter:{if(t<0||1<P.get.precision())return P.error(s.invalidLetterNumber,t),t;let e="";for(var a=Array.isArray(c.letters)?c.letters:[...String(c.letters)],i=a.length;0<=n;)e=a[n%i]+e,n=Math.floor(n/i)-1;return e}default:return t}},value:function(){return T},settings:function(){return c},currentThumbValue:function(){return void 0!==d&&d.hasClass("second")?P.secondThumbVal:P.thumbVal},thumbValue:function(e){return"second"!==e?P.thumbVal:P.is.range()?P.secondThumbVal:void P.error(s.notrange)},multiplier:function(){return c.pageMultiplier},thumbPosition:function(e){return"second"!==e?x:P.is.range()?y:void P.error(s.notrange)},gapRatio:function(){let t=1;if(c.autoAdjustLabels){var n=P.get.numLabels(),a=P.is.prime(n)?1:0,i=P.get.trackLength();let e=1;if(0<i)for(;i/n*e<c.labelDistance;)(n+a)%e&&"fixed"!==c.autoAdjustLabels||(t=e),e+=1}return t}},determine:{pos:function(e){return P.is.reversed()?P.get.trackStartPos()-e+P.get.trackOffset():e-P.get.trackOffset()-P.get.trackStartPos()},closestThumb:function(e){var t=Number.parseFloat(P.determine.thumbPos(g)),t=Math.abs(e-t),n=Number.parseFloat(P.determine.thumbPos(v)),e=Math.abs(e-n);return(t!==e||P.get.thumbValue()!==P.get.min())&&t<=e?g:v},closestThumbPos:function(e){var t=Number.parseFloat(P.determine.thumbPos(g)),n=Math.abs(e-t),a=Number.parseFloat(P.determine.thumbPos(v));return n<=Math.abs(e-a)?t:a},thumbPos:function(e){return P.is.vertical()?P.is.reversed()?e.css("bottom"):e.css("top"):P.is.reversed()?e.css("right"):e.css("left")},positionFromValue:function(e){var t=P.get.min(),n=P.get.max(),e=n<e?n:Math.max(e,t),a=P.get.trackLength(),n=Math.round((e-t)/(n-t)*a);return P.verbose("Determined position: "+n+" from value: "+e),n},positionFromRatio:function(e){var t=P.get.trackLength(),n=P.get.step(),t=Math.round(e*t),n=0===n?t:Math.round(t/n)*n;return P.verbose("Determined position: "+t+" from ratio: "+e),n},valueFromEvent:function(e){var e=P.determine.eventPos(e),t=P.determine.pos(e);let n;return n=e<P.get.trackOffset()?P.is.reversed()?P.get.max():P.get.min():e>P.get.trackOffset()+P.get.trackLength()?P.is.reversed()?P.get.min():P.get.max():P.determine.value(t)},smoothValueFromEvent:function(e){var t=P.get.min(),n=P.get.max(),a=P.get.trackLength();let i=P.determine.eventPos(e)-P.get.trackOffset(),o;return i=i<0?0:Math.min(i,a),o=i/a,(o=P.is.reversed()?1-o:o)*(n-t)+t},eventPos:function(t){if("touchmove"===t.type||"touchend"===t.type){var n=t.touches?t:t.originalEvent;let e=n.changedTouches[0];for(const i of n.touches)if(i.identifier===m){e=i;break}var n=e.pageY,a=e.pageX;return P.is.vertical()?n:a}n=t.pageY||t.originalEvent.pageY,a=t.pageX||t.originalEvent.pageX;return P.is.vertical()?n:a},value:function(e){var t=P.get.precision(),n=P.is.reversed()?P.get.trackEndPos():P.get.trackStartPos(),n=(e-n)/((P.is.reversed()?P.get.trackStartPos():P.get.trackEndPos())-n),a=P.get.max()-P.get.min(),i=P.get.step(),n=n*a,a=0===i?n:Math.round(n/i)*i;return P.verbose("Determined value based upon position: "+e+" as: "+n),n!=a&&P.verbose("Rounding value to closest step: "+a),P.verbose("Cutting off additional decimal places"),Math.round((a+P.get.min())*t)/t},keyMovement:function(e){var e=e.which,t=!P.is.vertical()||P.is.reversed()?o.downArrow:o.upArrow,n=!P.is.vertical()||P.is.reversed()?o.upArrow:o.downArrow,a=!P.is.vertical()&&P.is.reversed()?o.rightArrow:o.leftArrow,i=!P.is.vertical()&&P.is.reversed()?o.leftArrow:o.rightArrow;return e===t||e===a?-1:e===n||e===i?1:e===o.pageDown?-2:e===o.pageUp?2:0}},handleNewValuePosition:function(e){var t=P.get.min(),n=P.get.max();return e<=t?e=t:n<=e&&(e=n),P.determine.positionFromValue(e)},set:{active:function(a,i){if(c.highlightRange){var e;i<a&&(e=i,i=a,a=e);const t=b.find(".label");t.each(function(e){const t=z(this);var n=t.attr("data-value");n&&(n=Number.parseInt(n,10),a<=n&&n<=i?t.addClass(l.active):t.removeClass(l.active))})}},value:function(a,i){i=!1!==i;const o=void 0===R;R=void 0===R?P.get.value():R,P.update.value(a,function(e,t,n){L&&!c.fireOnInit||!i||(a!==R&&c.onChange.call(p,e,t,n),c.onMove.call(p,e,t,n)),o&&(R=void 0)})},rangeValue:function(e,t,n){var a,i,o;n=!1!==n,P.is.range()?(a=P.get.min(),i=P.get.max(),o=void 0===R,R=void 0===R?P.get.value():R,e<=a?e=a:i<=e&&(e=i),t<=a?t=a:i<=t&&(t=i),P.thumbVal=e,P.secondThumbVal=t,T=Math.abs(P.thumbVal-P.secondThumbVal),P.update.position(P.thumbVal,g),P.update.position(P.secondThumbVal,v),L&&!c.fireOnInit||!n||(T!==R&&c.onChange.call(p,T,P.thumbVal,P.secondThumbVal),c.onMove.call(p,T,P.thumbVal,P.secondThumbVal)),o&&(R=void 0)):P.error(s.notrange)},position:function(e,t){e=P.determine.value(e);"second"===t?(P.secondThumbVal=e,P.update.position(e,v)):(P.thumbVal=e,P.update.position(e,g)),T=Math.abs(P.thumbVal-(P.secondThumbVal||0)),P.set.value(T)}},update:{value:function(e,t){var n=P.get.min(),a=P.get.max();e<=n?e=n:a<=e&&(e=a),P.is.range()?((d=void 0===d?e<=P.get.currentThumbValue()?g:v:d).hasClass("second")?(c.preventCrossover&&P.is.range()&&(e=Math.max(P.thumbVal+(c.minRange||0),e)),P.secondThumbVal=e):(c.preventCrossover&&P.is.range()&&(e=Math.min(P.secondThumbVal-(c.minRange||0),e)),P.thumbVal=e),T=Math.abs(P.thumbVal-P.secondThumbVal)):(T=e,P.thumbVal=T),P.update.position(e),P.debug("Setting slider value to "+T),"function"==typeof t&&t(T,P.thumbVal,P.secondThumbVal)},position:function(e,t){var n=P.handleNewValuePosition(e);const a=t||d;let i=P.thumbVal||P.get.min(),o=P.secondThumbVal||P.get.min();c.showThumbTooltip&&(t=P.get.precision(),a.attr("data-tooltip",Math.round(e*t)/t)),P.is.range()&&a.hasClass("second")?(y=n,o=e):(x=n,i=e),P.set.active(i,o);let r,s;var t=P.get.min(),l=P.get.max(),e=(e-t)/(l-t)*100,u=(Math.min(i,o)-t)/(l-t)*100,l=100*(1-(Math.max(i,o)-t)/(l-t));r=P.is.vertical()?P.is.reversed()?(s={bottom:"calc("+e+"% - "+w+"px)",top:"auto"},{bottom:u+"%",top:l+"%"}):(s={top:"calc("+e+"% - "+w+"px)",bottom:"auto"},{top:u+"%",bottom:l+"%"}):P.is.reversed()?(s={right:"calc("+e+"% - "+w+"px)",left:"auto"},{right:u+"%",left:l+"%"}):(s={left:"calc("+e+"% - "+w+"px)",right:"auto"},{left:u+"%",right:l+"%"}),a.css(s),h.css(r),P.debug("Setting slider position to "+n)},labelPosition:function(e,t){var n=P.get.trackStartMargin(),a=P.get.trackEndMargin(),i=P.is.vertical()?P.is.reversed()?"bottom":"top":P.is.reversed()?"right":"left",o=P.is.reversed()&&!P.is.vertical()?" - ":" + ";t.css(i,"calc("+("(100% - "+n+" - "+a+") * "+e)+o+n+")")}},goto:{max:function(){P.set.value(P.get.max())},min:function(){P.set.value(P.get.min())}},read:{metadata:function(){var e={thumbVal:u.data(t.thumbVal),secondThumbVal:u.data(t.secondThumbVal)};e.thumbVal&&(P.is.range()&&e.secondThumbVal?(P.debug("Current value set from metadata",e.thumbVal,e.secondThumbVal),P.set.rangeValue(e.thumbVal,e.secondThumbVal)):(P.debug("Current value set from metadata",e.thumbVal),P.set.value(e.thumbVal)))},settings:function(){var e;!1!==c.start&&(P.is.range()?(((e=c.end-c.start)<0||c.minRange&&e<c.minRange||c.maxRange&&e>c.maxRange||c.minRange&&c.maxRange&&c.minRange>c.maxRange)&&P.error(s.invalidRanges,c.start,c.end,c.minRange,c.maxRange),P.debug("Start position set from settings",c.start,c.end),P.set.rangeValue(c.start,c.end)):(P.debug("Start position set from settings",c.start),P.set.value(c.start)))}},setting:function(e,t){if(P.debug("Changing setting",e,t),z.isPlainObject(e))z.extend(!0,c,e);else{if(void 0===t)return c[e];z.isPlainObject(c[e])?z.extend(!0,c[e],t):c[e]=t}P.clear.cache()},internal:function(e,t){if(z.isPlainObject(e))z.extend(!0,P,e);else{if(void 0===t)return P[e];P[e]=t}},debug:function(...e){!c.silent&&c.debug&&(c.performance?P.performance.log(e):(P.debug=Function.prototype.bind.call(console.info,console,c.name+":"),P.debug.apply(console,e)))},verbose:function(...e){!c.silent&&c.verbose&&c.debug&&(c.performance?P.performance.log(e):(P.verbose=Function.prototype.bind.call(console.info,console,c.name+":"),P.verbose.apply(console,e)))},error:function(...e){c.silent||(P.error=Function.prototype.bind.call(console.error,console,c.name+":"),P.error.apply(console,e))},performance:{log:function(e){var t,n;c.performance&&(n=(t=Date.now())-(A||t),A=t,S.push({Name:e[0],Arguments:e.slice(1),Element:p,"Execution Time":n})),clearTimeout(P.performance.timer),P.performance.timer=setTimeout(function(){P.performance.display()},500)},display:function(){var e=c.name+":";let n=0;A=!1,clearTimeout(P.performance.timer),z.each(S,function(e,t){n+=t["Execution Time"]}),e+=" "+n+"ms",0<S.length&&(console.groupCollapsed(e),console.table(S),console.groupEnd()),S=[]}},invoke:function(a,e=N,t=p){let i=V,o,r,n;return"string"==typeof a&&void 0!==i&&(a=a.split(/[ .]/),o=a.length-1,z.each(a,function(e,t){var n=e!==o?t+a[e+1].charAt(0).toUpperCase()+a[e+1].slice(1):a;if(z.isPlainObject(i[n])&&e!==o)i=i[n];else{if(void 0!==i[n])return r=i[n],!1;{if(!z.isPlainObject(i[t])||e===o)return void 0!==i[t]?r=i[t]:P.error(s.method,a),!1;i=i[t]}}})),B(r)?n=r.apply(t,e):void 0!==r&&(n=r),Array.isArray(I)?I.push(n):void 0!==I?I=[I,n]:void 0!==n&&(I=n),r}};O?(void 0===V&&P.initialize(),P.invoke(F)):(void 0!==V&&V.invoke("destroy"),P.initialize())}),void 0!==I?I:this},z.fn.slider.settings={silent:!1,debug:!1,verbose:!1,performance:!0,name:"Slider",namespace:"slider",error:{method:"The method you called is not defined.",notrange:"This slider is not a range slider",invalidRanges:"Invalid range settings (start/end/minRange/maxRange)",invalidLetterNumber:'Negative values or decimal places for labelType: "letter" are not supported'},metadata:{thumbVal:"thumbVal",secondThumbVal:"secondThumbVal"},min:0,max:20,step:1,start:0,end:20,minRange:!1,maxRange:!1,labelType:"number",showLabelTicks:!1,smooth:!1,autoAdjustLabels:!0,labelDistance:100,preventCrossover:!0,fireOnInit:!1,interpretLabel:!1,letters:"ABCDEFGHIJKLMNOPQRSTUVWXYZ",decimalPlaces:2,pageMultiplier:2,selector:{},className:{reversed:"reversed",disabled:"disabled",labeled:"labeled",ticked:"ticked",vertical:"vertical",range:"range",smooth:"smooth",label:"label",active:"active"},keys:{pageUp:33,pageDown:34,leftArrow:37,upArrow:38,rightArrow:39,downArrow:40},restrictedLabels:[],highlightRange:!1,showThumbTooltip:!1,tooltipConfig:{position:"top center",variation:"tiny black"},labelTypes:{number:"number",letter:"letter"},onChange:function(e,t,n){},onMove:function(e,t,n){}}}(jQuery,window,document);