fomantic-ui-sass 2.8.2 → 2.8.3

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 (33) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/fonts/semantic-ui/brand-icons.eot +0 -0
  3. data/app/assets/fonts/semantic-ui/brand-icons.svg +836 -636
  4. data/app/assets/fonts/semantic-ui/brand-icons.ttf +0 -0
  5. data/app/assets/fonts/semantic-ui/brand-icons.woff +0 -0
  6. data/app/assets/fonts/semantic-ui/brand-icons.woff2 +0 -0
  7. data/app/assets/fonts/semantic-ui/icons.eot +0 -0
  8. data/app/assets/fonts/semantic-ui/icons.svg +492 -341
  9. data/app/assets/fonts/semantic-ui/icons.ttf +0 -0
  10. data/app/assets/fonts/semantic-ui/icons.woff +0 -0
  11. data/app/assets/fonts/semantic-ui/icons.woff2 +0 -0
  12. data/app/assets/fonts/semantic-ui/outline-icons.eot +0 -0
  13. data/app/assets/fonts/semantic-ui/outline-icons.svg +14 -10
  14. data/app/assets/fonts/semantic-ui/outline-icons.ttf +0 -0
  15. data/app/assets/fonts/semantic-ui/outline-icons.woff +0 -0
  16. data/app/assets/fonts/semantic-ui/outline-icons.woff2 +0 -0
  17. data/app/assets/javascripts/semantic-ui/checkbox.js +1 -1
  18. data/app/assets/javascripts/semantic-ui/dropdown.js +37 -40
  19. data/app/assets/javascripts/semantic-ui/form.js +19 -9
  20. data/app/assets/javascripts/semantic-ui/popup.js +2 -2
  21. data/app/assets/javascripts/semantic-ui/search.js +2 -2
  22. data/app/assets/javascripts/semantic-ui/slider.js +6 -6
  23. data/app/assets/javascripts/semantic-ui/toast.js +2 -2
  24. data/app/assets/stylesheets/semantic-ui/collections/_form.scss +31 -0
  25. data/app/assets/stylesheets/semantic-ui/collections/_table.scss +16 -6
  26. data/app/assets/stylesheets/semantic-ui/elements/_icon.scss +36 -4
  27. data/app/assets/stylesheets/semantic-ui/elements/_input.scss +20 -20
  28. data/app/assets/stylesheets/semantic-ui/modules/_dimmer.scss +9 -9
  29. data/app/assets/stylesheets/semantic-ui/modules/_dropdown.scss +1 -0
  30. data/app/assets/stylesheets/semantic-ui/modules/_modal.scss +3 -0
  31. data/app/assets/stylesheets/semantic-ui/modules/_popup.scss +34 -7
  32. data/lib/fomantic/ui/sass/version.rb +2 -2
  33. metadata +1 -1
@@ -1,8 +1,12 @@
1
1
  <?xml version="1.0" standalone="no"?>
2
+ <!--
3
+ Font Awesome Free 5.11.2 by @fontawesome - https://fontawesome.com
4
+ License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
5
+ -->
2
6
  <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
3
7
  <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
4
8
  <metadata>
5
- Created by FontForge 20190112 at Mon Jan 28 12:50:36 2019
9
+ Created by FontForge 20190801 at Mon Sep 23 12:53:49 2019
6
10
  By Robert Madole
7
11
  Copyright (c) Font Awesome
8
12
  </metadata>
@@ -18,7 +22,7 @@ Copyright (c) Font Awesome
18
22
  descent="-64"
19
23
  bbox="-0.0663408 -64.0662 640.01 448.1"
20
24
  underline-thickness="25"
21
- underline-position="-51"
25
+ underline-position="-50"
22
26
  unicode-range="U+0020-F5C8"
23
27
  />
24
28
  <missing-glyph />
@@ -54,7 +58,7 @@ d="M336 448c26.5098 0 48 -21.4902 48 -48v-464l-192 112l-192 -112v464c0 26.5098 2
54
58
  d="M464 384c26.5098 0 48 -21.4902 48 -48v-288c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h416zM458 48c3.31152 0 6 2.68848 6 6v276c0 3.31152 -2.68848 6 -6 6h-404c-3.31152 0 -6 -2.68848 -6 -6v-276
55
59
  c0 -3.31152 2.68848 -6 6 -6h404zM128 296c22.0908 0 40 -17.9092 40 -40s-17.9092 -40 -40 -40s-40 17.9092 -40 40s17.9092 40 40 40zM96 96v48l39.5137 39.5146c4.6875 4.68652 12.2852 4.68652 16.9717 0l39.5146 -39.5146l119.514 119.515
56
60
  c4.6875 4.68652 12.2852 4.68652 16.9717 0l87.5146 -87.5146v-80h-320z" />
57
- <glyph glyph-name="edit" unicode="&#xf044;" horiz-adv-x="575"
61
+ <glyph glyph-name="edit" unicode="&#xf044;" horiz-adv-x="576"
58
62
  d="M402.3 103.1l32 32c5 5 13.7002 1.5 13.7002 -5.69922v-145.4c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h273.5c7.09961 0 10.7002 -8.59961 5.7002 -13.7002l-32 -32c-1.5 -1.5 -3.5 -2.2998 -5.7002 -2.2998h-241.5v-352h352
