pixl-xyapp 2.1.12 → 2.1.14

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.
package/css/base.css CHANGED
@@ -1314,9 +1314,27 @@ body.dark .dialog .multiselect > .item {
1314
1314
  background: rgba(255, 255, 255, 0.1);
1315
1315
  }
1316
1316
 
1317
- .multiselect > .item > i.mdi-close:hover:before {
1317
+ .multiselect > .item > button.mdi {
1318
+ background: none;
1319
+ border: none;
1320
+ padding: 0;
1321
+ margin: 0;
1322
+ font: inherit;
1323
+ cursor: pointer;
1324
+ }
1325
+
1326
+ .multiselect > .item > button.mdi:before {
1327
+ transform: scale(1.20);
1328
+ }
1329
+
1330
+ .multiselect > .item > button.mdi:focus-visible {
1331
+ outline: 2px solid var(--theme-color);
1332
+ outline-offset: -2px;
1333
+ }
1334
+
1335
+ .multiselect > .item > button.mdi-close:hover:before {
1318
1336
  content: "\F0159"; /* mdi-close-circle */
1319
- color: var(--theme-color);
1337
+ color: var(--red);
1320
1338
  }
1321
1339
 
1322
1340
  .multiselect > .item.inherited {
package/js/select.js CHANGED
@@ -358,7 +358,7 @@ var MultiSelect = {
358
358
  }
359
359
  else if (opt.selected) {
360
360
  // item is selected
361
- var html = '<i class="mdi mdi-close">&nbsp;</i>';
361
+ var html = '<button class="mdi mdi-close" aria-label="Remove Item: ' + encode_attrib_entities(opt.label) + '">&nbsp;</button>';
362
362
  if (opt.getAttribute && opt.getAttribute('data-icon')) {
363
363
  html += '<i class="mdi mdi-' + opt.getAttribute('data-icon') + '">&nbsp;</i>';
364
364
  }
@@ -372,8 +372,10 @@ var MultiSelect = {
372
372
  if (num_sel) $ms.append( '<div class="clear"></div>' );
373
373
  else $ms.append( '<div class="placeholder">' + ($this.attr('placeholder') || 'Click to select...') + '</div>' );
374
374
 
375
- $ms.find('div.item > i.mdi-close').on('click', function(e) {
375
+ $ms.find('div.item > button.mdi-close').on('click keydown', function(e) {
376
376
  // user clicked on the 'X' -- remove this item and redraw
377
+ if (e.key && (e.key != 'Enter') && (e.key != ' ')) return;
378
+
377
379
  var $item = $(this).parent();
378
380
  var value = $item.data('value');
379
381
  for (var idx = 0, len = self.options.length; idx < len; idx++) {
@@ -411,7 +413,7 @@ var MultiSelect = {
411
413
  $this.on('redraw', redraw);
412
414
 
413
415
  // allow keyboard to open menu
414
- $ms.on('keydown', function(event) {
416
+ $ms.on('keypress', function(event) {
415
417
  if ((event.key == 'Enter') || (event.key == ' ')) {
416
418
  $ms.click();
417
419
  event.preventDefault();
@@ -776,7 +778,7 @@ var TextSelect = {
776
778
  for (var idx = 0, len = self.options.length; idx < len; idx++) {
777
779
  var opt = self.options[idx];
778
780
  var $item = $('<div class="item"></div>').data('value', opt.value).html(
779
- '<i class="mdi mdi-close">&nbsp;</i>' + opt.label
781
+ '<button class="mdi mdi-close" aria-label="Remove Item: ' + encode_attrib_entities(opt.label) + '">&nbsp;</button>' + opt.label
780
782
  );
781
783
  $ms.append( $item );
782
784
  num_sel++;
@@ -785,8 +787,10 @@ var TextSelect = {
785
787
  if (num_sel) $ms.append( '<div class="clear"></div>' );
786
788
  else $ms.append( '<div class="placeholder">' + ($this.attr('placeholder') || 'Click to add...') + '</div>' );
787
789
 
788
- $ms.find('div.item > i').on('click', function(e) {
790
+ $ms.find('div.item > button.mdi').on('click keydown', function(e) {
789
791
  // user clicked on the 'X' -- remove this item and redraw
792
+ if (e.key && (e.key != 'Enter') && (e.key != ' ')) return;
793
+
790
794
  var $item = $(this).parent();
791
795
  var value = $item.data('value');
792
796
 
@@ -809,7 +813,7 @@ var TextSelect = {
809
813
  $this.on('redraw', redraw);
810
814
 
811
815
  // allow keyboard to open menu
812
- $ms.on('keydown', function(event) {
816
+ $ms.on('keypress', function(event) {
813
817
  if ((event.key == 'Enter') || (event.key == ' ')) {
814
818
  $ms.click();
815
819
  event.preventDefault();
@@ -968,7 +972,7 @@ var KeySelect = {
968
972
  for (var idx = 0, len = self.options.length; idx < len; idx++) {
969
973
  var opt = self.options[idx];
970
974
  var $item = $('<div class="item"></div>').data('value', opt.value).html(
971
- '<i class="mdi mdi-close">&nbsp;</i>' + opt.label
975
+ '<button class="mdi mdi-close" aria-label="Remove Key: ' + encode_attrib_entities(opt.label) + '">&nbsp;</button>' + opt.label
972
976
  );
973
977
  $ms.append( $item );
974
978
  num_sel++;
@@ -977,8 +981,10 @@ var KeySelect = {
977
981
  if (num_sel) $ms.append( '<div class="clear"></div>' );
978
982
  else $ms.append( '<div class="placeholder">' + ($this.attr('placeholder') || 'Click to add...') + '</div>' );
979
983
 
980
- $ms.find('div.item > i').on('click', function(e) {
984
+ $ms.find('div.item > button.mdi').on('click keydown', function(e) {
981
985
  // user clicked on the 'X' -- remove this item and redraw
986
+ if (e.key && (e.key != 'Enter') && (e.key != ' ')) return;
987
+
982
988
  var $item = $(this).parent();
983
989
  var value = $item.data('value');
984
990
 
@@ -1001,7 +1007,7 @@ var KeySelect = {
1001
1007
  $this.on('redraw', redraw);
1002
1008
 
1003
1009
  // allow keyboard to open menu
1004
- $ms.on('keydown', function(event) {
1010
+ $ms.on('keypress', function(event) {
1005
1011
  if ((event.key == 'Enter') || (event.key == ' ')) {
1006
1012
  $ms.click();
1007
1013
  event.preventDefault();
@@ -1056,12 +1062,6 @@ var KeySelect = {
1056
1062
 
1057
1063
  var $input = $('#fe_sel_dialog_text').focus().on('keydown', function(event) {
1058
1064
  // capture keydown
1059
- // if (event.keyCode == 27) {
1060
- // event.preventDefault();
1061
- // event.stopPropagation();
1062
- // Popover.detach();
1063
- // return;
1064
- // }
1065
1065
  if ((event.keyCode == 13) && this.value.length) {
1066
1066
  event.preventDefault();
1067
1067
  event.stopPropagation();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pixl-xyapp",
3
- "version": "2.1.12",
3
+ "version": "2.1.14",
4
4
  "description": "Front-end web application and theme for xyOps.",
5
5
  "author": "Joseph Huckaby <jhuckaby@pixlcore.com>",
6
6
  "homepage": "https://github.com/pixlcore/pixl-xyapp",