59
63
  v113.5c0 2.09961 0.799805 4.09961 2.2998 5.59961zM558.9 304.9l-262.601 -262.601l-90.3994 -10c-26.2002 -2.89941 -48.5 19.2002 -45.6006 45.6006l10 90.3994l262.601 262.601c22.8994 22.8994 59.8994 22.8994 82.6992 0l43.2002 -43.2002
60
64
  c22.9004 -22.9004 22.9004 -60 0.100586 -82.7998zM460.1 274l-58.0996 58.0996l-185.8 -185.899l-7.2998 -65.2998l65.2998 7.2998zM524.9 353.7l-43.2002 43.2002c-4.10059 4.09961 -10.7998 4.09961 -14.7998 0l-30.9004 -30.9004l58.0996 -58.0996l30.9004 30.8994
@@ -97,7 +101,7 @@ l20.6006 -21.7998l-10.6006 -28.0996c-5.5 -14.5 -12.5996 -28.1006 -19.8994 -40.20
97
101
  <glyph glyph-name="folder" unicode="&#xf07b;"
98
102
  d="M464 320c26.5098 0 48 -21.4902 48 -48v-224c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h146.74c8.49023 0 16.6299 -3.37012 22.6299 -9.37012l54.6299 -54.6299h192zM464 48v224h-198.62
99
103
  c-8.49023 0 -16.6299 3.37012 -22.6299 9.37012l-54.6299 54.6299h-140.12v-288h416z" />
100
- <glyph glyph-name="folder-open" unicode="&#xf07c;" horiz-adv-x="575"
104
+ <glyph glyph-name="folder-open" unicode="&#xf07c;" horiz-adv-x="576"
101
105
  d="M527.9 224c37.6992 0 60.6992 -41.5 40.6992 -73.4004l-79.8994 -128c-8.7998 -14.0996 -24.2002 -22.5996 -40.7002 -22.5996h-400c-26.5 0 -48 21.5 -48 48v288c0 26.5 21.5 48 48 48h160l64 -64h160c26.5 0 48 -21.5 48 -48v-48h47.9004zM48 330v-233.4l62.9004 104.2
102
106
  c8.69922 14.4004 24.2998 23.2002 41.0996 23.2002h280v42c0 3.2998 -2.7002 6 -6 6h-173.9l-64 64h-134.1c-3.2998 0 -6 -2.7002 -6 -6zM448 48l80 128h-378.8l-77.2002 -128h376z" />
103
107
  <glyph glyph-name="chart-bar" unicode="&#xf080;"
@@ -113,7 +117,7 @@ c0.400391 0.399414 22.4004 24.1992 37.7002 54.8994c-27.5 27.2002 -44 61.2002 -44
113
117
  l19.7998 -4.5c16 -3.69922 32.5 -5.59961 49 -5.59961c86.7002 0 160 51.2998 160 112s-73.2998 112 -160 112s-160 -51.2998 -160 -112c0 -28.7002 16.2002 -50.5996 29.7002 -64l24.7998 -24.5l-15.5 -31.0996c-2.59961 -5.10059 -5.2998 -10.1006 -8 -14.8008
114
118
  c14.5996 5.10059 29 12.3008 43.0996 21.4004zM498.3 96c13.5 13.4004 29.7002 35.2998 29.7002 64c0 49.2002 -48.2998 91.5 -112.7 106c0.299805 -3.2998 0.700195 -6.59961 0.700195 -10c0 -80.9004 -78 -147.5 -179.3 -158.3
115
119
  c29.0996 -29.6006 77.2998 -49.7002 131.3 -49.7002c16.5 0 33 1.90039 49 5.59961l19.9004 4.60059l17.0996 -11.1006c14.0996 -9.09961 28.5 -16.2998 43.0996 -21.3994c-2.69922 4.7002 -5.39941 9.7002 -8 14.7998l-15.5 31.0996z" />
116
- <glyph glyph-name="star-half" unicode="&#xf089;" horiz-adv-x="308"
120
+ <glyph glyph-name="star-half" unicode="&#xf089;" horiz-adv-x="576"
117
121
  d="M288 62.7002v-54.2998l-130.7 -68.6006c-23.3994 -12.2998 -50.8994 7.60059 -46.3994 33.7002l25 145.5l-105.7 103c-19 18.5 -8.5 50.7998 17.7002 54.5996l146.1 21.2002l65.2998 132.4c5.90039 11.8994 17.2998 17.7998 28.7002 17.7998v-68.0996l-62.2002 -126
118
122
  l-139 -20.2002l100.601 -98l-23.7002 -138.4z" />
119
123
  <glyph glyph-name="lemon" unicode="&#xf094;"
@@ -137,7 +141,7 @@ c8.58398 0 16.373 -3.04785 22.1201 -8h2.67871c6.96387 0 14.8623 6.19336 30.1816
137
141
  v-0.0839844c0 -6.21777 -0.974609 -16.2148 -2.17578 -22.3154h86.1768zM428.8 192c18.9756 0 35.2002 16.2246 35.2002 35.2002c0 18.7002 -16.7754 35.2002 -35.2002 35.2002h-158.399c0 17.3242 26.3994 35.1992 26.3994 70.3994c0 26.4004 -20.625 35.2002 -44 35.2002
138
142
  c-8.79395 0 -20.4443 -32.7119 -34.9258 -56.0996c-9.07422 -14.5752 -19.5244 -27.2256 -30.7988 -39.875c-16.1094 -18.374 -33.8359 -36.6328 -59.0752 -39.5967v-176.753c42.79 -3.7627 74.5088 -39.6758 120 -39.6758h21.2988
139
143
  c40.5244 0 57.124 22.1973 50.6006 61.3252c14.6113 8.00098 24.1514 33.9785 12.9248 53.625c19.3652 18.2246 17.7871 46.3809 4.9502 61.0498h91.0254zM88 64c0 13.2549 -10.7451 24 -24 24s-24 -10.7451 -24 -24s10.7451 -24 24 -24s24 10.7451 24 24z" />
140
- <glyph glyph-name="hand-point-left" unicode="&#xf0a5;" horiz-adv-x="511"
144
+ <glyph glyph-name="hand-point-left" unicode="&#xf0a5;"
141
145
  d="M0 227.2c0 45.0986 38.1006 83.2002 83.2002 83.2002h86.1758c-1.3623 6.91016 -2.17578 14.374 -2.17578 22.3994c0 47.9141 35.0723 83.2002 92 83.2002c45.3135 0 57.002 -48.5371 75.7061 -78.7852c7.73438 -12.4121 16.9951 -23.3154 25.8506 -33.2529
142
146
  l0.130859 -0.145508l0.128906 -0.148438c15.3213 -17.4746 23.2197 -23.668 30.1836 -23.668h2.67871c5.74707 4.95215 13.5361 8 22.1201 8h64c17.6729 0 32 -12.8936 32 -28.7998v-230.4c0 -15.9062 -14.3271 -28.7998 -32 -28.7998h-64
143
147
  c-8.58398 0 -16.373 3.04785 -22.1201 8h-2.67871c-28.6885 0 -67.1367 -40 -127.2 -40h-21.2988c-62.542 0 -98.8008 38.6582 -99.9404 91.1445c-12.4814 17.8135 -18.4922 40.7852 -15.9844 62.791c-2.96094 5.8125 -6.51367 15.6973 -7.92969 22.0645h-35.6465
@@ -261,14 +265,14 @@ h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416z" />
261
265
  d="M288 200v-28c0 -6.59961 -5.40039 -12 -12 -12h-168c-6.59961 0 -12 5.40039 -12 12v28c0 6.59961 5.40039 12 12 12h168c6.59961 0 12 -5.40039 12 -12zM276 128c6.59961 0 12 -5.40039 12 -12v-28c0 -6.59961 -5.40039 -12 -12 -12h-168c-6.59961 0 -12 5.40039 -12 12
262
266
  v28c0 6.59961 5.40039 12 12 12h168zM384 316.1v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996l83.9004 -83.9004c9 -8.90039 14.0996 -21.2002 14.0996 -33.9004z
263
267
  M256 396.1v-76.0996h76.0996zM336 -16v288h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416h288z" />
264
- <glyph glyph-name="thumbs-up" unicode="&#xf164;" horiz-adv-x="480"
268
+ <glyph glyph-name="thumbs-up" unicode="&#xf164;"
265
269
  d="M466.27 161.31c4.6748 -22.6465 0.864258 -44.5371 -8.98926 -62.9893c2.95898 -23.8682 -4.02148 -48.5654 -17.3398 -66.9902c-0.954102 -55.9072 -35.8232 -95.3301 -112.94 -95.3301c-7 0 -15 0.00976562 -22.2197 0.00976562
266
270
  c-102.742 0 -133.293 38.9395 -177.803 39.9404c-3.56934 -13.7764 -16.085 -23.9502 -30.9775 -23.9502h-64c-17.6729 0 -32 14.3271 -32 32v240c0 17.6729 14.3271 32 32 32h98.7598c19.1455 16.9531 46.0137 60.6533 68.7598 83.4004
267
271
  c13.667 13.667 10.1533 108.6 71.7607 108.6c57.5801 0 95.2695 -31.9355 95.2695 -104.73c0 -18.4092 -3.92969 -33.7295 -8.84961 -46.5391h36.4795c48.6025 0 85.8203 -41.5654 85.8203 -85.5801c0 -19.1504 -4.95996 -34.9902 -13.7305 -49.8408zM404.52 107.48
268
272
  c21.5811 20.3838 18.6992 51.0645 5.21094 65.6191c9.44922 0 22.3594 18.9102 22.2695 37.8105c-0.0898438 18.9102 -16.71 37.8203 -37.8203 37.8203h-103.989c0 37.8193 28.3594 55.3691 28.3594 94.5391c0 23.75 0 56.7305 -47.2695 56.7305
269
273
  c-18.9102 -18.9102 -9.45996 -66.1797 -37.8203 -94.54c-26.5596 -26.5703 -66.1797 -97.46 -94.54 -97.46h-10.9199v-186.17c53.6113 0 100.001 -37.8203 171.64 -37.8203h37.8203c35.5117 0 60.8203 17.1201 53.1201 65.9004
270
274
  c15.2002 8.16016 26.5 36.4395 13.9395 57.5703zM88 16c0 13.2549 -10.7451 24 -24 24s-24 -10.7451 -24 -24s10.7451 -24 24 -24s24 10.7451 24 24z" />
271
- <glyph glyph-name="thumbs-down" unicode="&#xf165;" horiz-adv-x="480"
275
+ <glyph glyph-name="thumbs-down" unicode="&#xf165;"
272
276
  d="M466.27 222.69c8.77051 -14.8506 13.7305 -30.6904 13.7305 -49.8408c0 -44.0146 -37.2178 -85.5801 -85.8203 -85.5801h-36.4795c4.91992 -12.8096 8.84961 -28.1299 8.84961 -46.5391c0 -72.7949 -37.6895 -104.73 -95.2695 -104.73
273
277
  c-61.6074 0 -58.0938 94.9326 -71.7607 108.6c-22.7461 22.7471 -49.6133 66.4473 -68.7598 83.4004h-7.05176c-5.5332 -9.56152 -15.8662 -16 -27.708 -16h-64c-17.6729 0 -32 14.3271 -32 32v240c0 17.6729 14.3271 32 32 32h64c8.11328 0 15.5146 -3.02539 21.1553 -8
274
278
  h10.8447c40.9971 0 73.1953 39.9902 176.78 39.9902c7.21973 0 15.2197 0.00976562 22.2197 0.00976562c77.1172 0 111.986 -39.4229 112.94 -95.3301c13.3184 -18.4248 20.2979 -43.1221 17.3398 -66.9902c9.85352 -18.4521 13.6641 -40.3428 8.98926 -62.9893zM64 152
@@ -282,7 +286,7 @@ c-11.0996 7.5 -17.7998 20 -17.7998 33.5s6.59961 26 17.7998 33.5996l59.7998 40.5l
282
286
  l40.4004 -59.8994l70.8994 13.6992c13 2.60059 26.6006 -1.59961 36.2002 -11.0996c9.5 -9.59961 13.7002 -23.2002 11.0996 -36.4004l-13.6992 -71zM381.3 140.5l76.7998 52.0996l-76.7998 52l17.6006 91.1006l-91 -17.6006l-51.9004 76.9004l-51.7998 -76.7998
283
287
  l-91 17.5996l17.5996 -91.2002l-76.7998 -52l76.7998 -52l-17.5996 -91.1992l90.8994 17.5996l51.9004 -77l51.9004 76.9004l91 -17.6006zM256 296c57.2998 0 104 -46.7002 104 -104s-46.7002 -104 -104 -104s-104 46.7002 -104 104s46.7002 104 104 104zM256 136
284
288
  c30.9004 0 56 25.0996 56 56s-25.0996 56 -56 56s-56 -25.0996 -56 -56s25.0996 -56 56 -56z" />
285
- <glyph glyph-name="moon" unicode="&#xf186;" horiz-adv-x="511"
289
+ <glyph glyph-name="moon" unicode="&#xf186;"
286
290
  d="M279.135 -64c-141.424 0 -256 114.64 -256 256c0 141.425 114.641 256 256 256c13.0068 -0.00195312 33.9443 -1.91797 46.7354 -4.27734c44.0205 -8.13086 53.7666 -66.8691 15.0215 -88.9189c-41.374 -23.5439 -67.4336 -67.4121 -67.4336 -115.836
287
291
  c0 -83.5234 75.9238 -146.475 158.272 -130.792c43.6904 8.32129 74.5186 -42.5693 46.248 -77.4004c-47.8613 -58.9717 -120.088 -94.7754 -198.844 -94.7754zM279.135 400c-114.875 0 -208 -93.125 -208 -208s93.125 -208 208 -208
288
292
  c65.2314 0 123.439 30.0361 161.575 77.0244c-111.611 -21.2568 -215.252 64.0957 -215.252 177.943c0 67.5127 36.9326 126.392 91.6934 157.555c-12.3271 2.27637 -25.0312 3.47754 -38.0166 3.47754z" />
@@ -730,7 +734,7 @@ c-3.69922 0 -7 2.60059 -7.7998 6.2002c-0.899414 3.7998 1.10059 7.7002 4.7002 9.2
730
734
  c12.9004 5.5 20.7002 13.5 20.7002 21.5s-7.7998 16 -20.7998 21.5l-16.9004 7.19922c-3.59961 1.5 -5.59961 5.40039 -4.7002 9.2002c0.799805 3.7998 4.40039 6.60059 8.2002 6.2002c42.7002 -2.5 71.5 -24.7998 71.5 -44zM328 296
731
735
  c23.7998 0 52.7002 -29.2998 55.7998 -71.4004c0.299805 -3.7998 -2 -7.19922 -5.59961 -8.2998c-3.10059 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996c-12.3008 0 -23.8008 -7.89941 -31.5 -21.5996l-9.5 -17
732
736
  c-1.80078 -3.2002 -5.80078 -4.7002 -9.30078 -3.7002c-3.59961 1.10059 -5.89941 4.60059 -5.59961 8.2998c3.2998 42.1006 32.2002 71.4004 56 71.4004z" />
733
- <glyph glyph-name="kiss-wink-heart" unicode="&#xf598;" horiz-adv-x="503"
737
+ <glyph glyph-name="kiss-wink-heart" unicode="&#xf598;" horiz-adv-x="504"
734
738
  d="M304 139.5c0 -13 -13.4004 -27.2998 -35.0996 -36.4004c21.7998 -8.69922 35.1992 -23 35.1992 -36c0 -19.1992 -28.6992 -41.5 -71.5 -44h-0.5c-3.69922 0 -7 2.60059 -7.7998 6.2002c-0.899414 3.7998 1.10059 7.7002 4.7002 9.2002l17 7.2002
735
739
  c12.9004 5.5 20.7002 13.5 20.7002 21.5s-7.7998 16 -20.7998 21.5l-16.9004 7.2002c-6 2.59961 -5.7002 12.3994 0 14.7998l17 7.2002c12.9004 5.5 20.7002 13.5 20.7002 21.5s-7.7998 16 -20.7998 21.5l-16.9004 7.19922c-3.59961 1.5 -5.59961 5.40039 -4.7002 9.2002
736
740
  c0.799805 3.7998 4.40039 6.60059 8.2002 6.2002c42.7002 -2.5 71.5 -24.7998 71.5 -44zM374.5 223c-14.7998 13.2002 -46.2002 13.2002 -61 0l-9.5 -8.5c-2.5 -2.2998 -7.90039 -4.7002 -13.7002 -1.59961c-4.39941 2.39941 -6.89941 7.39941 -6.09961 12.3994
@@ -175,7 +175,7 @@ $.fn.checkbox = function(parameters) {
175
175
  },
176
176
 
177
177
  preventDefaultOnInputTarget: function() {
178
- if(typeof event !== 'undefined' && $(event.target).is(selector.input)) {
178
+ if(typeof event !== 'undefined' && event !== null && $(event.target).is(selector.input)) {
179
179
  module.verbose('Preventing default check action after manual check action');
180
180
  event.preventDefault();
181
181
  }
@@ -31,6 +31,10 @@ $.fn.dropdown = function(parameters) {
31
31
  moduleSelector = $allModules.selector || '',
32
32
 
33
33
  hasTouch = ('ontouchstart' in document.documentElement),
34
+ clickEvent = hasTouch
35
+ ? 'touchstart'
36
+ : 'click',
37
+
34
38
  time = new Date().getTime(),
35
39
  performance = [],
36
40
 
@@ -565,27 +569,10 @@ $.fn.dropdown = function(parameters) {
565
569
 
566
570
  bind: {
567
571
  events: function() {
568
- if(hasTouch) {
569
- module.bind.touchEvents();
570
- }
571
572
  module.bind.keyboardEvents();
572
573
  module.bind.inputEvents();
573
574
  module.bind.mouseEvents();
574
575
  },
575
- touchEvents: function() {
576
- module.debug('Touch device detected binding additional touch events');
577
- if( module.is.searchSelection() ) {
578
- // do nothing special yet
579
- }
580
- else if( module.is.single() ) {
581
- $module
582
- .on('touchstart' + eventNamespace, module.event.test.toggle)
583
- ;
584
- }
585
- $menu
586
- .on('touchstart' + eventNamespace, selector.item, module.event.item.mouseenter)
587
- ;
588
- },
589
576
  keyboardEvents: function() {
590
577
  module.verbose('Binding keyboard events');
591
578
  $module
@@ -612,8 +599,8 @@ $.fn.dropdown = function(parameters) {
612
599
  module.verbose('Binding mouse events');
613
600
  if(module.is.multiple()) {
614
601
  $module
615
- .on('click' + eventNamespace, selector.label, module.event.label.click)
616
- .on('click' + eventNamespace, selector.remove, module.event.remove.click)
602
+ .on(clickEvent + eventNamespace, selector.label, module.event.label.click)
603
+ .on(clickEvent + eventNamespace, selector.remove, module.event.remove.click)
617
604
  ;
618
605
  }
619
606
  if( module.is.searchSelection() ) {
@@ -622,24 +609,24 @@ $.fn.dropdown = function(parameters) {
622
609
  .on('mouseup' + eventNamespace, module.event.mouseup)
623
610
  .on('mousedown' + eventNamespace, selector.menu, module.event.menu.mousedown)
624
611
  .on('mouseup' + eventNamespace, selector.menu, module.event.menu.mouseup)
625
- .on('click' + eventNamespace, selector.icon, module.event.icon.click)
626
- .on('click' + eventNamespace, selector.clearIcon, module.event.clearIcon.click)
612
+ .on(clickEvent + eventNamespace, selector.icon, module.event.icon.click)
613
+ .on(clickEvent + eventNamespace, selector.clearIcon, module.event.clearIcon.click)
627
614
  .on('focus' + eventNamespace, selector.search, module.event.search.focus)
628
- .on('click' + eventNamespace, selector.search, module.event.search.focus)
615
+ .on(clickEvent + eventNamespace, selector.search, module.event.search.focus)
629
616
  .on('blur' + eventNamespace, selector.search, module.event.search.blur)
630
- .on('click' + eventNamespace, selector.text, module.event.text.focus)
617
+ .on(clickEvent + eventNamespace, selector.text, module.event.text.focus)
631
618
  ;
632
619
  if(module.is.multiple()) {
633
620
  $module
634
- .on('click' + eventNamespace, module.event.click)
621
+ .on(clickEvent + eventNamespace, module.event.click)
635
622
  ;
636
623
  }
637
624
  }
638
625
  else {
639
626
  if(settings.on == 'click') {
640
627
  $module
641
- .on('click' + eventNamespace, selector.icon, module.event.icon.click)
642
- .on('click' + eventNamespace, module.event.test.toggle)
628
+ .on(clickEvent + eventNamespace, selector.icon, module.event.icon.click)
629
+ .on(clickEvent + eventNamespace, module.event.test.toggle)
643
630
  ;
644
631
  }
645
632
  else if(settings.on == 'hover') {
@@ -657,7 +644,7 @@ $.fn.dropdown = function(parameters) {
657
644
  .on('mousedown' + eventNamespace, module.event.mousedown)
658
645
  .on('mouseup' + eventNamespace, module.event.mouseup)
659
646
  .on('focus' + eventNamespace, module.event.focus)
660
- .on('click' + eventNamespace, selector.clearIcon, module.event.clearIcon.click)
647
+ .on(clickEvent + eventNamespace, selector.clearIcon, module.event.clearIcon.click)
661
648
  ;
662
649
  if(module.has.menuSearch() ) {
663
650
  $module
@@ -671,7 +658,7 @@ $.fn.dropdown = function(parameters) {
671
658
  }
672
659
  }
673
660
  $menu
674
- .on('mouseenter' + eventNamespace, selector.item, module.event.item.mouseenter)
661
+ .on((hasTouch ? 'touchstart' : 'mouseenter') + eventNamespace, selector.item, module.event.item.mouseenter)
675
662
  .on('mouseleave' + eventNamespace, selector.item, module.event.item.mouseleave)
676
663
  .on('click' + eventNamespace, selector.item, module.event.item.click)
677
664
  ;
@@ -685,7 +672,7 @@ $.fn.dropdown = function(parameters) {
685
672
  ;
686
673
  }
687
674
  $document
688
- .on('click' + elementNamespace, module.event.test.hide)
675
+ .on(clickEvent + elementNamespace, module.event.test.hide)
689
676
  ;
690
677
  }
691
678
  },
@@ -700,7 +687,7 @@ $.fn.dropdown = function(parameters) {
700
687
  ;
701
688
  }
702
689
  $document
703
- .off('click' + elementNamespace)
690
+ .off(clickEvent + elementNamespace)
704
691
  ;
705
692
  }
706
693
  },
@@ -848,6 +835,10 @@ $.fn.dropdown = function(parameters) {
848
835
  text,
849
836
  value
850
837
  ;
838
+ if($choice.hasClass(className.unfilterable)) {
839
+ results.push(this);
840
+ return true;
841
+ }
851
842
  if(settings.match === 'both' || settings.match === 'text') {
852
843
  text = module.remove.diacritics(String(module.get.choiceText($choice, false)));
853
844
  if(text.search(beginsWithRegExp) !== -1) {
@@ -1017,7 +1008,7 @@ $.fn.dropdown = function(parameters) {
1017
1008
  var
1018
1009
  value = settings.templates.deQuote(item[fields.value]),
1019
1010
  name = settings.templates.escape(
1020
- item[fields.name] || item[fields.value],
1011
+ item[fields.name] || '',
1021
1012
  settings.preserveHTML
1022
1013
  )
1023
1014
  ;
@@ -1975,6 +1966,9 @@ $.fn.dropdown = function(parameters) {
1975
1966
  value = ( $option.attr('value') !== undefined )
1976
1967
  ? $option.attr('value')
1977
1968
  : name,
1969
+ text = ( $option.data(metadata.text) !== undefined )
1970
+ ? $option.data(metadata.text)
1971
+ : name,
1978
1972
  group = $option.parent('optgroup')
1979
1973
  ;
1980
1974
  if(settings.placeholder === 'auto' && value === '') {
@@ -1992,6 +1986,7 @@ $.fn.dropdown = function(parameters) {
1992
1986
  select.values.push({
1993
1987
  name : name,
1994
1988
  value : value,
1989
+ text : text,
1995
1990
  disabled : disabled
1996
1991
  });
1997
1992
  }
@@ -2080,7 +2075,7 @@ $.fn.dropdown = function(parameters) {
2080
2075
  return;
2081
2076
  }
2082
2077
  if(isMultiple) {
2083
- if($.inArray( String(optionValue), value) !== -1) {
2078
+ if($.inArray(module.escape.htmlEntities(String(optionValue)), value) !== -1) {
2084
2079
  $selectedItem = ($selectedItem)
2085
2080
  ? $selectedItem.add($choice)
2086
2081
  : $choice
@@ -2099,7 +2094,7 @@ $.fn.dropdown = function(parameters) {
2099
2094
  optionValue = optionValue.toLowerCase();
2100
2095
  value = value.toLowerCase();
2101
2096
  }
2102
- if( String(optionValue) == String(value)) {
2097
+ if(module.escape.htmlEntities(String(optionValue)) === module.escape.htmlEntities(String(value))) {
2103
2098
  module.verbose('Found select item by value', optionValue, value);
2104
2099
  $selectedItem = $choice;
2105
2100
  return true;
@@ -3072,6 +3067,7 @@ $.fn.dropdown = function(parameters) {
3072
3067
  values = module.get.values(),
3073
3068
  newValue
3074
3069
  ;
3070
+ removedValue = module.escape.htmlEntities(removedValue);
3075
3071
  if( module.has.selectInput() ) {
3076
3072
  module.verbose('Input is <select> removing selected option', removedValue);
3077
3073
  newValue = module.remove.arrayValue(removedValue, values);
@@ -3661,10 +3657,9 @@ $.fn.dropdown = function(parameters) {
3661
3657
  },
3662
3658
  htmlEntities: function(string) {
3663
3659
  var
3664
- badChars = /[&<>"'`]/g,
3660
+ badChars = /[<>"'`]/g,
3665
3661
  shouldEscape = /[&<>"'`]/,
3666
3662
  escape = {
3667
- "&": "&amp;",
3668
3663
  "<": "&lt;",
3669
3664
  ">": "&gt;",
3670
3665
  '"': "&quot;",
@@ -3676,6 +3671,7 @@ $.fn.dropdown = function(parameters) {
3676
3671
  }
3677
3672
  ;
3678
3673
  if(shouldEscape.test(string)) {
3674
+ string = string.replace(/&(?![a-z0-9#]{1,6};)/, "&amp;");
3679
3675
  return string.replace(badChars, escapedChar);
3680
3676
  }
3681
3677
  return string;
@@ -4072,7 +4068,8 @@ $.fn.dropdown.settings = {
4072
4068
  delete : 'delete',
4073
4069
  header : 'header',
4074
4070
  divider : 'divider',
4075
- groupIcon : ''
4071
+ groupIcon : '',
4072
+ unfilterable : 'unfilterable'
4076
4073
  }
4077
4074
 
4078
4075
  };
@@ -4087,10 +4084,9 @@ $.fn.dropdown.settings.templates = {
4087
4084
  return string;
4088
4085
  }
4089
4086
  var
4090
- badChars = /[&<>"'`]/g,
4087
+ badChars = /[<>"'`]/g,
4091
4088
  shouldEscape = /[&<>"'`]/,
4092
4089
  escape = {
4093
- "&": "&amp;",
4094
4090
  "<": "&lt;",
4095
4091
  ">": "&gt;",
4096
4092
  '"': "&quot;",
@@ -4102,6 +4098,7 @@ $.fn.dropdown.settings.templates = {
4102
4098
  }
4103
4099
  ;
4104
4100
  if(shouldEscape.test(string)) {
4101
+ string = string.replace(/&(?![a-z0-9#]{1,6};)/, "&amp;");
4105
4102
  return string.replace(badChars, escapedChar);
4106
4103
  }
4107
4104
  return string;
@@ -4157,10 +4154,10 @@ $.fn.dropdown.settings.templates = {
4157
4154
  if(option[fields.icon]) {
4158
4155
  html += '<i class="'+deQuote(option[fields.icon])+' '+(option[fields.iconClass] ? deQuote(option[fields.iconClass]) : className.icon)+'"></i>';
4159
4156
  }
4160
- html += escape(option[fields.name] || option[fields.value],preserveHTML);
4157
+ html += escape(option[fields.name] || '', preserveHTML);
4161
4158
  html += '</div>';
4162
4159
  } else if (itemType === 'header') {
4163
- var groupName = escape(option[fields.name],preserveHTML),
4160
+ var groupName = escape(option[fields.name] || '', preserveHTML),
4164
4161
  groupIcon = option[fields.icon] ? deQuote(option[fields.icon]) : className.groupIcon
4165
4162
  ;
4166
4163
  if(groupName !== '' || groupIcon !== '') {
@@ -818,26 +818,36 @@ $.fn.form = function(parameters) {
818
818
  module.add.field(name, rules);
819
819
  },
820
820
  field: function(name, rules) {
821
+ // Validation should have at least a standard format
822
+ if(validation[name] === undefined || validation[name].rules === undefined) {
823
+ validation[name] = {
824
+ rules: []
825
+ };
826
+ }
821
827
  var
822
- newValidation = {}
828
+ newValidation = {
829
+ rules: []
830
+ }
823
831
  ;
824
832
  if(module.is.shorthandRules(rules)) {
825
833
  rules = Array.isArray(rules)
826
834
  ? rules
827
835
  : [rules]
828
836
  ;
829
- newValidation[name] = {
830
- rules: []
831
- };
832
- $.each(rules, function(index, rule) {
833
- newValidation[name].rules.push({ type: rule });
837
+ $.each(rules, function(_index, rule) {
838
+ newValidation.rules.push({ type: rule });
834
839
  });
835
840
  }
836
841
  else {
837
- newValidation[name] = rules;
842
+ newValidation.rules = rules.rules;
838
843
  }
839
- validation = $.extend({}, validation, newValidation);
840
- module.debug('Adding rules', newValidation, validation);
844
+ // For each new rule, check if there's not already one with the same type
845
+ $.each(newValidation.rules, function (_index, rule) {
846
+ if ($.grep(validation[name].rules, function(item){ return item.type == rule.type; }).length == 0) {
847
+ validation[name].rules.push(rule);
848
+ }
849
+ });
850
+ module.debug('Adding rules', newValidation.rules, validation);
841
851
  },
842
852
  fields: function(fields) {
843
853
  var
@@ -1496,10 +1496,9 @@ $.fn.popup.settings = {
1496
1496
  templates: {
1497
1497
  escape: function(string) {
1498
1498
  var
1499
- badChars = /[&<>"'`]/g,
1499
+ badChars = /[<>"'`]/g,
1500
1500
  shouldEscape = /[&<>"'`]/,
1501
1501
  escape = {
1502
- "&": "&amp;",
1503
1502
  "<": "&lt;",
1504
1503
  ">": "&gt;",
1505
1504
  '"': "&quot;",
@@ -1511,6 +1510,7 @@ $.fn.popup.settings = {
1511
1510
  }
1512
1511
  ;
1513
1512
  if(shouldEscape.test(string)) {
1513
+ string = string.replace(/&(?![a-z0-9#]{1,6};)/, "&amp;");
1514
1514
  return string.replace(badChars, escapedChar);
1515
1515
  }
1516
1516
  return string;
@@ -1369,10 +1369,9 @@ $.fn.search.settings = {
1369
1369
  return string;
1370
1370
  }
1371
1371
  var
1372
- badChars = /[&<>"'`]/g,
1372
+ badChars = /[<>"'`]/g,
1373
1373
  shouldEscape = /[&<>"'`]/,
1374
1374
  escape = {
1375
- "&": "&amp;",
1376
1375
  "<": "&lt;",
1377
1376
  ">": "&gt;",
1378
1377
  '"': "&quot;",
@@ -1384,6 +1383,7 @@ $.fn.search.settings = {
1384
1383
  }
1385
1384
  ;
1386
1385
  if(shouldEscape.test(string)) {
1386
+ string = string.replace(/&(?![a-z0-9#]{1,6};)/, "&amp;");
1387
1387
  return string.replace(badChars, escapedChar);
1388
1388
  }
1389
1389
  return string;
@@ -325,7 +325,7 @@ $.fn.slider = function(parameters) {
325
325
  newPos = module.determine.pos(eventPos)
326
326
  ;
327
327
  // Special handling if range mode and both thumbs have the same value
328
- if(module.is.range() && settings.preventCrossover && module.thumbVal === module.secondThumbVal) {
328
+ if(settings.preventCrossover && module.is.range() && module.thumbVal === module.secondThumbVal) {
329
329
  initialPosition = newPos;
330
330
  $currThumb = undefined;
331
331
  } else {
@@ -353,13 +353,13 @@ $.fn.slider = function(parameters) {
353
353
  thumbSmoothVal = module.determine.smoothValueFromEvent(event)
354
354
  ;
355
355
  if(!$currThumb.hasClass('second')) {
356
- if(settings.preventCrossover) {
356
+ if(settings.preventCrossover && module.is.range()) {
357
357
  value = Math.min(secondThumbVal, value);
358
358
  thumbSmoothVal = Math.min(secondThumbVal, thumbSmoothVal);
359
359
  }
360
360
  thumbVal = value;
361
361
  } else {
362
- if(settings.preventCrossover) {
362
+ if(settings.preventCrossover && module.is.range()) {
363
363
  value = Math.max(thumbVal, value);
364
364
  thumbSmoothVal = Math.max(thumbVal, thumbSmoothVal);
365
365
  }
@@ -381,7 +381,7 @@ $.fn.slider = function(parameters) {
381
381
  module.unbind.slidingEvents();
382
382
  },
383
383
  keydown: function(event, first) {
384
- if(module.is.range() && settings.preventCrossover && module.thumbVal === module.secondThumbVal) {
384
+ if(settings.preventCrossover && module.is.range() && module.thumbVal === module.secondThumbVal) {
385
385
  $currThumb = undefined;
386
386
  }
387
387
  if(module.is.focused()) {
@@ -926,12 +926,12 @@ $.fn.slider = function(parameters) {
926
926
  $currThumb = newValue <= module.get.currentThumbValue() ? $thumb : $secondThumb;
927
927
  }
928
928
  if(!$currThumb.hasClass('second')) {
929
- if(settings.preventCrossover) {
929
+ if(settings.preventCrossover && module.is.range()) {
930
930
  newValue = Math.min(module.secondThumbVal, newValue);
931
931
  }
932
932
  module.thumbVal = newValue;
933
933
  } else {
934
- if(settings.preventCrossover) {
934
+ if(settings.preventCrossover && module.is.range()) {
935
935
  newValue = Math.max(module.thumbVal, newValue);
936
936
  }
937
937
  module.secondThumbVal = newValue;