@wcardinal/wcardinal-ui 0.396.0 → 0.397.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 (159) hide show
  1. package/dist/types/wcardinal/ui/d-base.d.ts +1 -3
  2. package/dist/types/wcardinal/ui/d-button-base.d.ts +8 -8
  3. package/dist/types/wcardinal/ui/d-button-color-gradient.d.ts +2 -2
  4. package/dist/types/wcardinal/ui/d-button-color.d.ts +2 -2
  5. package/dist/types/wcardinal/ui/d-button-date.d.ts +2 -2
  6. package/dist/types/wcardinal/ui/d-button-datetime.d.ts +2 -2
  7. package/dist/types/wcardinal/ui/d-button-file.d.ts +2 -2
  8. package/dist/types/wcardinal/ui/d-button-link.d.ts +3 -3
  9. package/dist/types/wcardinal/ui/d-button-redo.d.ts +2 -2
  10. package/dist/types/wcardinal/ui/d-button-select.d.ts +2 -2
  11. package/dist/types/wcardinal/ui/d-button-time.d.ts +2 -2
  12. package/dist/types/wcardinal/ui/d-button-undo.d.ts +2 -2
  13. package/dist/types/wcardinal/ui/d-canvas-container.d.ts +3 -3
  14. package/dist/types/wcardinal/ui/d-chart-plot-area-impl.d.ts +3 -3
  15. package/dist/types/wcardinal/ui/d-chart-selection-simple.d.ts +5 -5
  16. package/dist/types/wcardinal/ui/d-diagram-canvas-base.d.ts +0 -1
  17. package/dist/types/wcardinal/ui/d-diagram-canvas.d.ts +13 -13
  18. package/dist/types/wcardinal/ui/d-diagram.d.ts +1 -3
  19. package/dist/types/wcardinal/ui/d-dropdown-base.d.ts +2 -2
  20. package/dist/types/wcardinal/ui/d-expandable-header.d.ts +2 -2
  21. package/dist/types/wcardinal/ui/d-html-element.d.ts +3 -3
  22. package/dist/types/wcardinal/ui/d-link.d.ts +1 -2
  23. package/dist/types/wcardinal/ui/d-list-item.d.ts +4 -4
  24. package/dist/types/wcardinal/ui/d-menu-bar-item.d.ts +2 -2
  25. package/dist/types/wcardinal/ui/d-menu-item-base.d.ts +4 -4
  26. package/dist/types/wcardinal/ui/d-menu-item-check.d.ts +2 -2
  27. package/dist/types/wcardinal/ui/d-menu-item-link.d.ts +3 -3
  28. package/dist/types/wcardinal/ui/d-menu-item-menu.d.ts +2 -2
  29. package/dist/types/wcardinal/ui/d-menu-item-text.d.ts +2 -2
  30. package/dist/types/wcardinal/ui/d-pane.d.ts +2 -2
  31. package/dist/types/wcardinal/ui/d-picker-color-gradient-view.d.ts +2 -2
  32. package/dist/types/wcardinal/ui/d-picker-color-gradient.d.ts +1 -2
  33. package/dist/types/wcardinal/ui/d-picker-color.d.ts +1 -2
  34. package/dist/types/wcardinal/ui/d-scroll-bar-horizontal.d.ts +1 -2
  35. package/dist/types/wcardinal/ui/d-scroll-bar-vertical.d.ts +1 -2
  36. package/dist/types/wcardinal/ui/d-shadow.d.ts +2 -1
  37. package/dist/types/wcardinal/ui/d-slider.d.ts +1 -3
  38. package/dist/types/wcardinal/ui/d-table-body-cell-button.d.ts +5 -5
  39. package/dist/types/wcardinal/ui/d-table-body-cell-check.d.ts +3 -3
  40. package/dist/types/wcardinal/ui/d-table-body-cell-input-tree.d.ts +2 -2
  41. package/dist/types/wcardinal/ui/d-table-body-cell-link.d.ts +3 -3
  42. package/dist/types/wcardinal/ui/d-table-body-cell-select-dialog.d.ts +2 -2
  43. package/dist/types/wcardinal/ui/d-table-body-cell-select-promise.d.ts +2 -2
  44. package/dist/types/wcardinal/ui/d-table-body-cell-tree.d.ts +4 -4
  45. package/dist/types/wcardinal/ui/d-table-body-cell.d.ts +2 -2
  46. package/dist/types/wcardinal/ui/d-table-body.d.ts +2 -3
  47. package/dist/types/wcardinal/ui/d-table-header-cell.d.ts +1 -2
  48. package/dist/types/wcardinal/ui/d-table.d.ts +1 -2
  49. package/dist/types/wcardinal/ui/d-tree-item-button.d.ts +5 -5
  50. package/dist/types/wcardinal/ui/d-tree-item-non-editable.d.ts +2 -2
  51. package/dist/types/wcardinal/ui/d-tree-item-text.d.ts +2 -2
  52. package/dist/types/wcardinal/ui/d-view-gesture-impl.d.ts +2 -2
  53. package/dist/types/wcardinal/ui/d-view-impl.d.ts +5 -5
  54. package/dist/types/wcardinal/ui/shape/action/e-shape-action-runtime-base.d.ts +1 -3
  55. package/dist/types/wcardinal/ui/shape/action/e-shape-action-runtime-gesture-layer.d.ts +1 -2
  56. package/dist/types/wcardinal/ui/shape/action/e-shape-action-runtime-gesture-shape.d.ts +1 -2
  57. package/dist/types/wcardinal/ui/shape/action/e-shape-action-runtime-misc-html-element-base.d.ts +1 -3
  58. package/dist/types/wcardinal/ui/shape/action/e-shape-action-runtime.d.ts +1 -3
  59. package/dist/types/wcardinal/ui/shape/e-shape-runtime-impl.d.ts +1 -3
  60. package/dist/types/wcardinal/ui/shape/e-shape-runtime.d.ts +1 -3
  61. package/dist/types/wcardinal/ui/shape/variant/e-shape-button-runtime.d.ts +2 -2
  62. package/dist/types/wcardinal/ui/util/util-click-outside.d.ts +1 -2
  63. package/dist/types/wcardinal/ui/util/util-gesture-data.d.ts +1 -3
  64. package/dist/types/wcardinal/ui/util/util-gesture-modifiers.d.ts +2 -2
  65. package/dist/types/wcardinal/ui/util/util-gesture.d.ts +1 -2
  66. package/dist/types/wcardinal/ui/util/util-html-element.d.ts +4 -4
  67. package/dist/types/wcardinal/ui/util/util-pointer-event.d.ts +2 -3
  68. package/dist/wcardinal/ui/d-application-layer.js.map +1 -1
  69. package/dist/wcardinal/ui/d-base.js.map +1 -1
  70. package/dist/wcardinal/ui/d-button-base.js +5 -3
  71. package/dist/wcardinal/ui/d-button-base.js.map +1 -1
  72. package/dist/wcardinal/ui/d-button-color-gradient.js.map +1 -1
  73. package/dist/wcardinal/ui/d-button-color.js.map +1 -1
  74. package/dist/wcardinal/ui/d-button-date.js.map +1 -1
  75. package/dist/wcardinal/ui/d-button-datetime.js.map +1 -1
  76. package/dist/wcardinal/ui/d-button-file.js.map +1 -1
  77. package/dist/wcardinal/ui/d-button-link.js.map +1 -1
  78. package/dist/wcardinal/ui/d-button-redo.js.map +1 -1
  79. package/dist/wcardinal/ui/d-button-select.js.map +1 -1
  80. package/dist/wcardinal/ui/d-button-time.js.map +1 -1
  81. package/dist/wcardinal/ui/d-button-undo.js.map +1 -1
  82. package/dist/wcardinal/ui/d-canvas-container.js.map +1 -1
  83. package/dist/wcardinal/ui/d-chart-plot-area-impl.js.map +1 -1
  84. package/dist/wcardinal/ui/d-chart-selection-simple.js.map +1 -1
  85. package/dist/wcardinal/ui/d-diagram-canvas-base.js +2 -1
  86. package/dist/wcardinal/ui/d-diagram-canvas-base.js.map +1 -1
  87. package/dist/wcardinal/ui/d-diagram-canvas.js.map +1 -1
  88. package/dist/wcardinal/ui/d-diagram.js.map +1 -1
  89. package/dist/wcardinal/ui/d-dropdown-base.js.map +1 -1
  90. package/dist/wcardinal/ui/d-expandable-header.js.map +1 -1
  91. package/dist/wcardinal/ui/d-html-element.js.map +1 -1
  92. package/dist/wcardinal/ui/d-link.js +1 -2
  93. package/dist/wcardinal/ui/d-link.js.map +1 -1
  94. package/dist/wcardinal/ui/d-list-item.js.map +1 -1
  95. package/dist/wcardinal/ui/d-menu-bar-item.js.map +1 -1
  96. package/dist/wcardinal/ui/d-menu-item-base.js.map +1 -1
  97. package/dist/wcardinal/ui/d-menu-item-check.js.map +1 -1
  98. package/dist/wcardinal/ui/d-menu-item-link.js.map +1 -1
  99. package/dist/wcardinal/ui/d-menu-item-menu.js.map +1 -1
  100. package/dist/wcardinal/ui/d-menu-item-text.js.map +1 -1
  101. package/dist/wcardinal/ui/d-pane.js.map +1 -1
  102. package/dist/wcardinal/ui/d-picker-color-gradient-view.js +7 -4
  103. package/dist/wcardinal/ui/d-picker-color-gradient-view.js.map +1 -1
  104. package/dist/wcardinal/ui/d-picker-color-gradient.js.map +1 -1
  105. package/dist/wcardinal/ui/d-picker-color.js.map +1 -1
  106. package/dist/wcardinal/ui/d-scroll-bar-horizontal.js.map +1 -1
  107. package/dist/wcardinal/ui/d-scroll-bar-vertical.js.map +1 -1
  108. package/dist/wcardinal/ui/d-shadow.js.map +1 -1
  109. package/dist/wcardinal/ui/d-slider.js.map +1 -1
  110. package/dist/wcardinal/ui/d-table-body-cell-button.js.map +1 -1
  111. package/dist/wcardinal/ui/d-table-body-cell-check.js.map +1 -1
  112. package/dist/wcardinal/ui/d-table-body-cell-input-tree.js.map +1 -1
  113. package/dist/wcardinal/ui/d-table-body-cell-link.js.map +1 -1
  114. package/dist/wcardinal/ui/d-table-body-cell-select-dialog.js.map +1 -1
  115. package/dist/wcardinal/ui/d-table-body-cell-select-promise.js.map +1 -1
  116. package/dist/wcardinal/ui/d-table-body-cell-tree.js.map +1 -1
  117. package/dist/wcardinal/ui/d-table-body-cell.js.map +1 -1
  118. package/dist/wcardinal/ui/d-table-body.js.map +1 -1
  119. package/dist/wcardinal/ui/d-table-header-cell.js +1 -2
  120. package/dist/wcardinal/ui/d-table-header-cell.js.map +1 -1
  121. package/dist/wcardinal/ui/d-table.js.map +1 -1
  122. package/dist/wcardinal/ui/d-tree-item-button.js.map +1 -1
  123. package/dist/wcardinal/ui/d-tree-item-non-editable.js.map +1 -1
  124. package/dist/wcardinal/ui/d-tree-item-text.js.map +1 -1
  125. package/dist/wcardinal/ui/d-view-gesture-impl.js.map +1 -1
  126. package/dist/wcardinal/ui/d-view-impl.js.map +1 -1
  127. package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-base.js.map +1 -1
  128. package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-gesture-layer.js +1 -2
  129. package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-gesture-layer.js.map +1 -1
  130. package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-gesture-shape.js +1 -2
  131. package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-gesture-shape.js.map +1 -1
  132. package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-misc-html-element-base.js.map +1 -1
  133. package/dist/wcardinal/ui/shape/action/e-shape-action-runtime.js.map +1 -1
  134. package/dist/wcardinal/ui/shape/e-shape-runtime-impl.js.map +1 -1
  135. package/dist/wcardinal/ui/shape/e-shape-runtime.js.map +1 -1
  136. package/dist/wcardinal/ui/shape/variant/e-shape-button-runtime.js.map +1 -1
  137. package/dist/wcardinal/ui/util/util-click-outside.js.map +1 -1
  138. package/dist/wcardinal/ui/util/util-gesture-data.js.map +1 -1
  139. package/dist/wcardinal/ui/util/util-gesture-modifiers.js.map +1 -1
  140. package/dist/wcardinal/ui/util/util-gesture.js.map +1 -1
  141. package/dist/wcardinal/ui/util/util-html-element.js.map +1 -1
  142. package/dist/wcardinal/ui/util/util-pointer-event.js.map +1 -1
  143. package/dist/wcardinal-ui-theme-dark-en-us.js +1 -1
  144. package/dist/wcardinal-ui-theme-dark-en-us.min.js +1 -1
  145. package/dist/wcardinal-ui-theme-dark-ja-jp.js +1 -1
  146. package/dist/wcardinal-ui-theme-dark-ja-jp.min.js +1 -1
  147. package/dist/wcardinal-ui-theme-dark.js +1 -1
  148. package/dist/wcardinal-ui-theme-dark.min.js +1 -1
  149. package/dist/wcardinal-ui-theme-white-en-us.js +1 -1
  150. package/dist/wcardinal-ui-theme-white-en-us.min.js +1 -1
  151. package/dist/wcardinal-ui-theme-white-ja-jp.js +1 -1
  152. package/dist/wcardinal-ui-theme-white-ja-jp.min.js +1 -1
  153. package/dist/wcardinal-ui-theme-white.js +1 -1
  154. package/dist/wcardinal-ui-theme-white.min.js +1 -1
  155. package/dist/wcardinal-ui.cjs.js +18 -16
  156. package/dist/wcardinal-ui.js +18 -16
  157. package/dist/wcardinal-ui.min.js +2 -2
  158. package/dist/wcardinal-ui.min.js.map +1 -1
  159. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"d-menu-item-base.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-menu-item-base.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAGH,OAAO,EAAE,MAAM,EAA8B,MAAM,WAAW,CAAC;AAE/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAW7D;IAIU,iCAA8B;IAGvC,uBAAY,OAAiB;;QAA7B,YACC,kBAAM,OAAO,CAAC,SAEd;QADA,KAAI,CAAC,MAAM,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,mCAAI,IAAI,CAAC;;IACtC,CAAC;IAES,4BAAI,GAAd,UAAe,OAAiB;QAAhC,iBAKC;QAJA,iBAAM,IAAI,YAAC,OAAO,CAAC,CAAC;QACpB,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,UAAC,CAA+B;YAC7D,KAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;IACJ,CAAC;IAES,+BAAO,GAAjB,UAAkB,CAA+B;QAChD,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAC5B,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SACjB;IACF,CAAC;IAED,gCAAQ,GAAR,UAAS,CAA0E;QAClF,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,sBAAI,gCAAK;aAAT;YACC,OAAO,IAAI,CAAC,MAAM,CAAC;QACpB,CAAC;aAED,UAAU,KAAmB;YAC5B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACrB,CAAC;;;OAJA;IAMS,oCAAY,GAAtB,UAAuB,MAAW;QACjC,OAAO,MAAM,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC;IAC3D,CAAC;IAES,oCAAY,GAAtB;QACC,IAAI,MAAM,GAAG,IAAI,CAAC,MAAa,CAAC;QAChC,OAAO,MAAM,EAAE;YACd,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;gBAC9B,OAAO,MAAM,CAAC,SAAS,CAAC;aACxB;YACD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;SACvB;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAES,gCAAQ,GAAlB,UACC,CAA0E;QAE1E,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACvC,IAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,IAAI,SAAS,EAAE;YACd,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SACpB;IACF,CAAC;IAES,iCAAS,GAAnB,UAAoB,CAAgB;QACnC,IAAI,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;YACvC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;SAC1B;QACD,OAAO,iBAAM,SAAS,YAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAES,yCAAiB,GAA3B,UAA4B,CAAgB;QAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;YACpD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO,IAAI,CAAC;SACZ;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAES,+BAAO,GAAjB;QACC,OAAO,eAAe,CAAC;IACxB,CAAC;IACF,oBAAC;AAAD,CAAC,AAhFD,CAIU,MAAM,GA4Ef","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction } from \"pixi.js\";\nimport { DImage, DImageOptions, DThemeImage } from \"./d-image\";\nimport { DMenuItemBaseSelection } from \"./d-menu-item-base-selection\";\nimport { UtilKeyboardEvent } from \"./util/util-keyboard-event\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\n\nexport interface DMenuItemBaseOptions<\n\tVALUE = unknown,\n\tTHEME extends DThemeMenuItemBase = DThemeMenuItemBase\n> extends DImageOptions<string, THEME> {\n\tvalue?: VALUE;\n}\n\nexport interface DThemeMenuItemBase extends DThemeImage<string> {}\n\nexport class DMenuItemBase<\n\tVALUE = unknown,\n\tTHEME extends DThemeMenuItemBase = DThemeMenuItemBase,\n\tOPTIONS extends DMenuItemBaseOptions<VALUE, THEME> = DMenuItemBaseOptions<VALUE, THEME>\n> extends DImage<string, THEME, OPTIONS> {\n\tprotected _value: VALUE | null;\n\n\tconstructor(options?: OPTIONS) {\n\t\tsuper(options);\n\t\tthis._value = options?.value ?? null;\n\t}\n\n\tprotected init(options?: OPTIONS): void {\n\t\tsuper.init(options);\n\t\tthis.on(UtilPointerEvent.tap, (e: interaction.InteractionEvent): void => {\n\t\t\tthis.onClick(e);\n\t\t});\n\t}\n\n\tprotected onClick(e: interaction.InteractionEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tthis.activate(e);\n\t\t}\n\t}\n\n\tactivate(e?: interaction.InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tthis.onSelect(e);\n\t}\n\n\tget value(): VALUE | null {\n\t\treturn this._value;\n\t}\n\n\tset value(value: VALUE | null) {\n\t\tthis._value = value;\n\t}\n\n\tprotected hasSelection(target: any): target is { selection: DMenuItemBaseSelection } {\n\t\treturn target && target.selection && target.selection.add;\n\t}\n\n\tprotected getSelection(): DMenuItemBaseSelection | null {\n\t\tlet parent = this.parent as any;\n\t\twhile (parent) {\n\t\t\tif (this.hasSelection(parent)) {\n\t\t\t\treturn parent.selection;\n\t\t\t}\n\t\t\tparent = parent.parent;\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected onSelect(\n\t\te?: interaction.InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent\n\t): void {\n\t\tthis.emit(\"select\", this._value, this);\n\t\tconst selection = this.getSelection();\n\t\tif (selection) {\n\t\t\tselection.add(this);\n\t\t}\n\t}\n\n\tprotected onKeyDown(e: KeyboardEvent): boolean {\n\t\tif (UtilKeyboardEvent.isActivateKey(e)) {\n\t\t\tthis.onKeyDownActivate(e);\n\t\t}\n\t\treturn super.onKeyDown(e);\n\t}\n\n\tprotected onKeyDownActivate(e: KeyboardEvent): boolean {\n\t\tif (this.state.isActionable && this.state.isFocused) {\n\t\t\tthis.activate(e);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DMenuItemBase\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-menu-item-base.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-menu-item-base.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAGH,OAAO,EAAE,MAAM,EAA8B,MAAM,WAAW,CAAC;AAE/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAW7D;IAIU,iCAA8B;IAGvC,uBAAY,OAAiB;;QAA7B,YACC,kBAAM,OAAO,CAAC,SAEd;QADA,KAAI,CAAC,MAAM,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,mCAAI,IAAI,CAAC;;IACtC,CAAC;IAES,4BAAI,GAAd,UAAe,OAAiB;QAAhC,iBAKC;QAJA,iBAAM,IAAI,YAAC,OAAO,CAAC,CAAC;QACpB,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,UAAC,CAAmB;YACjD,KAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;IACJ,CAAC;IAES,+BAAO,GAAjB,UAAkB,CAAmB;QACpC,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAC5B,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SACjB;IACF,CAAC;IAED,gCAAQ,GAAR,UAAS,CAA8D;QACtE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,sBAAI,gCAAK;aAAT;YACC,OAAO,IAAI,CAAC,MAAM,CAAC;QACpB,CAAC;aAED,UAAU,KAAmB;YAC5B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACrB,CAAC;;;OAJA;IAMS,oCAAY,GAAtB,UAAuB,MAAW;QACjC,OAAO,MAAM,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC;IAC3D,CAAC;IAES,oCAAY,GAAtB;QACC,IAAI,MAAM,GAAG,IAAI,CAAC,MAAa,CAAC;QAChC,OAAO,MAAM,EAAE;YACd,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;gBAC9B,OAAO,MAAM,CAAC,SAAS,CAAC;aACxB;YACD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;SACvB;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAES,gCAAQ,GAAlB,UAAmB,CAA8D;QAChF,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACvC,IAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,IAAI,SAAS,EAAE;YACd,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SACpB;IACF,CAAC;IAES,iCAAS,GAAnB,UAAoB,CAAgB;QACnC,IAAI,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;YACvC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;SAC1B;QACD,OAAO,iBAAM,SAAS,YAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAES,yCAAiB,GAA3B,UAA4B,CAAgB;QAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;YACpD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO,IAAI,CAAC;SACZ;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAES,+BAAO,GAAjB;QACC,OAAO,eAAe,CAAC;IACxB,CAAC;IACF,oBAAC;AAAD,CAAC,AA9ED,CAIU,MAAM,GA0Ef","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent } from \"pixi.js\";\nimport { DImage, DImageOptions, DThemeImage } from \"./d-image\";\nimport { DMenuItemBaseSelection } from \"./d-menu-item-base-selection\";\nimport { UtilKeyboardEvent } from \"./util/util-keyboard-event\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\n\nexport interface DMenuItemBaseOptions<\n\tVALUE = unknown,\n\tTHEME extends DThemeMenuItemBase = DThemeMenuItemBase\n> extends DImageOptions<string, THEME> {\n\tvalue?: VALUE;\n}\n\nexport interface DThemeMenuItemBase extends DThemeImage<string> {}\n\nexport class DMenuItemBase<\n\tVALUE = unknown,\n\tTHEME extends DThemeMenuItemBase = DThemeMenuItemBase,\n\tOPTIONS extends DMenuItemBaseOptions<VALUE, THEME> = DMenuItemBaseOptions<VALUE, THEME>\n> extends DImage<string, THEME, OPTIONS> {\n\tprotected _value: VALUE | null;\n\n\tconstructor(options?: OPTIONS) {\n\t\tsuper(options);\n\t\tthis._value = options?.value ?? null;\n\t}\n\n\tprotected init(options?: OPTIONS): void {\n\t\tsuper.init(options);\n\t\tthis.on(UtilPointerEvent.tap, (e: InteractionEvent): void => {\n\t\t\tthis.onClick(e);\n\t\t});\n\t}\n\n\tprotected onClick(e: InteractionEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tthis.activate(e);\n\t\t}\n\t}\n\n\tactivate(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tthis.onSelect(e);\n\t}\n\n\tget value(): VALUE | null {\n\t\treturn this._value;\n\t}\n\n\tset value(value: VALUE | null) {\n\t\tthis._value = value;\n\t}\n\n\tprotected hasSelection(target: any): target is { selection: DMenuItemBaseSelection } {\n\t\treturn target && target.selection && target.selection.add;\n\t}\n\n\tprotected getSelection(): DMenuItemBaseSelection | null {\n\t\tlet parent = this.parent as any;\n\t\twhile (parent) {\n\t\t\tif (this.hasSelection(parent)) {\n\t\t\t\treturn parent.selection;\n\t\t\t}\n\t\t\tparent = parent.parent;\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected onSelect(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tthis.emit(\"select\", this._value, this);\n\t\tconst selection = this.getSelection();\n\t\tif (selection) {\n\t\t\tselection.add(this);\n\t\t}\n\t}\n\n\tprotected onKeyDown(e: KeyboardEvent): boolean {\n\t\tif (UtilKeyboardEvent.isActivateKey(e)) {\n\t\t\tthis.onKeyDownActivate(e);\n\t\t}\n\t\treturn super.onKeyDown(e);\n\t}\n\n\tprotected onKeyDownActivate(e: KeyboardEvent): boolean {\n\t\tif (this.state.isActionable && this.state.isFocused) {\n\t\t\tthis.activate(e);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DMenuItemBase\";\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"d-menu-item-check.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-menu-item-check.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAGH,OAAO,EAAE,aAAa,EAA4C,MAAM,oBAAoB,CAAC;AAW7F;IAIU,kCAAoC;IAJ9C;;IAsBA,CAAC;IAjBU,6BAAI,GAAd,UAAe,OAAiB;QAC/B,iBAAM,IAAI,YAAC,OAAO,CAAC,CAAC;QACpB,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,EAAE;YACnB,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;SAC3B;IACF,CAAC;IAES,gCAAO,GAAjB;QACC,OAAO,gBAAgB,CAAC;IACzB,CAAC;IAES,iCAAQ,GAAlB,UACC,CAA0E;QAE1E,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC3C,iBAAM,QAAQ,YAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IACF,qBAAC;AAAD,CAAC,AAtBD,CAIU,aAAa,GAkBtB","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction } from \"pixi.js\";\nimport { DMenuItemText, DMenuItemTextOptions, DThemeMenuItemText } from \"./d-menu-item-text\";\n\nexport interface DMenuItemCheckOptions<\n\tVALUE = unknown,\n\tTHEME extends DThemeMenuItemCheck = DThemeMenuItemCheck\n> extends DMenuItemTextOptions<VALUE, THEME> {\n\tcheck: boolean;\n}\n\nexport interface DThemeMenuItemCheck extends DThemeMenuItemText {}\n\nexport class DMenuItemCheck<\n\tVALUE = unknown,\n\tTHEME extends DThemeMenuItemCheck = DThemeMenuItemCheck,\n\tOPTIONS extends DMenuItemCheckOptions<VALUE, THEME> = DMenuItemCheckOptions<VALUE, THEME>\n> extends DMenuItemText<VALUE, THEME, OPTIONS> {\n\tprotected init(options?: OPTIONS): void {\n\t\tsuper.init(options);\n\t\tif (options?.check) {\n\t\t\tthis.state.isActive = true;\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DMenuItemCheck\";\n\t}\n\n\tprotected onSelect(\n\t\te?: interaction.InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent\n\t): void {\n\t\tthis.state.isActive = !this.state.isActive;\n\t\tsuper.onSelect(e);\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-menu-item-check.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-menu-item-check.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAGH,OAAO,EAAE,aAAa,EAA4C,MAAM,oBAAoB,CAAC;AAW7F;IAIU,kCAAoC;IAJ9C;;IAoBA,CAAC;IAfU,6BAAI,GAAd,UAAe,OAAiB;QAC/B,iBAAM,IAAI,YAAC,OAAO,CAAC,CAAC;QACpB,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,EAAE;YACnB,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;SAC3B;IACF,CAAC;IAES,gCAAO,GAAjB;QACC,OAAO,gBAAgB,CAAC;IACzB,CAAC;IAES,iCAAQ,GAAlB,UAAmB,CAA8D;QAChF,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC3C,iBAAM,QAAQ,YAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IACF,qBAAC;AAAD,CAAC,AApBD,CAIU,aAAa,GAgBtB","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent } from \"pixi.js\";\nimport { DMenuItemText, DMenuItemTextOptions, DThemeMenuItemText } from \"./d-menu-item-text\";\n\nexport interface DMenuItemCheckOptions<\n\tVALUE = unknown,\n\tTHEME extends DThemeMenuItemCheck = DThemeMenuItemCheck\n> extends DMenuItemTextOptions<VALUE, THEME> {\n\tcheck: boolean;\n}\n\nexport interface DThemeMenuItemCheck extends DThemeMenuItemText {}\n\nexport class DMenuItemCheck<\n\tVALUE = unknown,\n\tTHEME extends DThemeMenuItemCheck = DThemeMenuItemCheck,\n\tOPTIONS extends DMenuItemCheckOptions<VALUE, THEME> = DMenuItemCheckOptions<VALUE, THEME>\n> extends DMenuItemText<VALUE, THEME, OPTIONS> {\n\tprotected init(options?: OPTIONS): void {\n\t\tsuper.init(options);\n\t\tif (options?.check) {\n\t\t\tthis.state.isActive = true;\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DMenuItemCheck\";\n\t}\n\n\tprotected onSelect(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tthis.state.isActive = !this.state.isActive;\n\t\tsuper.onSelect(e);\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"d-menu-item-link.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-menu-item-link.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAGH,OAAO,EAAE,KAAK,EAA6C,MAAM,UAAU,CAAC;AAG5E,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,EAAE,aAAa,EAA4C,MAAM,oBAAoB,CAAC;AAC7F,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAiB5C;IAIU,iCAAoC;IAJ9C;;IA4EA,CAAC;IArEU,qCAAa,GAAvB,UAAwB,OAAiB;QACxC,IAAI,OAAO,EAAE;YACZ,OAAO;gBACN,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;gBAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;gBACxC,IAAI,EAAE,OAAO,CAAC,IAAI;aAClB,CAAC;SACF;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IAES,6BAAK,GAAf,UAAgB,GAAoC;QAApD,iBAQC;QAPA,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE;YACjC,OAAO,GAAG,CAAC;SACX;aAAM;YACN,OAAO;gBACN,OAAO,GAAG,CAAC,KAAI,CAAC,CAAC;YAClB,CAAC,CAAC;SACF;IACF,CAAC;IAES,iCAAS,GAAnB,UAAoB,OAA8B;QAAlD,iBAOC;QANA,IAAI,OAAO,IAAI,IAAI,EAAE;YACpB,OAAO;gBACN,OAAO,OAAO,CAAC,KAAI,CAAC,CAAC;YACtB,CAAC,CAAC;SACF;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IAES,4BAAI,GAAd,UAAe,OAAiB;QAC/B,iBAAM,IAAI,YAAC,MAAM,CAAC,cAAc,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,sBAAI,+BAAI;aAAR;YACC,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;YACxB,IAAI,MAAM,IAAI,IAAI,EAAE;gBACnB,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACtD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;aACpB;YACD,OAAO,MAAM,CAAC;QACf,CAAC;;;OAAA;IAES,+BAAO,GAAjB,UAAkB,CAA+B;QAChD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;YAChC,iBAAM,OAAO,YAAC,CAAC,CAAC,CAAC;SACjB;IACF,CAAC;IAES,+BAAO,GAAjB;QACC,OAAO,eAAe,CAAC;IACxB,CAAC;IAES,gCAAQ,GAAlB,UACC,CAA0E;QAE1E,iBAAM,QAAQ,YAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IAED,4BAAI,GAAJ,UAAK,WAAoB;QACxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC7B,CAAC;IAES,kCAAU,GAApB,UAAqB,CAAgB;QACpC,iBAAM,UAAU,YAAC,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACF,oBAAC;AAAD,CAAC,AA5ED,CAIU,aAAa,GAwEtB","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction } from \"pixi.js\";\nimport { DLink, DLinkChecker, DLinkOptions, DLinkUrlMaker } from \"./d-link\";\nimport { DLinkMenuItemId } from \"./d-link-menu-item-id\";\nimport { DLinkTarget } from \"./d-link-target\";\nimport { DLinks } from \"./d-links\";\nimport { DMenu, DMenuOptions } from \"./d-menu\";\nimport { DMenuItemText, DMenuItemTextOptions, DThemeMenuItemText } from \"./d-menu-item-text\";\nimport { isString } from \"./util/is-string\";\n\nexport type DMenuItemLinkUrlMaker = (item: DMenuItemLink) => string | null | Promise<string | null>;\nexport type DMenuItemLinkChecker = (item: DMenuItemLink) => boolean | Promise<boolean>;\n\nexport interface DMenuItemLinkOptions<\n\tVALUE = unknown,\n\tTHEME extends DThemeMenuItemLink = DThemeMenuItemLink\n> extends DMenuItemTextOptions<VALUE, THEME> {\n\turl?: string | DMenuItemLinkUrlMaker;\n\ttarget?: DLinkTarget | keyof typeof DLinkTarget;\n\tchecker?: DMenuItemLinkChecker;\n\tmenu?: DMenuOptions<DLinkMenuItemId> | DMenu<DLinkMenuItemId>;\n}\n\nexport interface DThemeMenuItemLink extends DThemeMenuItemText {}\n\nexport class DMenuItemLink<\n\tVALUE = unknown,\n\tTHEME extends DThemeMenuItemLink = DThemeMenuItemLink,\n\tOPTIONS extends DMenuItemLinkOptions<VALUE, THEME> = DMenuItemLinkOptions<VALUE, THEME>\n> extends DMenuItemText<VALUE, THEME, OPTIONS> {\n\tprotected _link?: DLink;\n\n\tprotected toLinkOptions(options?: OPTIONS): DLinkOptions | undefined {\n\t\tif (options) {\n\t\t\treturn {\n\t\t\t\turl: this.toUrl(options.url),\n\t\t\t\ttarget: options.target,\n\t\t\t\tchecker: this.toChecker(options.checker),\n\t\t\t\tmenu: options.menu\n\t\t\t};\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tprotected toUrl(url?: string | DMenuItemLinkUrlMaker): string | DLinkUrlMaker | undefined {\n\t\tif (isString(url) || url == null) {\n\t\t\treturn url;\n\t\t} else {\n\t\t\treturn () => {\n\t\t\t\treturn url(this);\n\t\t\t};\n\t\t}\n\t}\n\n\tprotected toChecker(checker?: DMenuItemLinkChecker): DLinkChecker | undefined {\n\t\tif (checker != null) {\n\t\t\treturn () => {\n\t\t\t\treturn checker(this);\n\t\t\t};\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tprotected init(options?: OPTIONS): void {\n\t\tsuper.init(DLinks.toStateOptions(options?.target, options));\n\t}\n\n\tget link(): DLink {\n\t\tlet result = this._link;\n\t\tif (result == null) {\n\t\t\tresult = new DLink(this.toLinkOptions(this._options));\n\t\t\tthis._link = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected onClick(e: interaction.InteractionEvent): void {\n\t\tif (!this.link.onClick(this, e)) {\n\t\t\tsuper.onClick(e);\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DMenuItemLink\";\n\t}\n\n\tprotected onSelect(\n\t\te?: interaction.InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent\n\t): void {\n\t\tsuper.onSelect(e);\n\t\tthis.link.open(e);\n\t}\n\n\topen(inNewWindow: boolean): void {\n\t\tthis.link.open(inNewWindow);\n\t}\n\n\tprotected onShortcut(e: KeyboardEvent): void {\n\t\tsuper.onShortcut(e);\n\t\tthis.activate(e);\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-menu-item-link.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-menu-item-link.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAGH,OAAO,EAAE,KAAK,EAA6C,MAAM,UAAU,CAAC;AAG5E,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,EAAE,aAAa,EAA4C,MAAM,oBAAoB,CAAC;AAC7F,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAiB5C;IAIU,iCAAoC;IAJ9C;;IA0EA,CAAC;IAnEU,qCAAa,GAAvB,UAAwB,OAAiB;QACxC,IAAI,OAAO,EAAE;YACZ,OAAO;gBACN,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;gBAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;gBACxC,IAAI,EAAE,OAAO,CAAC,IAAI;aAClB,CAAC;SACF;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IAES,6BAAK,GAAf,UAAgB,GAAoC;QAApD,iBAQC;QAPA,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE;YACjC,OAAO,GAAG,CAAC;SACX;aAAM;YACN,OAAO;gBACN,OAAO,GAAG,CAAC,KAAI,CAAC,CAAC;YAClB,CAAC,CAAC;SACF;IACF,CAAC;IAES,iCAAS,GAAnB,UAAoB,OAA8B;QAAlD,iBAOC;QANA,IAAI,OAAO,IAAI,IAAI,EAAE;YACpB,OAAO;gBACN,OAAO,OAAO,CAAC,KAAI,CAAC,CAAC;YACtB,CAAC,CAAC;SACF;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IAES,4BAAI,GAAd,UAAe,OAAiB;QAC/B,iBAAM,IAAI,YAAC,MAAM,CAAC,cAAc,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,sBAAI,+BAAI;aAAR;YACC,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;YACxB,IAAI,MAAM,IAAI,IAAI,EAAE;gBACnB,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACtD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;aACpB;YACD,OAAO,MAAM,CAAC;QACf,CAAC;;;OAAA;IAES,+BAAO,GAAjB,UAAkB,CAAmB;QACpC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;YAChC,iBAAM,OAAO,YAAC,CAAC,CAAC,CAAC;SACjB;IACF,CAAC;IAES,+BAAO,GAAjB;QACC,OAAO,eAAe,CAAC;IACxB,CAAC;IAES,gCAAQ,GAAlB,UAAmB,CAA8D;QAChF,iBAAM,QAAQ,YAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IAED,4BAAI,GAAJ,UAAK,WAAoB;QACxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC7B,CAAC;IAES,kCAAU,GAApB,UAAqB,CAAgB;QACpC,iBAAM,UAAU,YAAC,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACF,oBAAC;AAAD,CAAC,AA1ED,CAIU,aAAa,GAsEtB","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent } from \"pixi.js\";\nimport { DLink, DLinkChecker, DLinkOptions, DLinkUrlMaker } from \"./d-link\";\nimport { DLinkMenuItemId } from \"./d-link-menu-item-id\";\nimport { DLinkTarget } from \"./d-link-target\";\nimport { DLinks } from \"./d-links\";\nimport { DMenu, DMenuOptions } from \"./d-menu\";\nimport { DMenuItemText, DMenuItemTextOptions, DThemeMenuItemText } from \"./d-menu-item-text\";\nimport { isString } from \"./util/is-string\";\n\nexport type DMenuItemLinkUrlMaker = (item: DMenuItemLink) => string | null | Promise<string | null>;\nexport type DMenuItemLinkChecker = (item: DMenuItemLink) => boolean | Promise<boolean>;\n\nexport interface DMenuItemLinkOptions<\n\tVALUE = unknown,\n\tTHEME extends DThemeMenuItemLink = DThemeMenuItemLink\n> extends DMenuItemTextOptions<VALUE, THEME> {\n\turl?: string | DMenuItemLinkUrlMaker;\n\ttarget?: DLinkTarget | keyof typeof DLinkTarget;\n\tchecker?: DMenuItemLinkChecker;\n\tmenu?: DMenuOptions<DLinkMenuItemId> | DMenu<DLinkMenuItemId>;\n}\n\nexport interface DThemeMenuItemLink extends DThemeMenuItemText {}\n\nexport class DMenuItemLink<\n\tVALUE = unknown,\n\tTHEME extends DThemeMenuItemLink = DThemeMenuItemLink,\n\tOPTIONS extends DMenuItemLinkOptions<VALUE, THEME> = DMenuItemLinkOptions<VALUE, THEME>\n> extends DMenuItemText<VALUE, THEME, OPTIONS> {\n\tprotected _link?: DLink;\n\n\tprotected toLinkOptions(options?: OPTIONS): DLinkOptions | undefined {\n\t\tif (options) {\n\t\t\treturn {\n\t\t\t\turl: this.toUrl(options.url),\n\t\t\t\ttarget: options.target,\n\t\t\t\tchecker: this.toChecker(options.checker),\n\t\t\t\tmenu: options.menu\n\t\t\t};\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tprotected toUrl(url?: string | DMenuItemLinkUrlMaker): string | DLinkUrlMaker | undefined {\n\t\tif (isString(url) || url == null) {\n\t\t\treturn url;\n\t\t} else {\n\t\t\treturn () => {\n\t\t\t\treturn url(this);\n\t\t\t};\n\t\t}\n\t}\n\n\tprotected toChecker(checker?: DMenuItemLinkChecker): DLinkChecker | undefined {\n\t\tif (checker != null) {\n\t\t\treturn () => {\n\t\t\t\treturn checker(this);\n\t\t\t};\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tprotected init(options?: OPTIONS): void {\n\t\tsuper.init(DLinks.toStateOptions(options?.target, options));\n\t}\n\n\tget link(): DLink {\n\t\tlet result = this._link;\n\t\tif (result == null) {\n\t\t\tresult = new DLink(this.toLinkOptions(this._options));\n\t\t\tthis._link = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected onClick(e: InteractionEvent): void {\n\t\tif (!this.link.onClick(this, e)) {\n\t\t\tsuper.onClick(e);\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DMenuItemLink\";\n\t}\n\n\tprotected onSelect(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tsuper.onSelect(e);\n\t\tthis.link.open(e);\n\t}\n\n\topen(inNewWindow: boolean): void {\n\t\tthis.link.open(inNewWindow);\n\t}\n\n\tprotected onShortcut(e: KeyboardEvent): void {\n\t\tsuper.onShortcut(e);\n\t\tthis.activate(e);\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"d-menu-item-menu.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-menu-item-menu.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DisplayObject, interaction } from \"pixi.js\";\nimport { DMenu, DMenuOptions } from \"./d-menu\";\nimport { DMenuItem, DMenuItemOptions, DThemeMenuItem } from \"./d-menu-item\";\nimport { DMenus } from \"./d-menus\";\nimport { UtilKeyboardEvent } from \"./util/util-keyboard-event\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\n\nexport interface DMenuItemMenuOptions<\n\tVALUE = unknown,\n\tTHEME extends DThemeMenuItemMenu = DThemeMenuItemMenu\n> extends DMenuItemOptions<VALUE, THEME> {\n\tmenu: DMenuOptions<VALUE> | DMenu<VALUE>;\n}\n\nexport interface DThemeMenuItemMenu extends DThemeMenuItem {}\n\nexport class DMenuItemMenu<\n\tVALUE = unknown,\n\tTHEME extends DThemeMenuItemMenu = DThemeMenuItemMenu,\n\tOPTIONS extends DMenuItemMenuOptions<VALUE, THEME> = DMenuItemMenuOptions<VALUE, THEME>\n> extends DMenuItem<VALUE, THEME, OPTIONS> {\n\tprotected _menu?: DMenu<VALUE>;\n\n\tprotected init(options: OPTIONS): void {\n\t\tsuper.init(options);\n\t\tthis.initHover(options);\n\t}\n\n\tprotected initHover(options: OPTIONS): void {\n\t\tthis.on(UtilPointerEvent.over, (): void => {\n\t\t\tif (this.state.isActionable) {\n\t\t\t\tthis.open();\n\t\t\t}\n\t\t});\n\t}\n\n\tprotected toMenu(options?: OPTIONS): DMenu<VALUE> {\n\t\tconst menu = options?.menu;\n\t\tif (menu instanceof DisplayObject) {\n\t\t\treturn menu;\n\t\t}\n\t\treturn this.newMenu(menu);\n\t}\n\n\tprotected newMenu(options?: DMenuOptions<VALUE>): DMenu<VALUE> {\n\t\treturn DMenus.newMenu(options);\n\t}\n\n\tget menu(): DMenu<VALUE> {\n\t\tlet result = this._menu;\n\t\tif (result == null) {\n\t\t\tresult = this.toMenu(this._options);\n\t\t\tresult.on(\n\t\t\t\t\"select\",\n\t\t\t\t(value: VALUE, item: DMenuItem<VALUE>, menu: DMenu<VALUE>): void => {\n\t\t\t\t\tthis.onMenuSelect(value, item, menu);\n\t\t\t\t}\n\t\t\t);\n\t\t\tthis._menu = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DMenuItemMenu\";\n\t}\n\n\topen(): void {\n\t\tconst menu = this.menu;\n\t\tif (menu.isHidden()) {\n\t\t\tthis.onOpen(menu);\n\t\t}\n\t}\n\n\tprotected onOpen(menu: DMenu<VALUE>): void {\n\t\tconst context = this.getContext();\n\t\tif (context != null) {\n\t\t\tmenu.open(this, this.getCloseable(), context);\n\t\t}\n\t}\n\n\tclose(): void {\n\t\tthis.menu.close();\n\t}\n\n\ttoggle(): void {\n\t\tconst menu = this.menu;\n\t\tif (menu.isHidden()) {\n\t\t\tthis.onOpen(menu);\n\t\t} else {\n\t\t\tmenu.close();\n\t\t}\n\t}\n\n\tprotected onSelect(\n\t\te?: interaction.InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent\n\t): void {\n\t\tthis.open();\n\t\tsuper.onSelect(e);\n\t}\n\n\tprotected onMenuSelect(value: VALUE, item: DMenuItem<VALUE>, menu: DMenu<VALUE>): void {\n\t\tconst closeable = this.getCloseable();\n\t\tif (closeable != null) {\n\t\t\tcloseable.emit(\"select\", value, item, closeable);\n\t\t}\n\t}\n\n\tprotected onKeyDown(e: KeyboardEvent): boolean {\n\t\tif (UtilKeyboardEvent.isArrowRightKey(e)) {\n\t\t\tthis.onKeyDownArrowRight(e);\n\t\t}\n\t\treturn super.onKeyDown(e);\n\t}\n\n\tprotected onKeyDownArrowRight(e: KeyboardEvent): boolean {\n\t\tif (this.state.isActionable && this.state.isFocused) {\n\t\t\tthis.onSelect(e);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-menu-item-menu.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-menu-item-menu.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,aAAa,EAAoB,MAAM,SAAS,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAoC,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAW7D;IAIU,iCAAgC;IAJ1C;;IAwGA,CAAC;IAjGU,4BAAI,GAAd,UAAe,OAAgB;QAC9B,iBAAM,IAAI,YAAC,OAAO,CAAC,CAAC;QACpB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAES,iCAAS,GAAnB,UAAoB,OAAgB;QAApC,iBAMC;QALA,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE;YAC9B,IAAI,KAAI,CAAC,KAAK,CAAC,YAAY,EAAE;gBAC5B,KAAI,CAAC,IAAI,EAAE,CAAC;aACZ;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAES,8BAAM,GAAhB,UAAiB,OAAiB;QACjC,IAAM,IAAI,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC;QAC3B,IAAI,IAAI,YAAY,aAAa,EAAE;YAClC,OAAO,IAAI,CAAC;SACZ;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAES,+BAAO,GAAjB,UAAkB,OAA6B;QAC9C,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,sBAAI,+BAAI;aAAR;YAAA,iBAaC;YAZA,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;YACxB,IAAI,MAAM,IAAI,IAAI,EAAE;gBACnB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACpC,MAAM,CAAC,EAAE,CACR,QAAQ,EACR,UAAC,KAAY,EAAE,IAAsB,EAAE,IAAkB;oBACxD,KAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBACtC,CAAC,CACD,CAAC;gBACF,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;aACpB;YACD,OAAO,MAAM,CAAC;QACf,CAAC;;;OAAA;IAES,+BAAO,GAAjB;QACC,OAAO,eAAe,CAAC;IACxB,CAAC;IAED,4BAAI,GAAJ;QACC,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SAClB;IACF,CAAC;IAES,8BAAM,GAAhB,UAAiB,IAAkB;QAClC,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,IAAI,OAAO,IAAI,IAAI,EAAE;YACpB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,OAAO,CAAC,CAAC;SAC9C;IACF,CAAC;IAED,6BAAK,GAAL;QACC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;IAED,8BAAM,GAAN;QACC,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SAClB;aAAM;YACN,IAAI,CAAC,KAAK,EAAE,CAAC;SACb;IACF,CAAC;IAES,gCAAQ,GAAlB,UAAmB,CAA8D;QAChF,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,iBAAM,QAAQ,YAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IAES,oCAAY,GAAtB,UAAuB,KAAY,EAAE,IAAsB,EAAE,IAAkB;QAC9E,IAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,IAAI,SAAS,IAAI,IAAI,EAAE;YACtB,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;SACjD;IACF,CAAC;IAES,iCAAS,GAAnB,UAAoB,CAAgB;QACnC,IAAI,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;YACzC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;SAC5B;QACD,OAAO,iBAAM,SAAS,YAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAES,2CAAmB,GAA7B,UAA8B,CAAgB;QAC7C,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;YACpD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO,IAAI,CAAC;SACZ;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IACF,oBAAC;AAAD,CAAC,AAxGD,CAIU,SAAS,GAoGlB","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DisplayObject, InteractionEvent } from \"pixi.js\";\nimport { DMenu, DMenuOptions } from \"./d-menu\";\nimport { DMenuItem, DMenuItemOptions, DThemeMenuItem } from \"./d-menu-item\";\nimport { DMenus } from \"./d-menus\";\nimport { UtilKeyboardEvent } from \"./util/util-keyboard-event\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\n\nexport interface DMenuItemMenuOptions<\n\tVALUE = unknown,\n\tTHEME extends DThemeMenuItemMenu = DThemeMenuItemMenu\n> extends DMenuItemOptions<VALUE, THEME> {\n\tmenu: DMenuOptions<VALUE> | DMenu<VALUE>;\n}\n\nexport interface DThemeMenuItemMenu extends DThemeMenuItem {}\n\nexport class DMenuItemMenu<\n\tVALUE = unknown,\n\tTHEME extends DThemeMenuItemMenu = DThemeMenuItemMenu,\n\tOPTIONS extends DMenuItemMenuOptions<VALUE, THEME> = DMenuItemMenuOptions<VALUE, THEME>\n> extends DMenuItem<VALUE, THEME, OPTIONS> {\n\tprotected _menu?: DMenu<VALUE>;\n\n\tprotected init(options: OPTIONS): void {\n\t\tsuper.init(options);\n\t\tthis.initHover(options);\n\t}\n\n\tprotected initHover(options: OPTIONS): void {\n\t\tthis.on(UtilPointerEvent.over, (): void => {\n\t\t\tif (this.state.isActionable) {\n\t\t\t\tthis.open();\n\t\t\t}\n\t\t});\n\t}\n\n\tprotected toMenu(options?: OPTIONS): DMenu<VALUE> {\n\t\tconst menu = options?.menu;\n\t\tif (menu instanceof DisplayObject) {\n\t\t\treturn menu;\n\t\t}\n\t\treturn this.newMenu(menu);\n\t}\n\n\tprotected newMenu(options?: DMenuOptions<VALUE>): DMenu<VALUE> {\n\t\treturn DMenus.newMenu(options);\n\t}\n\n\tget menu(): DMenu<VALUE> {\n\t\tlet result = this._menu;\n\t\tif (result == null) {\n\t\t\tresult = this.toMenu(this._options);\n\t\t\tresult.on(\n\t\t\t\t\"select\",\n\t\t\t\t(value: VALUE, item: DMenuItem<VALUE>, menu: DMenu<VALUE>): void => {\n\t\t\t\t\tthis.onMenuSelect(value, item, menu);\n\t\t\t\t}\n\t\t\t);\n\t\t\tthis._menu = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DMenuItemMenu\";\n\t}\n\n\topen(): void {\n\t\tconst menu = this.menu;\n\t\tif (menu.isHidden()) {\n\t\t\tthis.onOpen(menu);\n\t\t}\n\t}\n\n\tprotected onOpen(menu: DMenu<VALUE>): void {\n\t\tconst context = this.getContext();\n\t\tif (context != null) {\n\t\t\tmenu.open(this, this.getCloseable(), context);\n\t\t}\n\t}\n\n\tclose(): void {\n\t\tthis.menu.close();\n\t}\n\n\ttoggle(): void {\n\t\tconst menu = this.menu;\n\t\tif (menu.isHidden()) {\n\t\t\tthis.onOpen(menu);\n\t\t} else {\n\t\t\tmenu.close();\n\t\t}\n\t}\n\n\tprotected onSelect(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tthis.open();\n\t\tsuper.onSelect(e);\n\t}\n\n\tprotected onMenuSelect(value: VALUE, item: DMenuItem<VALUE>, menu: DMenu<VALUE>): void {\n\t\tconst closeable = this.getCloseable();\n\t\tif (closeable != null) {\n\t\t\tcloseable.emit(\"select\", value, item, closeable);\n\t\t}\n\t}\n\n\tprotected onKeyDown(e: KeyboardEvent): boolean {\n\t\tif (UtilKeyboardEvent.isArrowRightKey(e)) {\n\t\t\tthis.onKeyDownArrowRight(e);\n\t\t}\n\t\treturn super.onKeyDown(e);\n\t}\n\n\tprotected onKeyDownArrowRight(e: KeyboardEvent): boolean {\n\t\tif (this.state.isActionable && this.state.isFocused) {\n\t\t\tthis.onSelect(e);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"d-menu-item-text.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-menu-item-text.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction } from \"pixi.js\";\nimport { DBase } from \"./d-base\";\nimport { DBaseStateSet } from \"./d-base-state-set\";\nimport { DDynamicText } from \"./d-dynamic-text\";\nimport { DMenuItem, DMenuItemOptions, DThemeMenuItem } from \"./d-menu-item\";\nimport { UtilKeyboardEvent } from \"./util/util-keyboard-event\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\n\nexport interface DMenuItemTextOptions<\n\tVALUE = unknown,\n\tTHEME extends DThemeMenuItemText = DThemeMenuItemText\n> extends DMenuItemOptions<VALUE, THEME> {}\n\nexport interface DThemeMenuItemText extends DThemeMenuItem {\n\tgetShortcutTextMargin(): number;\n\tgetShortcutColor(state: DBaseStateSet): number;\n\tgetShortcutAlpha(state: DBaseStateSet): number;\n}\n\nexport class DMenuItemText<\n\tVALUE = unknown,\n\tTHEME extends DThemeMenuItemText = DThemeMenuItemText,\n\tOPTIONS extends DMenuItemTextOptions<VALUE, THEME> = DMenuItemTextOptions<VALUE, THEME>\n> extends DMenuItem<VALUE, THEME, OPTIONS> {\n\tprotected _shortcutText?: DDynamicText | null;\n\tprotected _shortcutMargin?: number;\n\n\tprotected init(options?: OPTIONS): void {\n\t\tsuper.init(options);\n\t\tthis.initOnOver(options);\n\t\tthis.initShortcuts(options);\n\t}\n\n\tprotected initOnOver(options?: OPTIONS): void {\n\t\tthis.on(UtilPointerEvent.over, (): void => {\n\t\t\tconst context = this.getContext();\n\t\t\tif (context != null) {\n\t\t\t\tconst parent = this.parent;\n\t\t\t\tif (parent instanceof DBase) {\n\t\t\t\t\tcontext.trim(this.getCloseable());\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tprotected initShortcuts(options?: OPTIONS): void {\n\t\tconst shortcuts = this._shortcuts;\n\t\tif (shortcuts != null && 0 < shortcuts.length) {\n\t\t\tconst shortcut = shortcuts[0];\n\t\t\tconst shortcutText = this.newText();\n\t\t\tthis._shortcutText = shortcutText;\n\t\t\tthis.snippet.add(this._shortcutText, true);\n\t\t\tshortcutText.text = UtilKeyboardEvent.toString(shortcut);\n\t\t} else {\n\t\t\tthis._shortcutText = null;\n\t\t}\n\n\t\tthis._shortcutMargin = this.theme.getShortcutTextMargin();\n\t}\n\n\tprotected updateShortcutText(): void {\n\t\tconst text = this._shortcutText;\n\t\tconst margin = this._shortcutMargin;\n\t\tif (text != null && margin != null) {\n\t\t\tconst auto = this._auto;\n\n\t\t\tlet textX = 0;\n\t\t\tif (auto.width.isOn) {\n\t\t\t\ttextX = margin;\n\t\t\t} else {\n\t\t\t\ttextX = this.width - text.width - margin;\n\t\t\t}\n\n\t\t\tlet textY = 0;\n\t\t\tconst padding = this._padding;\n\t\t\tconst ptop = padding.getTop();\n\t\t\tif (auto.height.isOn) {\n\t\t\t\ttextY = ptop;\n\t\t\t} else {\n\t\t\t\ttextY = ptop + (this.height - ptop - padding.getBottom() - text.height) * 0.5;\n\t\t\t}\n\n\t\t\ttext.position.set(textX, textY);\n\t\t}\n\t}\n\n\tprotected updateTextColor(text: DDynamicText): void {\n\t\tsuper.updateTextColor(text);\n\n\t\tconst shortcutText = this._shortcutText;\n\t\tif (shortcutText != null) {\n\t\t\tconst theme = this.theme;\n\t\t\tconst state = this.state;\n\t\t\tshortcutText.style.fill = theme.getShortcutColor(state);\n\t\t\tshortcutText.alpha = theme.getShortcutAlpha(state);\n\t\t}\n\t}\n\n\tprotected updateText(): void {\n\t\tsuper.updateText();\n\t\tthis.updateShortcutText();\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DMenuItemText\";\n\t}\n\n\tprotected onSelect(\n\t\te?: interaction.InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent\n\t): void {\n\t\tsuper.onSelect(e);\n\t\tconst closeable = this.getCloseable();\n\t\tif (closeable != null) {\n\t\t\tcloseable.emit(\"select\", this.value, this, closeable);\n\t\t}\n\t}\n\n\tprotected onShortcut(e: KeyboardEvent): void {\n\t\tsuper.onShortcut(e);\n\t\tthis.activate(e);\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-menu-item-text.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-menu-item-text.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent } from \"pixi.js\";\nimport { DBase } from \"./d-base\";\nimport { DBaseStateSet } from \"./d-base-state-set\";\nimport { DDynamicText } from \"./d-dynamic-text\";\nimport { DMenuItem, DMenuItemOptions, DThemeMenuItem } from \"./d-menu-item\";\nimport { UtilKeyboardEvent } from \"./util/util-keyboard-event\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\n\nexport interface DMenuItemTextOptions<\n\tVALUE = unknown,\n\tTHEME extends DThemeMenuItemText = DThemeMenuItemText\n> extends DMenuItemOptions<VALUE, THEME> {}\n\nexport interface DThemeMenuItemText extends DThemeMenuItem {\n\tgetShortcutTextMargin(): number;\n\tgetShortcutColor(state: DBaseStateSet): number;\n\tgetShortcutAlpha(state: DBaseStateSet): number;\n}\n\nexport class DMenuItemText<\n\tVALUE = unknown,\n\tTHEME extends DThemeMenuItemText = DThemeMenuItemText,\n\tOPTIONS extends DMenuItemTextOptions<VALUE, THEME> = DMenuItemTextOptions<VALUE, THEME>\n> extends DMenuItem<VALUE, THEME, OPTIONS> {\n\tprotected _shortcutText?: DDynamicText | null;\n\tprotected _shortcutMargin?: number;\n\n\tprotected init(options?: OPTIONS): void {\n\t\tsuper.init(options);\n\t\tthis.initOnOver(options);\n\t\tthis.initShortcuts(options);\n\t}\n\n\tprotected initOnOver(options?: OPTIONS): void {\n\t\tthis.on(UtilPointerEvent.over, (): void => {\n\t\t\tconst context = this.getContext();\n\t\t\tif (context != null) {\n\t\t\t\tconst parent = this.parent;\n\t\t\t\tif (parent instanceof DBase) {\n\t\t\t\t\tcontext.trim(this.getCloseable());\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tprotected initShortcuts(options?: OPTIONS): void {\n\t\tconst shortcuts = this._shortcuts;\n\t\tif (shortcuts != null && 0 < shortcuts.length) {\n\t\t\tconst shortcut = shortcuts[0];\n\t\t\tconst shortcutText = this.newText();\n\t\t\tthis._shortcutText = shortcutText;\n\t\t\tthis.snippet.add(this._shortcutText, true);\n\t\t\tshortcutText.text = UtilKeyboardEvent.toString(shortcut);\n\t\t} else {\n\t\t\tthis._shortcutText = null;\n\t\t}\n\n\t\tthis._shortcutMargin = this.theme.getShortcutTextMargin();\n\t}\n\n\tprotected updateShortcutText(): void {\n\t\tconst text = this._shortcutText;\n\t\tconst margin = this._shortcutMargin;\n\t\tif (text != null && margin != null) {\n\t\t\tconst auto = this._auto;\n\n\t\t\tlet textX = 0;\n\t\t\tif (auto.width.isOn) {\n\t\t\t\ttextX = margin;\n\t\t\t} else {\n\t\t\t\ttextX = this.width - text.width - margin;\n\t\t\t}\n\n\t\t\tlet textY = 0;\n\t\t\tconst padding = this._padding;\n\t\t\tconst ptop = padding.getTop();\n\t\t\tif (auto.height.isOn) {\n\t\t\t\ttextY = ptop;\n\t\t\t} else {\n\t\t\t\ttextY = ptop + (this.height - ptop - padding.getBottom() - text.height) * 0.5;\n\t\t\t}\n\n\t\t\ttext.position.set(textX, textY);\n\t\t}\n\t}\n\n\tprotected updateTextColor(text: DDynamicText): void {\n\t\tsuper.updateTextColor(text);\n\n\t\tconst shortcutText = this._shortcutText;\n\t\tif (shortcutText != null) {\n\t\t\tconst theme = this.theme;\n\t\t\tconst state = this.state;\n\t\t\tshortcutText.style.fill = theme.getShortcutColor(state);\n\t\t\tshortcutText.alpha = theme.getShortcutAlpha(state);\n\t\t}\n\t}\n\n\tprotected updateText(): void {\n\t\tsuper.updateText();\n\t\tthis.updateShortcutText();\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DMenuItemText\";\n\t}\n\n\tprotected onSelect(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tsuper.onSelect(e);\n\t\tconst closeable = this.getCloseable();\n\t\tif (closeable != null) {\n\t\t\tcloseable.emit(\"select\", this.value, this, closeable);\n\t\t}\n\t}\n\n\tprotected onShortcut(e: KeyboardEvent): void {\n\t\tsuper.onShortcut(e);\n\t\tthis.activate(e);\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"d-pane.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-pane.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction, Point, Rectangle } from \"pixi.js\";\nimport { DApplications } from \"./d-applications\";\nimport { DBase, DBaseOptions, DThemeBase } from \"./d-base\";\nimport { DBaseOverflowMask } from \"./d-base-overflow-mask\";\nimport { DContent, DContentOptions } from \"./d-content\";\nimport { UtilGestureMode } from \"./util/util-gesture-mode\";\nimport { DScrollBar } from \"./d-scroll-bar\";\nimport { toEnum } from \"./util/to-enum\";\nimport { UtilGesture } from \"./util/util-gesture\";\nimport { UtilWheelEventDeltas } from \"./util/util-wheel-event\";\nimport { DPaneScrollBar, DPaneScrollBarOptions } from \"./d-pane-scrollbar\";\n\n/**\n * {@link DPane} gesture options.\n */\nexport interface DPaneGestureOptions {\n\tmode?: keyof typeof UtilGestureMode | UtilGestureMode;\n}\n\n/**\n * {@link DPane} options.\n */\nexport interface DPaneOptions<\n\tTHEME extends DThemePane = DThemePane,\n\tCONTENT_OPTIONS extends DBaseOptions = DContentOptions\n> extends DBaseOptions<THEME> {\n\t/**\n\t * True to enable an overflow mask.\n\t */\n\tmask?: boolean;\n\n\t/**\n\t * Content options or a content.\n\t */\n\tcontent?: CONTENT_OPTIONS | DBase;\n\n\t/**\n\t * Scroll bar options.\n\t */\n\tscrollbar?: DPaneScrollBarOptions;\n\n\t/**\n\t * Gesture options.\n\t */\n\tgesture?: DPaneGestureOptions;\n}\n\nexport interface DThemePane extends DThemeBase {\n\tisOverflowMaskEnabled(): boolean;\n\tgetWheelSpeed(): number;\n\tgetGestureMode(): UtilGestureMode;\n}\n\n// Class\nexport class DPane<\n\tTHEME extends DThemePane = DThemePane,\n\tCONTENT_OPTIONS extends DBaseOptions = DContentOptions,\n\tOPTIONS extends DPaneOptions<THEME, CONTENT_OPTIONS> = DPaneOptions<THEME, CONTENT_OPTIONS>\n> extends DBase<THEME, OPTIONS> {\n\tprotected static WORK_POINT?: Point;\n\tprotected static WORK_RECTANGLE?: Rectangle;\n\n\tprotected _content?: DBase;\n\tprotected _overflowMask?: DBaseOverflowMask | null;\n\tprotected _scrollbar?: DPaneScrollBar;\n\tprotected _gestureUtil?: UtilGesture<DPane>;\n\n\tconstructor(options?: OPTIONS) {\n\t\tsuper(options);\n\n\t\t// Mask\n\t\tconst theme = this.theme;\n\t\tif (options?.mask ?? theme.isOverflowMaskEnabled()) {\n\t\t\tthis.mask = this.getOverflowMask();\n\t\t}\n\n\t\t// Content\n\t\tthis.addChild(this.content);\n\n\t\t// Scroll bar\n\t\tconst scrollbar = this.scrollbar;\n\t\tthis.addChild(scrollbar.vertical);\n\t\tthis.addChild(scrollbar.horizontal);\n\t\tscrollbar.update();\n\n\t\t// Gesture\n\t\tthis.initGesture(theme, options);\n\t}\n\n\tprotected initGesture(theme: THEME, options?: OPTIONS): void {\n\t\t// Edge does not fire the wheel event when scrolling using the 2-fingure scroll gesture on a touchpad.\n\t\t// Instead, it fires touch events. This is why the gesture is enabled regardless of the `UtilPointerEvent.touchable`.\n\t\t// https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/7134034/\n\t\tconst mode = toEnum(options?.gesture?.mode ?? theme.getGestureMode(), UtilGestureMode);\n\t\tif (mode === UtilGestureMode.ON || mode === UtilGestureMode.TOUCH) {\n\t\t\tconst position = new Point();\n\t\t\tconst content = this.content;\n\t\t\tthis._gestureUtil = new UtilGesture<DPane>({\n\t\t\t\tbind: this,\n\t\t\t\ttouch: mode === UtilGestureMode.TOUCH,\n\t\t\t\ton: {\n\t\t\t\t\tstart: (): void => {\n\t\t\t\t\t\tposition.copyFrom(content.position);\n\t\t\t\t\t},\n\t\t\t\t\tmove: (target: DPane, dx: number, dy: number): void => {\n\t\t\t\t\t\tposition.set(position.x + dx, position.y + dy);\n\t\t\t\t\t\tcontent.position.set(\n\t\t\t\t\t\t\tthis.toContentX(content, position.x),\n\t\t\t\t\t\t\tthis.toContentY(content, position.y)\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tget scrollbar(): DPaneScrollBar {\n\t\tlet result = this._scrollbar;\n\t\tif (result == null) {\n\t\t\tresult = this.newScrollBar(this._options?.scrollbar);\n\t\t\tthis.initScrollBar(result);\n\t\t\tthis._scrollbar = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newScrollBar(options?: DPaneScrollBarOptions): DPaneScrollBar {\n\t\treturn new DPaneScrollBar(this, options, (isRegionVisible: boolean): void => {\n\t\t\tthis.onScrollBarUpdate(isRegionVisible);\n\t\t});\n\t}\n\n\tprotected onScrollBarUpdate(isRegionVisible: boolean): void {\n\t\tconst overflowMask = this._overflowMask;\n\t\tif (overflowMask != null) {\n\t\t\tconst content = this.content;\n\t\t\tif (isRegionVisible) {\n\t\t\t\tif (content.mask !== overflowMask) {\n\t\t\t\t\tcontent.mask = overflowMask;\n\t\t\t\t\tDApplications.update(this);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (content.mask) {\n\t\t\t\t\t(content as any).mask = null;\n\t\t\t\t\tDApplications.update(this);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected initScrollBar(scrollbar: DPaneScrollBar): void {\n\t\tscrollbar.vertical.on(\"regionmove\", (start: number): void => {\n\t\t\tthis.onScrollBarMoveY(start);\n\t\t});\n\t\tscrollbar.horizontal.on(\"regionmove\", (start: number): void => {\n\t\t\tthis.onScrollBarMoveX(start);\n\t\t});\n\t}\n\n\tprotected onScrollBarMoveX(start: number): void {\n\t\tconst gestureUtil = this._gestureUtil;\n\t\tif (gestureUtil != null) {\n\t\t\tgestureUtil.stop(this);\n\t\t}\n\t\tconst content = this.content;\n\t\tcontent.x = -content.width * start;\n\t}\n\n\tprotected onScrollBarMoveY(start: number): void {\n\t\tconst gestureUtil = this._gestureUtil;\n\t\tif (gestureUtil != null) {\n\t\t\tgestureUtil.stop(this);\n\t\t}\n\t\tconst content = this.content;\n\t\tcontent.y = -content.height * start;\n\t}\n\n\tprotected override onOver(e: interaction.InteractionEvent): void {\n\t\tsuper.onOver(e);\n\t\tthis.scrollbar.touch();\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DPane\";\n\t}\n\n\tget content(): DBase {\n\t\tlet result = this._content;\n\t\tif (result == null) {\n\t\t\tresult = this.toContent(this._options);\n\t\t\tthis.initContent(result);\n\t\t\tthis._content = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected toContent(options?: OPTIONS): DBase {\n\t\tconst content = options?.content;\n\t\tif (content) {\n\t\t\tif (content instanceof DBase) {\n\t\t\t\treturn content;\n\t\t\t} else {\n\t\t\t\treturn this.newContent(content);\n\t\t\t}\n\t\t}\n\t\treturn this.newContent();\n\t}\n\n\tprotected newContent(options?: CONTENT_OPTIONS): DBase {\n\t\treturn new DContent(options);\n\t}\n\n\tprotected initContent(content: DBase): void {\n\t\tcontent.on(\"move\", (): void => {\n\t\t\tthis.onContentChange();\n\t\t});\n\t\tcontent.on(\"resize\", (): void => {\n\t\t\tthis.onContentChange();\n\t\t});\n\t}\n\n\tprotected getOverflowMask(): DBaseOverflowMask {\n\t\tlet result = this._overflowMask;\n\t\tif (result == null) {\n\t\t\tresult = new DBaseOverflowMask(this);\n\t\t\tthis._overflowMask = result;\n\t\t\tthis.reflowable.add(result);\n\t\t\tthis.toDirty();\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected onWheel(e: WheelEvent, deltas: UtilWheelEventDeltas, global: Point): boolean {\n\t\tconst content = this.content;\n\t\tconst x = this.getWheelContentX(content, deltas.deltaX * deltas.lowest);\n\t\tconst y = this.getWheelContentY(content, deltas.deltaY * deltas.lowest);\n\t\tif (content.x !== x || content.y !== y) {\n\t\t\tconst gestureUtil = this._gestureUtil;\n\t\t\tif (gestureUtil != null) {\n\t\t\t\tgestureUtil.stop(this);\n\t\t\t}\n\t\t\tcontent.position.set(x, y);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected getWheelContentX(content: DBase, delta: number): number {\n\t\tif (0 < delta || delta < 0) {\n\t\t\tconst speed = this.theme.getWheelSpeed();\n\t\t\treturn this.toContentX(content, content.x - delta * speed);\n\t\t}\n\t\treturn content.x;\n\t}\n\n\tprotected getWheelContentY(content: DBase, delta: number): number {\n\t\tif (0 < delta || delta < 0) {\n\t\t\tconst speed = this.theme.getWheelSpeed();\n\t\t\treturn this.toContentY(content, content.y + delta * speed);\n\t\t}\n\t\treturn content.y;\n\t}\n\n\tprotected toContentX(content: DBase, x: number): number {\n\t\treturn Math.min(0, Math.max(this.width - content.width, x));\n\t}\n\n\tprotected toContentY(content: DBase, y: number): number {\n\t\treturn Math.min(0, Math.max(this.height - content.height, y));\n\t}\n\n\tprotected isRefitable(target: any): target is DBase<any, any> {\n\t\treturn super.isRefitable(target) && !(target instanceof DScrollBar);\n\t}\n\n\tonResize(newWidth: number, newHeight: number, oldWidth: number, oldHeight: number): void {\n\t\tconst scrollbar = this.scrollbar;\n\t\tscrollbar.lock();\n\t\tsuper.onResize(newWidth, newHeight, oldWidth, oldHeight);\n\t\tscrollbar.update();\n\t\tscrollbar.unlock(true);\n\t}\n\n\tprotected onContentChange(): void {\n\t\tthis.scrollbar.update();\n\t}\n\n\tprotected getFocusedChildClippingRect(\n\t\tfocused: DBase,\n\t\tcontentX: number,\n\t\tcontentY: number,\n\t\tcontentWidth: number,\n\t\tcontentHeight: number,\n\t\twidth: number,\n\t\theight: number,\n\t\tresult: Rectangle\n\t): Rectangle {\n\t\tresult.x = 0;\n\t\tresult.y = 0;\n\t\tresult.width = width;\n\t\tresult.height = height;\n\t\treturn result;\n\t}\n\n\tprotected onChildFocus(focused: DBase): void {\n\t\tconst point = DPane.WORK_POINT || new Point();\n\t\tDPane.WORK_POINT = point;\n\n\t\t// Content rectangle\n\t\tconst content = this.content;\n\t\tconst contentX = content.x;\n\t\tconst contentY = content.y;\n\t\tconst contentWidth = content.width;\n\t\tconst contentHeight = content.height;\n\n\t\tpoint.set(0, 0);\n\t\tfocused.toGlobal(point, point, false);\n\t\tcontent.toLocal(point, undefined, point, false);\n\t\tconst x0 = contentX + Math.min(contentWidth, Math.max(0, point.x));\n\t\tconst y0 = contentY + Math.min(contentHeight, Math.max(0, point.y));\n\n\t\tpoint.set(focused.width, focused.height);\n\t\tfocused.toGlobal(point, point, true);\n\t\tcontent.toLocal(point, undefined, point, true);\n\t\tconst x1 = contentX + Math.min(contentWidth, Math.max(0, point.x));\n\t\tconst y1 = contentY + Math.min(contentHeight, Math.max(0, point.y));\n\n\t\tconst width = this.width;\n\t\tconst height = this.height;\n\t\tconst clippingRect = DPane.WORK_RECTANGLE || new Rectangle();\n\t\tDPane.WORK_RECTANGLE = clippingRect;\n\t\tthis.getFocusedChildClippingRect(\n\t\t\tfocused,\n\t\t\tcontentX,\n\t\t\tcontentY,\n\t\t\tcontentWidth,\n\t\t\tcontentHeight,\n\t\t\twidth,\n\t\t\theight,\n\t\t\tclippingRect\n\t\t);\n\t\tconst clippingRectX = clippingRect.x;\n\t\tconst clippingRectY = clippingRect.y;\n\t\tconst clippingRectX0 = clippingRectX;\n\t\tconst clippingRectY0 = clippingRectY;\n\t\tconst clippingRectX1 = clippingRectX + clippingRect.width;\n\t\tconst clippingRectY1 = clippingRectY + clippingRect.height;\n\n\t\tlet newX: number | null = null;\n\t\tif (x0 < clippingRectX0) {\n\t\t\tif (x1 <= clippingRectX1) {\n\t\t\t\tnewX = contentX + Math.min(clippingRectX0 - x0, clippingRectX1 - x1);\n\t\t\t\tnewX = Math.max(width - contentWidth, Math.min(0, newX));\n\t\t\t}\n\t\t} else if (clippingRectX1 < x1) {\n\t\t\tnewX = contentX - Math.min(x0 - clippingRectX0, x1 - clippingRectX1);\n\t\t\tnewX = Math.max(width - contentWidth, Math.min(0, newX));\n\t\t}\n\n\t\tlet newY: number | null = null;\n\t\tif (y0 < clippingRectY0) {\n\t\t\tif (y1 <= clippingRectY1) {\n\t\t\t\tnewY = contentY + Math.min(clippingRectY0 - y0, clippingRectY1 - y1);\n\t\t\t\tnewY = Math.max(height - contentHeight, Math.min(0, newY));\n\t\t\t}\n\t\t} else if (clippingRectY1 < y1) {\n\t\t\tnewY = contentY - Math.min(y0 - clippingRectY0, y1 - clippingRectY1);\n\t\t\tnewY = Math.max(height - contentHeight, Math.min(0, newY));\n\t\t}\n\n\t\tconst contentPosition = content.position;\n\t\tif (newX != null) {\n\t\t\tif (newY != null) {\n\t\t\t\tcontentPosition.set(newX, newY);\n\t\t\t} else {\n\t\t\t\tcontentPosition.x = newX;\n\t\t\t}\n\t\t} else {\n\t\t\tif (newY != null) {\n\t\t\t\tcontentPosition.y = newY;\n\t\t\t}\n\t\t}\n\n\t\tsuper.onChildFocus(focused);\n\t}\n\n\tdestroy(): void {\n\t\t// Overflow mask\n\t\tconst overflowMask = this._overflowMask;\n\t\tif (overflowMask != null) {\n\t\t\tthis._overflowMask = null;\n\t\t\toverflowMask.destroy();\n\t\t}\n\t\t(this as any).mask = null;\n\n\t\tsuper.destroy();\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-pane.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-pane.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent, Point, Rectangle } from \"pixi.js\";\nimport { DApplications } from \"./d-applications\";\nimport { DBase, DBaseOptions, DThemeBase } from \"./d-base\";\nimport { DBaseOverflowMask } from \"./d-base-overflow-mask\";\nimport { DContent, DContentOptions } from \"./d-content\";\nimport { UtilGestureMode } from \"./util/util-gesture-mode\";\nimport { DScrollBar } from \"./d-scroll-bar\";\nimport { toEnum } from \"./util/to-enum\";\nimport { UtilGesture } from \"./util/util-gesture\";\nimport { UtilWheelEventDeltas } from \"./util/util-wheel-event\";\nimport { DPaneScrollBar, DPaneScrollBarOptions } from \"./d-pane-scrollbar\";\n\n/**\n * {@link DPane} gesture options.\n */\nexport interface DPaneGestureOptions {\n\tmode?: keyof typeof UtilGestureMode | UtilGestureMode;\n}\n\n/**\n * {@link DPane} options.\n */\nexport interface DPaneOptions<\n\tTHEME extends DThemePane = DThemePane,\n\tCONTENT_OPTIONS extends DBaseOptions = DContentOptions\n> extends DBaseOptions<THEME> {\n\t/**\n\t * True to enable an overflow mask.\n\t */\n\tmask?: boolean;\n\n\t/**\n\t * Content options or a content.\n\t */\n\tcontent?: CONTENT_OPTIONS | DBase;\n\n\t/**\n\t * Scroll bar options.\n\t */\n\tscrollbar?: DPaneScrollBarOptions;\n\n\t/**\n\t * Gesture options.\n\t */\n\tgesture?: DPaneGestureOptions;\n}\n\nexport interface DThemePane extends DThemeBase {\n\tisOverflowMaskEnabled(): boolean;\n\tgetWheelSpeed(): number;\n\tgetGestureMode(): UtilGestureMode;\n}\n\n// Class\nexport class DPane<\n\tTHEME extends DThemePane = DThemePane,\n\tCONTENT_OPTIONS extends DBaseOptions = DContentOptions,\n\tOPTIONS extends DPaneOptions<THEME, CONTENT_OPTIONS> = DPaneOptions<THEME, CONTENT_OPTIONS>\n> extends DBase<THEME, OPTIONS> {\n\tprotected static WORK_POINT?: Point;\n\tprotected static WORK_RECTANGLE?: Rectangle;\n\n\tprotected _content?: DBase;\n\tprotected _overflowMask?: DBaseOverflowMask | null;\n\tprotected _scrollbar?: DPaneScrollBar;\n\tprotected _gestureUtil?: UtilGesture<DPane>;\n\n\tconstructor(options?: OPTIONS) {\n\t\tsuper(options);\n\n\t\t// Mask\n\t\tconst theme = this.theme;\n\t\tif (options?.mask ?? theme.isOverflowMaskEnabled()) {\n\t\t\tthis.mask = this.getOverflowMask();\n\t\t}\n\n\t\t// Content\n\t\tthis.addChild(this.content);\n\n\t\t// Scroll bar\n\t\tconst scrollbar = this.scrollbar;\n\t\tthis.addChild(scrollbar.vertical);\n\t\tthis.addChild(scrollbar.horizontal);\n\t\tscrollbar.update();\n\n\t\t// Gesture\n\t\tthis.initGesture(theme, options);\n\t}\n\n\tprotected initGesture(theme: THEME, options?: OPTIONS): void {\n\t\t// Edge does not fire the wheel event when scrolling using the 2-fingure scroll gesture on a touchpad.\n\t\t// Instead, it fires touch events. This is why the gesture is enabled regardless of the `UtilPointerEvent.touchable`.\n\t\t// https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/7134034/\n\t\tconst mode = toEnum(options?.gesture?.mode ?? theme.getGestureMode(), UtilGestureMode);\n\t\tif (mode === UtilGestureMode.ON || mode === UtilGestureMode.TOUCH) {\n\t\t\tconst position = new Point();\n\t\t\tconst content = this.content;\n\t\t\tthis._gestureUtil = new UtilGesture<DPane>({\n\t\t\t\tbind: this,\n\t\t\t\ttouch: mode === UtilGestureMode.TOUCH,\n\t\t\t\ton: {\n\t\t\t\t\tstart: (): void => {\n\t\t\t\t\t\tposition.copyFrom(content.position);\n\t\t\t\t\t},\n\t\t\t\t\tmove: (target: DPane, dx: number, dy: number): void => {\n\t\t\t\t\t\tposition.set(position.x + dx, position.y + dy);\n\t\t\t\t\t\tcontent.position.set(\n\t\t\t\t\t\t\tthis.toContentX(content, position.x),\n\t\t\t\t\t\t\tthis.toContentY(content, position.y)\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tget scrollbar(): DPaneScrollBar {\n\t\tlet result = this._scrollbar;\n\t\tif (result == null) {\n\t\t\tresult = this.newScrollBar(this._options?.scrollbar);\n\t\t\tthis.initScrollBar(result);\n\t\t\tthis._scrollbar = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newScrollBar(options?: DPaneScrollBarOptions): DPaneScrollBar {\n\t\treturn new DPaneScrollBar(this, options, (isRegionVisible: boolean): void => {\n\t\t\tthis.onScrollBarUpdate(isRegionVisible);\n\t\t});\n\t}\n\n\tprotected onScrollBarUpdate(isRegionVisible: boolean): void {\n\t\tconst overflowMask = this._overflowMask;\n\t\tif (overflowMask != null) {\n\t\t\tconst content = this.content;\n\t\t\tif (isRegionVisible) {\n\t\t\t\tif (content.mask !== overflowMask) {\n\t\t\t\t\tcontent.mask = overflowMask;\n\t\t\t\t\tDApplications.update(this);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (content.mask) {\n\t\t\t\t\t(content as any).mask = null;\n\t\t\t\t\tDApplications.update(this);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected initScrollBar(scrollbar: DPaneScrollBar): void {\n\t\tscrollbar.vertical.on(\"regionmove\", (start: number): void => {\n\t\t\tthis.onScrollBarMoveY(start);\n\t\t});\n\t\tscrollbar.horizontal.on(\"regionmove\", (start: number): void => {\n\t\t\tthis.onScrollBarMoveX(start);\n\t\t});\n\t}\n\n\tprotected onScrollBarMoveX(start: number): void {\n\t\tconst gestureUtil = this._gestureUtil;\n\t\tif (gestureUtil != null) {\n\t\t\tgestureUtil.stop(this);\n\t\t}\n\t\tconst content = this.content;\n\t\tcontent.x = -content.width * start;\n\t}\n\n\tprotected onScrollBarMoveY(start: number): void {\n\t\tconst gestureUtil = this._gestureUtil;\n\t\tif (gestureUtil != null) {\n\t\t\tgestureUtil.stop(this);\n\t\t}\n\t\tconst content = this.content;\n\t\tcontent.y = -content.height * start;\n\t}\n\n\tprotected override onOver(e: InteractionEvent): void {\n\t\tsuper.onOver(e);\n\t\tthis.scrollbar.touch();\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DPane\";\n\t}\n\n\tget content(): DBase {\n\t\tlet result = this._content;\n\t\tif (result == null) {\n\t\t\tresult = this.toContent(this._options);\n\t\t\tthis.initContent(result);\n\t\t\tthis._content = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected toContent(options?: OPTIONS): DBase {\n\t\tconst content = options?.content;\n\t\tif (content) {\n\t\t\tif (content instanceof DBase) {\n\t\t\t\treturn content;\n\t\t\t} else {\n\t\t\t\treturn this.newContent(content);\n\t\t\t}\n\t\t}\n\t\treturn this.newContent();\n\t}\n\n\tprotected newContent(options?: CONTENT_OPTIONS): DBase {\n\t\treturn new DContent(options);\n\t}\n\n\tprotected initContent(content: DBase): void {\n\t\tcontent.on(\"move\", (): void => {\n\t\t\tthis.onContentChange();\n\t\t});\n\t\tcontent.on(\"resize\", (): void => {\n\t\t\tthis.onContentChange();\n\t\t});\n\t}\n\n\tprotected getOverflowMask(): DBaseOverflowMask {\n\t\tlet result = this._overflowMask;\n\t\tif (result == null) {\n\t\t\tresult = new DBaseOverflowMask(this);\n\t\t\tthis._overflowMask = result;\n\t\t\tthis.reflowable.add(result);\n\t\t\tthis.toDirty();\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected onWheel(e: WheelEvent, deltas: UtilWheelEventDeltas, global: Point): boolean {\n\t\tconst content = this.content;\n\t\tconst x = this.getWheelContentX(content, deltas.deltaX * deltas.lowest);\n\t\tconst y = this.getWheelContentY(content, deltas.deltaY * deltas.lowest);\n\t\tif (content.x !== x || content.y !== y) {\n\t\t\tconst gestureUtil = this._gestureUtil;\n\t\t\tif (gestureUtil != null) {\n\t\t\t\tgestureUtil.stop(this);\n\t\t\t}\n\t\t\tcontent.position.set(x, y);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected getWheelContentX(content: DBase, delta: number): number {\n\t\tif (0 < delta || delta < 0) {\n\t\t\tconst speed = this.theme.getWheelSpeed();\n\t\t\treturn this.toContentX(content, content.x - delta * speed);\n\t\t}\n\t\treturn content.x;\n\t}\n\n\tprotected getWheelContentY(content: DBase, delta: number): number {\n\t\tif (0 < delta || delta < 0) {\n\t\t\tconst speed = this.theme.getWheelSpeed();\n\t\t\treturn this.toContentY(content, content.y + delta * speed);\n\t\t}\n\t\treturn content.y;\n\t}\n\n\tprotected toContentX(content: DBase, x: number): number {\n\t\treturn Math.min(0, Math.max(this.width - content.width, x));\n\t}\n\n\tprotected toContentY(content: DBase, y: number): number {\n\t\treturn Math.min(0, Math.max(this.height - content.height, y));\n\t}\n\n\tprotected isRefitable(target: any): target is DBase<any, any> {\n\t\treturn super.isRefitable(target) && !(target instanceof DScrollBar);\n\t}\n\n\tonResize(newWidth: number, newHeight: number, oldWidth: number, oldHeight: number): void {\n\t\tconst scrollbar = this.scrollbar;\n\t\tscrollbar.lock();\n\t\tsuper.onResize(newWidth, newHeight, oldWidth, oldHeight);\n\t\tscrollbar.update();\n\t\tscrollbar.unlock(true);\n\t}\n\n\tprotected onContentChange(): void {\n\t\tthis.scrollbar.update();\n\t}\n\n\tprotected getFocusedChildClippingRect(\n\t\tfocused: DBase,\n\t\tcontentX: number,\n\t\tcontentY: number,\n\t\tcontentWidth: number,\n\t\tcontentHeight: number,\n\t\twidth: number,\n\t\theight: number,\n\t\tresult: Rectangle\n\t): Rectangle {\n\t\tresult.x = 0;\n\t\tresult.y = 0;\n\t\tresult.width = width;\n\t\tresult.height = height;\n\t\treturn result;\n\t}\n\n\tprotected onChildFocus(focused: DBase): void {\n\t\tconst point = DPane.WORK_POINT || new Point();\n\t\tDPane.WORK_POINT = point;\n\n\t\t// Content rectangle\n\t\tconst content = this.content;\n\t\tconst contentX = content.x;\n\t\tconst contentY = content.y;\n\t\tconst contentWidth = content.width;\n\t\tconst contentHeight = content.height;\n\n\t\tpoint.set(0, 0);\n\t\tfocused.toGlobal(point, point, false);\n\t\tcontent.toLocal(point, undefined, point, false);\n\t\tconst x0 = contentX + Math.min(contentWidth, Math.max(0, point.x));\n\t\tconst y0 = contentY + Math.min(contentHeight, Math.max(0, point.y));\n\n\t\tpoint.set(focused.width, focused.height);\n\t\tfocused.toGlobal(point, point, true);\n\t\tcontent.toLocal(point, undefined, point, true);\n\t\tconst x1 = contentX + Math.min(contentWidth, Math.max(0, point.x));\n\t\tconst y1 = contentY + Math.min(contentHeight, Math.max(0, point.y));\n\n\t\tconst width = this.width;\n\t\tconst height = this.height;\n\t\tconst clippingRect = DPane.WORK_RECTANGLE || new Rectangle();\n\t\tDPane.WORK_RECTANGLE = clippingRect;\n\t\tthis.getFocusedChildClippingRect(\n\t\t\tfocused,\n\t\t\tcontentX,\n\t\t\tcontentY,\n\t\t\tcontentWidth,\n\t\t\tcontentHeight,\n\t\t\twidth,\n\t\t\theight,\n\t\t\tclippingRect\n\t\t);\n\t\tconst clippingRectX = clippingRect.x;\n\t\tconst clippingRectY = clippingRect.y;\n\t\tconst clippingRectX0 = clippingRectX;\n\t\tconst clippingRectY0 = clippingRectY;\n\t\tconst clippingRectX1 = clippingRectX + clippingRect.width;\n\t\tconst clippingRectY1 = clippingRectY + clippingRect.height;\n\n\t\tlet newX: number | null = null;\n\t\tif (x0 < clippingRectX0) {\n\t\t\tif (x1 <= clippingRectX1) {\n\t\t\t\tnewX = contentX + Math.min(clippingRectX0 - x0, clippingRectX1 - x1);\n\t\t\t\tnewX = Math.max(width - contentWidth, Math.min(0, newX));\n\t\t\t}\n\t\t} else if (clippingRectX1 < x1) {\n\t\t\tnewX = contentX - Math.min(x0 - clippingRectX0, x1 - clippingRectX1);\n\t\t\tnewX = Math.max(width - contentWidth, Math.min(0, newX));\n\t\t}\n\n\t\tlet newY: number | null = null;\n\t\tif (y0 < clippingRectY0) {\n\t\t\tif (y1 <= clippingRectY1) {\n\t\t\t\tnewY = contentY + Math.min(clippingRectY0 - y0, clippingRectY1 - y1);\n\t\t\t\tnewY = Math.max(height - contentHeight, Math.min(0, newY));\n\t\t\t}\n\t\t} else if (clippingRectY1 < y1) {\n\t\t\tnewY = contentY - Math.min(y0 - clippingRectY0, y1 - clippingRectY1);\n\t\t\tnewY = Math.max(height - contentHeight, Math.min(0, newY));\n\t\t}\n\n\t\tconst contentPosition = content.position;\n\t\tif (newX != null) {\n\t\t\tif (newY != null) {\n\t\t\t\tcontentPosition.set(newX, newY);\n\t\t\t} else {\n\t\t\t\tcontentPosition.x = newX;\n\t\t\t}\n\t\t} else {\n\t\t\tif (newY != null) {\n\t\t\t\tcontentPosition.y = newY;\n\t\t\t}\n\t\t}\n\n\t\tsuper.onChildFocus(focused);\n\t}\n\n\tdestroy(): void {\n\t\t// Overflow mask\n\t\tconst overflowMask = this._overflowMask;\n\t\tif (overflowMask != null) {\n\t\t\tthis._overflowMask = null;\n\t\t\toverflowMask.destroy();\n\t\t}\n\t\t(this as any).mask = null;\n\n\t\tsuper.destroy();\n\t}\n}\n"]}
@@ -3,7 +3,7 @@
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
5
  import { __extends } from "tslib";
6
- import { Buffer, Geometry, Mesh, Point, Rectangle, Shader, Texture, utils } from "pixi.js";
6
+ import { Buffer, Geometry, Mesh, MeshMaterial, Point, Program, Rectangle, Texture, utils } from "pixi.js";
7
7
  import { DApplications } from "./d-applications";
8
8
  var VERTEX_SHADER = "\nattribute vec2 aPosition;\nattribute vec2 aUv;\nattribute vec4 aColor;\n\nuniform mat3 projectionMatrix;\nuniform mat3 translationMatrix;\n\nvarying vec2 vUv;\nvarying vec4 vColor;\n\nvoid main(void) {\n\tvec3 position = vec3(aPosition.x, aPosition.y, 1.0);\n\tgl_Position = vec4((projectionMatrix * translationMatrix * position).xy, 0.0, 1.0);\n\tvUv = aUv;\n\tvColor = aColor;\n}\n";
9
9
  var FRAGMENT_SHADER = "\nvarying vec2 vUv;\nvarying vec4 vColor;\n\nuniform sampler2D uSampler;\nuniform vec2 uCheckerColors;\n\nvoid main(void) {\n\tvec4 texture = texture2D(uSampler, vUv);\n\tfloat cy = step( 1.0, mod( gl_FragCoord.y / 10.0, 2.0 ) );\n\tfloat cx = step( 1.0, mod( gl_FragCoord.x / 10.0 + cy, 2.0 ) );\n\tfloat c = mix( uCheckerColors.x, uCheckerColors.y, cx );\n\tgl_FragColor = texture * vec4( mix( vec3( c ), vColor.xyz, vColor.a ), 1.0 );\n}";
@@ -228,9 +228,12 @@ var DPickerColorGradientView = /** @class */ (function (_super) {
228
228
  .addAttribute("aPosition", new Buffer(vertices, false, false), 2)
229
229
  .addAttribute("aUv", new Buffer(uvs, false, false), 2)
230
230
  .addAttribute("aColor", new Buffer(colors, false, false), 4);
231
- var shader = Shader.from(VERTEX_SHADER, FRAGMENT_SHADER, {
232
- uSampler: texture,
233
- uCheckerColors: checkerColors
231
+ var program = Program.from(VERTEX_SHADER, FRAGMENT_SHADER);
232
+ var shader = new MeshMaterial(texture, {
233
+ program: program,
234
+ uniforms: {
235
+ uCheckerColors: checkerColors
236
+ }
234
237
  });
235
238
  return new DPickerColorGradientView(nPointsPerData, vertices, uvs, colors, indices, parts, geometry, shader);
236
239
  };
@@ -1 +1 @@
1
- {"version":3,"file":"d-picker-color-gradient-view.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-picker-color-gradient-view.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n\tBuffer,\n\tGeometry,\n\tMesh,\n\tPoint,\n\tRectangle,\n\tShader,\n\tTexture,\n\tTextureUvs,\n\tutils\n} from \"pixi.js\";\nimport { DApplications } from \"./d-applications\";\nimport { DColorGradient } from \"./d-color-gradient\";\n\nconst VERTEX_SHADER = `\nattribute vec2 aPosition;\nattribute vec2 aUv;\nattribute vec4 aColor;\n\nuniform mat3 projectionMatrix;\nuniform mat3 translationMatrix;\n\nvarying vec2 vUv;\nvarying vec4 vColor;\n\nvoid main(void) {\n\tvec3 position = vec3(aPosition.x, aPosition.y, 1.0);\n\tgl_Position = vec4((projectionMatrix * translationMatrix * position).xy, 0.0, 1.0);\n\tvUv = aUv;\n\tvColor = aColor;\n}\n`;\n\nconst FRAGMENT_SHADER = `\nvarying vec2 vUv;\nvarying vec4 vColor;\n\nuniform sampler2D uSampler;\nuniform vec2 uCheckerColors;\n\nvoid main(void) {\n\tvec4 texture = texture2D(uSampler, vUv);\n\tfloat cy = step( 1.0, mod( gl_FragCoord.y / 10.0, 2.0 ) );\n\tfloat cx = step( 1.0, mod( gl_FragCoord.x / 10.0 + cy, 2.0 ) );\n\tfloat c = mix( uCheckerColors.x, uCheckerColors.y, cx );\n\tgl_FragColor = texture * vec4( mix( vec3( c ), vColor.xyz, vColor.a ), 1.0 );\n}`;\n\nexport interface DPickerColorGradientViewPart {\n\tdata: DColorGradient | null;\n\trect: Rectangle;\n}\n\nexport class DPickerColorGradientView extends Mesh {\n\tprotected _nPointsPerData: number;\n\tprotected _vertices: Float32Array;\n\tprotected _uvs: Float32Array;\n\tprotected _colors: Float32Array;\n\tprotected _indices: Uint16Array;\n\tprotected _lastHitIndex: number;\n\n\tprotected _workColor: number[];\n\tprotected _workPoint: Point;\n\n\tprotected _parts: DPickerColorGradientViewPart[];\n\n\tprotected constructor(\n\t\tnPointsPerData: number,\n\t\tvertices: Float32Array,\n\t\tuvs: Float32Array,\n\t\tcolors: Float32Array,\n\t\tindices: Uint16Array,\n\t\tparts: DPickerColorGradientViewPart[],\n\t\tgeometry: Geometry,\n\t\tshader: Shader\n\t) {\n\t\tsuper(geometry, shader);\n\n\t\tthis.interactive = true;\n\t\tthis.interactiveChildren = false;\n\t\tthis.cursor = \"pointer\";\n\n\t\tthis._nPointsPerData = nPointsPerData;\n\t\tthis._vertices = vertices;\n\t\tthis._uvs = uvs;\n\t\tthis._colors = colors;\n\t\tthis._indices = indices;\n\t\tthis._lastHitIndex = -1;\n\t\tthis._workColor = [0, 0, 0];\n\t\tthis._workPoint = new Point();\n\t\tthis._parts = parts;\n\n\t\tshader.uniforms.uSampler.on(\"update\", (): void => {\n\t\t\tthis.update();\n\t\t\tDApplications.update(this);\n\t\t});\n\t\tthis.update();\n\t}\n\n\tgetRectangle(index: number): Rectangle | null {\n\t\tconst parts = this._parts;\n\t\tif (0 <= index && index < parts.length) {\n\t\t\treturn parts[index].rect;\n\t\t}\n\t\treturn null;\n\t}\n\n\tsetRectangle(index: number, x: number, y: number, width: number, height: number): void {\n\t\tconst parts = this._parts;\n\t\tif (0 <= index && index < parts.length) {\n\t\t\tconst rect = parts[index].rect;\n\t\t\trect.x = x;\n\t\t\trect.y = y;\n\t\t\trect.width = width;\n\t\t\trect.height = height;\n\t\t}\n\t}\n\n\tgetData(index: number): DColorGradient | null {\n\t\tconst parts = this._parts;\n\t\tif (0 <= index && index < parts.length) {\n\t\t\treturn parts[index].data;\n\t\t}\n\t\treturn null;\n\t}\n\n\tsetData(index: number, data: DColorGradient | null): void {\n\t\tconst parts = this._parts;\n\t\tif (0 <= index && index < parts.length) {\n\t\t\tparts[index].data = data;\n\t\t}\n\t}\n\n\tgetLastHitIndex(): number {\n\t\treturn this._lastHitIndex;\n\t}\n\n\tprivate setColors(ic: number, colors: Float32Array, rgb: number[], alpha: number) {\n\t\tcolors[ic + 0] = rgb[0];\n\t\tcolors[ic + 1] = rgb[1];\n\t\tcolors[ic + 2] = rgb[2];\n\t\tcolors[ic + 3] = alpha;\n\t\tcolors[ic + 4] = rgb[0];\n\t\tcolors[ic + 5] = rgb[1];\n\t\tcolors[ic + 6] = rgb[2];\n\t\tcolors[ic + 7] = alpha;\n\t}\n\n\tprivate setColorsHex(ic: number, colors: Float32Array, color: number, alpha: number) {\n\t\tconst rgb = utils.hex2rgb(color, this._workColor);\n\t\tthis.setColors(ic, colors, rgb, alpha);\n\t}\n\n\tprivate setColorsWhite(ic: number, colors: Float32Array) {\n\t\tconst rgb = this._workColor;\n\t\trgb[0] = 1;\n\t\trgb[1] = 1;\n\t\trgb[2] = 1;\n\t\tthis.setColors(ic, colors, rgb, 0);\n\t}\n\n\tprivate setColorsPoint(ic: number, data: DColorGradient, index: number, colors: Float32Array) {\n\t\tconst point = data.points[index];\n\t\tif (point != null) {\n\t\t\tthis.setColorsHex(ic, colors, point.color, point.alpha);\n\t\t} else {\n\t\t\tthis.setColorsWhite(ic, colors);\n\t\t}\n\t}\n\n\tprotected setVertices(\n\t\tiv: number,\n\t\tvertices: Float32Array,\n\t\tposition: number,\n\t\trect: Rectangle\n\t): void {\n\t\tconst y = rect.y + rect.height * position;\n\t\tvertices[iv + 0] = rect.x;\n\t\tvertices[iv + 1] = y;\n\t\tvertices[iv + 2] = rect.x + rect.width;\n\t\tvertices[iv + 3] = y;\n\t}\n\n\tprotected setUvs(\n\t\tiv: number,\n\t\tuvs: Float32Array,\n\t\tposition: number,\n\t\ttextureUvs: TextureUvs\n\t): void {\n\t\tconst x0 = textureUvs.x0 + (textureUvs.x3 - textureUvs.x0) * position;\n\t\tconst y0 = textureUvs.y0 + (textureUvs.y3 - textureUvs.y0) * position;\n\t\tconst x1 = textureUvs.x1 + (textureUvs.x2 - textureUvs.x1) * position;\n\t\tconst y1 = textureUvs.y1 + (textureUvs.y2 - textureUvs.y1) * position;\n\t\tuvs[iv + 0] = x0;\n\t\tuvs[iv + 1] = y0;\n\t\tuvs[iv + 2] = x1;\n\t\tuvs[iv + 3] = y1;\n\t}\n\n\tprivate newIndices(ii: number, iv: number, size: number, indices: Uint16Array): Uint16Array {\n\t\tfor (let i = 0; i < size; ++i) {\n\t\t\tindices[ii + 0] = iv + 0;\n\t\t\tindices[ii + 1] = iv + 1;\n\t\t\tindices[ii + 2] = iv + 2;\n\n\t\t\tindices[ii + 3] = iv + 2;\n\t\t\tindices[ii + 4] = iv + 1;\n\t\t\tindices[ii + 5] = iv + 3;\n\n\t\t\tii += 6;\n\t\t\tiv += 2;\n\t\t}\n\t\treturn indices;\n\t}\n\n\tprotected _calculateBounds(): void {\n\t\tconst worldTransform = this.transform.worldTransform;\n\t\tconst rect = this._parts[0].rect;\n\t\tconst bounds = this._bounds;\n\t\tconst work = this._workPoint;\n\t\twork.set(rect.x, rect.y);\n\t\tworldTransform.apply(work, work);\n\t\tbounds.addPoint(work);\n\t\twork.set(rect.x + rect.width, rect.y + rect.height);\n\t\tworldTransform.apply(work, work);\n\t\tbounds.addPoint(work);\n\t}\n\n\tupdate(): void {\n\t\tconst vertices = this._vertices;\n\t\tconst uvs = this._uvs;\n\t\tconst colors = this._colors;\n\t\tconst indices = this._indices;\n\n\t\tconst texture = this.shader.uniforms.uSampler;\n\t\tif (texture._uvs == null) {\n\t\t\ttexture.updateUvs();\n\t\t}\n\t\tconst textureUvs: TextureUvs = texture._uvs;\n\n\t\tlet iv = 0;\n\t\tlet nv = 0;\n\t\tlet ic = 0;\n\t\tlet ii = 0;\n\n\t\tconst parts = this._parts;\n\t\tfor (let i = 0, imax = parts.length; i < imax; ++i) {\n\t\t\tconst data = parts[i].data;\n\t\t\tconst rect = parts[i].rect;\n\t\t\tif (data == null) {\n\t\t\t\tthis.setVertices(iv, vertices, 0, rect);\n\t\t\t\tthis.setUvs(iv, uvs, 0, textureUvs);\n\t\t\t\tthis.setColorsWhite(ic, colors);\n\t\t\t\tthis.setVertices(iv + 4, vertices, 1, rect);\n\t\t\t\tthis.setUvs(iv, uvs, 1, textureUvs);\n\t\t\t\tthis.setColorsWhite(ic + 8, colors);\n\t\t\t\tthis.newIndices(ii, nv, 1, indices);\n\t\t\t\tiv += 4 * 2;\n\t\t\t\tic += 4 * 4;\n\t\t\t\tnv += 4;\n\t\t\t\tii += 6;\n\t\t\t} else {\n\t\t\t\tthis.setVertices(iv, vertices, 0, rect);\n\t\t\t\tthis.setUvs(iv, uvs, 0, textureUvs);\n\t\t\t\tthis.setColorsPoint(ic, data, 0, colors);\n\t\t\t\tiv += 2 * 2;\n\t\t\t\tic += 2 * 4;\n\t\t\t\tconst pointSize = data.points.length;\n\t\t\t\tfor (let j = 0, jmax = Math.min(pointSize, this._nPointsPerData); j < jmax; ++j) {\n\t\t\t\t\tconst point = data.points[j];\n\t\t\t\t\tthis.setVertices(iv, vertices, point.position, rect);\n\t\t\t\t\tthis.setUvs(iv, uvs, point.position, textureUvs);\n\t\t\t\t\tthis.setColorsHex(ic, colors, point.color, point.alpha);\n\t\t\t\t\tiv += 2 * 2;\n\t\t\t\t\tic += 2 * 4;\n\t\t\t\t}\n\t\t\t\tthis.setVertices(iv, vertices, 1, rect);\n\t\t\t\tthis.setUvs(iv, uvs, 1, textureUvs);\n\t\t\t\tthis.setColorsPoint(ic, data, pointSize - 1, colors);\n\t\t\t\tiv += 2 * 2;\n\t\t\t\tic += 2 * 4;\n\n\t\t\t\tthis.newIndices(ii, nv, pointSize + 1, indices);\n\t\t\t\tii += (pointSize + 1) * 6;\n\t\t\t\tnv += (pointSize + 2) * 2;\n\t\t\t}\n\t\t}\n\n\t\tthis.size = ii;\n\n\t\tconst geometry = this.geometry;\n\t\tgeometry.getBuffer(\"aPosition\").update();\n\t\tgeometry.getBuffer(\"aUv\").update();\n\t\tgeometry.getBuffer(\"aColor\").update();\n\t\tgeometry.getIndex().update();\n\t}\n\n\tcontainsPoint(point: Point): boolean {\n\t\tconst local = this.toLocal(point, undefined, this._workPoint);\n\t\tconst parts = this._parts;\n\t\tfor (let i = 0, imax = parts.length; i < imax; ++i) {\n\t\t\tconst rect = parts[i].rect;\n\t\t\tif (rect.contains(local.x, local.y)) {\n\t\t\t\tthis._lastHitIndex = i;\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tstatic from(\n\t\tsize: number,\n\t\tnPointsPerData: number,\n\t\tcheckerColors: [number, number],\n\t\ttexture: Texture = Texture.WHITE\n\t): DPickerColorGradientView {\n\t\tconst vertices = new Float32Array(size * (nPointsPerData + 2) * 2 * 2);\n\t\tconst uvs = new Float32Array(size * (nPointsPerData + 2) * 2 * 2);\n\t\tconst colors = new Float32Array(size * (nPointsPerData + 2) * 2 * 4);\n\t\tconst indices = new Uint16Array(size * (nPointsPerData + 1) * 6);\n\n\t\tconst parts: DPickerColorGradientViewPart[] = [];\n\t\tfor (let i = 0; i < size; ++i) {\n\t\t\tparts.push({\n\t\t\t\tdata: null,\n\t\t\t\trect: new Rectangle()\n\t\t\t});\n\t\t}\n\n\t\tconst geometry = new Geometry()\n\t\t\t.addIndex(new Buffer(indices, false, true))\n\t\t\t.addAttribute(\"aPosition\", new Buffer(vertices, false, false), 2)\n\t\t\t.addAttribute(\"aUv\", new Buffer(uvs, false, false), 2)\n\t\t\t.addAttribute(\"aColor\", new Buffer(colors, false, false), 4);\n\t\tconst shader = Shader.from(VERTEX_SHADER, FRAGMENT_SHADER, {\n\t\t\tuSampler: texture,\n\t\t\tuCheckerColors: checkerColors\n\t\t});\n\n\t\treturn new DPickerColorGradientView(\n\t\t\tnPointsPerData,\n\t\t\tvertices,\n\t\t\tuvs,\n\t\t\tcolors,\n\t\t\tindices,\n\t\t\tparts,\n\t\t\tgeometry,\n\t\t\tshader\n\t\t);\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-picker-color-gradient-view.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-picker-color-gradient-view.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n\tBuffer,\n\tGeometry,\n\tMesh,\n\tMeshMaterial,\n\tPoint,\n\tProgram,\n\tRectangle,\n\tTexture,\n\tTextureUvs,\n\tutils\n} from \"pixi.js\";\nimport { DApplications } from \"./d-applications\";\nimport { DColorGradient } from \"./d-color-gradient\";\n\nconst VERTEX_SHADER = `\nattribute vec2 aPosition;\nattribute vec2 aUv;\nattribute vec4 aColor;\n\nuniform mat3 projectionMatrix;\nuniform mat3 translationMatrix;\n\nvarying vec2 vUv;\nvarying vec4 vColor;\n\nvoid main(void) {\n\tvec3 position = vec3(aPosition.x, aPosition.y, 1.0);\n\tgl_Position = vec4((projectionMatrix * translationMatrix * position).xy, 0.0, 1.0);\n\tvUv = aUv;\n\tvColor = aColor;\n}\n`;\n\nconst FRAGMENT_SHADER = `\nvarying vec2 vUv;\nvarying vec4 vColor;\n\nuniform sampler2D uSampler;\nuniform vec2 uCheckerColors;\n\nvoid main(void) {\n\tvec4 texture = texture2D(uSampler, vUv);\n\tfloat cy = step( 1.0, mod( gl_FragCoord.y / 10.0, 2.0 ) );\n\tfloat cx = step( 1.0, mod( gl_FragCoord.x / 10.0 + cy, 2.0 ) );\n\tfloat c = mix( uCheckerColors.x, uCheckerColors.y, cx );\n\tgl_FragColor = texture * vec4( mix( vec3( c ), vColor.xyz, vColor.a ), 1.0 );\n}`;\n\nexport interface DPickerColorGradientViewPart {\n\tdata: DColorGradient | null;\n\trect: Rectangle;\n}\n\nexport class DPickerColorGradientView extends Mesh {\n\tprotected _nPointsPerData: number;\n\tprotected _vertices: Float32Array;\n\tprotected _uvs: Float32Array;\n\tprotected _colors: Float32Array;\n\tprotected _indices: Uint16Array;\n\tprotected _lastHitIndex: number;\n\n\tprotected _workColor: number[];\n\tprotected _workPoint: Point;\n\n\tprotected _parts: DPickerColorGradientViewPart[];\n\n\tprotected constructor(\n\t\tnPointsPerData: number,\n\t\tvertices: Float32Array,\n\t\tuvs: Float32Array,\n\t\tcolors: Float32Array,\n\t\tindices: Uint16Array,\n\t\tparts: DPickerColorGradientViewPart[],\n\t\tgeometry: Geometry,\n\t\tshader: MeshMaterial\n\t) {\n\t\tsuper(geometry, shader);\n\n\t\tthis.interactive = true;\n\t\tthis.interactiveChildren = false;\n\t\tthis.cursor = \"pointer\";\n\n\t\tthis._nPointsPerData = nPointsPerData;\n\t\tthis._vertices = vertices;\n\t\tthis._uvs = uvs;\n\t\tthis._colors = colors;\n\t\tthis._indices = indices;\n\t\tthis._lastHitIndex = -1;\n\t\tthis._workColor = [0, 0, 0];\n\t\tthis._workPoint = new Point();\n\t\tthis._parts = parts;\n\n\t\tshader.uniforms.uSampler.on(\"update\", (): void => {\n\t\t\tthis.update();\n\t\t\tDApplications.update(this);\n\t\t});\n\t\tthis.update();\n\t}\n\n\tgetRectangle(index: number): Rectangle | null {\n\t\tconst parts = this._parts;\n\t\tif (0 <= index && index < parts.length) {\n\t\t\treturn parts[index].rect;\n\t\t}\n\t\treturn null;\n\t}\n\n\tsetRectangle(index: number, x: number, y: number, width: number, height: number): void {\n\t\tconst parts = this._parts;\n\t\tif (0 <= index && index < parts.length) {\n\t\t\tconst rect = parts[index].rect;\n\t\t\trect.x = x;\n\t\t\trect.y = y;\n\t\t\trect.width = width;\n\t\t\trect.height = height;\n\t\t}\n\t}\n\n\tgetData(index: number): DColorGradient | null {\n\t\tconst parts = this._parts;\n\t\tif (0 <= index && index < parts.length) {\n\t\t\treturn parts[index].data;\n\t\t}\n\t\treturn null;\n\t}\n\n\tsetData(index: number, data: DColorGradient | null): void {\n\t\tconst parts = this._parts;\n\t\tif (0 <= index && index < parts.length) {\n\t\t\tparts[index].data = data;\n\t\t}\n\t}\n\n\tgetLastHitIndex(): number {\n\t\treturn this._lastHitIndex;\n\t}\n\n\tprivate setColors(ic: number, colors: Float32Array, rgb: number[], alpha: number) {\n\t\tcolors[ic + 0] = rgb[0];\n\t\tcolors[ic + 1] = rgb[1];\n\t\tcolors[ic + 2] = rgb[2];\n\t\tcolors[ic + 3] = alpha;\n\t\tcolors[ic + 4] = rgb[0];\n\t\tcolors[ic + 5] = rgb[1];\n\t\tcolors[ic + 6] = rgb[2];\n\t\tcolors[ic + 7] = alpha;\n\t}\n\n\tprivate setColorsHex(ic: number, colors: Float32Array, color: number, alpha: number) {\n\t\tconst rgb = utils.hex2rgb(color, this._workColor);\n\t\tthis.setColors(ic, colors, rgb, alpha);\n\t}\n\n\tprivate setColorsWhite(ic: number, colors: Float32Array) {\n\t\tconst rgb = this._workColor;\n\t\trgb[0] = 1;\n\t\trgb[1] = 1;\n\t\trgb[2] = 1;\n\t\tthis.setColors(ic, colors, rgb, 0);\n\t}\n\n\tprivate setColorsPoint(ic: number, data: DColorGradient, index: number, colors: Float32Array) {\n\t\tconst point = data.points[index];\n\t\tif (point != null) {\n\t\t\tthis.setColorsHex(ic, colors, point.color, point.alpha);\n\t\t} else {\n\t\t\tthis.setColorsWhite(ic, colors);\n\t\t}\n\t}\n\n\tprotected setVertices(\n\t\tiv: number,\n\t\tvertices: Float32Array,\n\t\tposition: number,\n\t\trect: Rectangle\n\t): void {\n\t\tconst y = rect.y + rect.height * position;\n\t\tvertices[iv + 0] = rect.x;\n\t\tvertices[iv + 1] = y;\n\t\tvertices[iv + 2] = rect.x + rect.width;\n\t\tvertices[iv + 3] = y;\n\t}\n\n\tprotected setUvs(\n\t\tiv: number,\n\t\tuvs: Float32Array,\n\t\tposition: number,\n\t\ttextureUvs: TextureUvs\n\t): void {\n\t\tconst x0 = textureUvs.x0 + (textureUvs.x3 - textureUvs.x0) * position;\n\t\tconst y0 = textureUvs.y0 + (textureUvs.y3 - textureUvs.y0) * position;\n\t\tconst x1 = textureUvs.x1 + (textureUvs.x2 - textureUvs.x1) * position;\n\t\tconst y1 = textureUvs.y1 + (textureUvs.y2 - textureUvs.y1) * position;\n\t\tuvs[iv + 0] = x0;\n\t\tuvs[iv + 1] = y0;\n\t\tuvs[iv + 2] = x1;\n\t\tuvs[iv + 3] = y1;\n\t}\n\n\tprivate newIndices(ii: number, iv: number, size: number, indices: Uint16Array): Uint16Array {\n\t\tfor (let i = 0; i < size; ++i) {\n\t\t\tindices[ii + 0] = iv + 0;\n\t\t\tindices[ii + 1] = iv + 1;\n\t\t\tindices[ii + 2] = iv + 2;\n\n\t\t\tindices[ii + 3] = iv + 2;\n\t\t\tindices[ii + 4] = iv + 1;\n\t\t\tindices[ii + 5] = iv + 3;\n\n\t\t\tii += 6;\n\t\t\tiv += 2;\n\t\t}\n\t\treturn indices;\n\t}\n\n\tprotected _calculateBounds(): void {\n\t\tconst worldTransform = this.transform.worldTransform;\n\t\tconst rect = this._parts[0].rect;\n\t\tconst bounds = this._bounds;\n\t\tconst work = this._workPoint;\n\t\twork.set(rect.x, rect.y);\n\t\tworldTransform.apply(work, work);\n\t\tbounds.addPoint(work);\n\t\twork.set(rect.x + rect.width, rect.y + rect.height);\n\t\tworldTransform.apply(work, work);\n\t\tbounds.addPoint(work);\n\t}\n\n\tupdate(): void {\n\t\tconst vertices = this._vertices;\n\t\tconst uvs = this._uvs;\n\t\tconst colors = this._colors;\n\t\tconst indices = this._indices;\n\n\t\tconst texture = this.shader.uniforms.uSampler;\n\t\tif (texture._uvs == null) {\n\t\t\ttexture.updateUvs();\n\t\t}\n\t\tconst textureUvs: TextureUvs = texture._uvs;\n\n\t\tlet iv = 0;\n\t\tlet nv = 0;\n\t\tlet ic = 0;\n\t\tlet ii = 0;\n\n\t\tconst parts = this._parts;\n\t\tfor (let i = 0, imax = parts.length; i < imax; ++i) {\n\t\t\tconst data = parts[i].data;\n\t\t\tconst rect = parts[i].rect;\n\t\t\tif (data == null) {\n\t\t\t\tthis.setVertices(iv, vertices, 0, rect);\n\t\t\t\tthis.setUvs(iv, uvs, 0, textureUvs);\n\t\t\t\tthis.setColorsWhite(ic, colors);\n\t\t\t\tthis.setVertices(iv + 4, vertices, 1, rect);\n\t\t\t\tthis.setUvs(iv, uvs, 1, textureUvs);\n\t\t\t\tthis.setColorsWhite(ic + 8, colors);\n\t\t\t\tthis.newIndices(ii, nv, 1, indices);\n\t\t\t\tiv += 4 * 2;\n\t\t\t\tic += 4 * 4;\n\t\t\t\tnv += 4;\n\t\t\t\tii += 6;\n\t\t\t} else {\n\t\t\t\tthis.setVertices(iv, vertices, 0, rect);\n\t\t\t\tthis.setUvs(iv, uvs, 0, textureUvs);\n\t\t\t\tthis.setColorsPoint(ic, data, 0, colors);\n\t\t\t\tiv += 2 * 2;\n\t\t\t\tic += 2 * 4;\n\t\t\t\tconst pointSize = data.points.length;\n\t\t\t\tfor (let j = 0, jmax = Math.min(pointSize, this._nPointsPerData); j < jmax; ++j) {\n\t\t\t\t\tconst point = data.points[j];\n\t\t\t\t\tthis.setVertices(iv, vertices, point.position, rect);\n\t\t\t\t\tthis.setUvs(iv, uvs, point.position, textureUvs);\n\t\t\t\t\tthis.setColorsHex(ic, colors, point.color, point.alpha);\n\t\t\t\t\tiv += 2 * 2;\n\t\t\t\t\tic += 2 * 4;\n\t\t\t\t}\n\t\t\t\tthis.setVertices(iv, vertices, 1, rect);\n\t\t\t\tthis.setUvs(iv, uvs, 1, textureUvs);\n\t\t\t\tthis.setColorsPoint(ic, data, pointSize - 1, colors);\n\t\t\t\tiv += 2 * 2;\n\t\t\t\tic += 2 * 4;\n\n\t\t\t\tthis.newIndices(ii, nv, pointSize + 1, indices);\n\t\t\t\tii += (pointSize + 1) * 6;\n\t\t\t\tnv += (pointSize + 2) * 2;\n\t\t\t}\n\t\t}\n\n\t\tthis.size = ii;\n\n\t\tconst geometry = this.geometry;\n\t\tgeometry.getBuffer(\"aPosition\").update();\n\t\tgeometry.getBuffer(\"aUv\").update();\n\t\tgeometry.getBuffer(\"aColor\").update();\n\t\tgeometry.getIndex().update();\n\t}\n\n\tcontainsPoint(point: Point): boolean {\n\t\tconst local = this.toLocal(point, undefined, this._workPoint);\n\t\tconst parts = this._parts;\n\t\tfor (let i = 0, imax = parts.length; i < imax; ++i) {\n\t\t\tconst rect = parts[i].rect;\n\t\t\tif (rect.contains(local.x, local.y)) {\n\t\t\t\tthis._lastHitIndex = i;\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tstatic from(\n\t\tsize: number,\n\t\tnPointsPerData: number,\n\t\tcheckerColors: [number, number],\n\t\ttexture: Texture = Texture.WHITE\n\t): DPickerColorGradientView {\n\t\tconst vertices = new Float32Array(size * (nPointsPerData + 2) * 2 * 2);\n\t\tconst uvs = new Float32Array(size * (nPointsPerData + 2) * 2 * 2);\n\t\tconst colors = new Float32Array(size * (nPointsPerData + 2) * 2 * 4);\n\t\tconst indices = new Uint16Array(size * (nPointsPerData + 1) * 6);\n\n\t\tconst parts: DPickerColorGradientViewPart[] = [];\n\t\tfor (let i = 0; i < size; ++i) {\n\t\t\tparts.push({\n\t\t\t\tdata: null,\n\t\t\t\trect: new Rectangle()\n\t\t\t});\n\t\t}\n\n\t\tconst geometry = new Geometry()\n\t\t\t.addIndex(new Buffer(indices, false, true))\n\t\t\t.addAttribute(\"aPosition\", new Buffer(vertices, false, false), 2)\n\t\t\t.addAttribute(\"aUv\", new Buffer(uvs, false, false), 2)\n\t\t\t.addAttribute(\"aColor\", new Buffer(colors, false, false), 4);\n\t\tconst program = Program.from(VERTEX_SHADER, FRAGMENT_SHADER);\n\t\tconst shader = new MeshMaterial(texture, {\n\t\t\tprogram,\n\t\t\tuniforms: {\n\t\t\t\tuCheckerColors: checkerColors\n\t\t\t}\n\t\t});\n\n\t\treturn new DPickerColorGradientView(\n\t\t\tnPointsPerData,\n\t\t\tvertices,\n\t\t\tuvs,\n\t\t\tcolors,\n\t\t\tindices,\n\t\t\tparts,\n\t\t\tgeometry,\n\t\t\tshader\n\t\t);\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"d-picker-color-gradient.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-picker-color-gradient.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction, Point, Sprite, Texture } from \"pixi.js\";\nimport InteractionEvent = interaction.InteractionEvent;\nimport { DAlignWith } from \"./d-align-with\";\nimport { DApplications } from \"./d-applications\";\nimport { DBase, DBaseOptions, DThemeBase } from \"./d-base\";\nimport { DColorGradient, DColorGradientPoint } from \"./d-color-gradient\";\nimport { DColorGradientObservable } from \"./d-color-gradient-observable\";\nimport { DInputReal } from \"./d-input-real\";\nimport { DPickerColor } from \"./d-picker-color\";\nimport { DPickerColorGradientRecent } from \"./d-picker-color-gradient-recent\";\nimport { DPickerColorGradientView } from \"./d-picker-color-gradient-view\";\nimport { UtilKeyboardEvent } from \"./util/util-keyboard-event\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\n\nexport interface DPickerColorGradientOptions<\n\tTHEME extends DThemePickerColorGradient = DThemePickerColorGradient\n> extends DBaseOptions<THEME> {}\n\nexport interface DThemePickerColorGradient extends DThemeBase {\n\tgetGradientPointsWidth(): number;\n\tgetGradientPointsMargin(): number;\n\n\tgetGradientAnchorTexture(): Texture;\n\tgetGradientAnchorOutlinedTexture(): Texture;\n\tgetGradientAnchorOutlineTexture(): Texture;\n\n\tgetGradientDirectionMargin(): number;\n\tgetGradientDirectionTexture(): Texture;\n\n\tgetGradientRecentColumn(): number;\n\tgetGradientRecentWidth(): number;\n\tgetGradientRecentMargin(): number;\n\tgetGradientRecentCount(): number;\n\tgetGradientRecents(): DColorGradient[];\n\n\tgetGradientCheckerColors(): [number, number];\n}\n\nexport class DPickerColorGradient<\n\tTHEME extends DThemePickerColorGradient = DThemePickerColorGradient,\n\tOPTIONS extends DPickerColorGradientOptions<THEME> = DPickerColorGradientOptions<THEME>\n> extends DBase<THEME, OPTIONS> {\n\tprotected static RECENT_COLOR_GRADIENT: DPickerColorGradientRecent | null = null;\n\n\tprotected _picker!: DPickerColor;\n\tprotected _view!: DPickerColorGradientView;\n\tprotected _anchors!: Sprite[];\n\tprotected _recent!: DPickerColorGradientRecent;\n\n\tprotected _onAnchorDownBound!: (e: InteractionEvent) => void;\n\tprotected _onAnchorMoveBound!: (e: InteractionEvent) => void;\n\tprotected _onAnchorUpBound!: (e: InteractionEvent) => void;\n\n\tprotected _value!: DColorGradientObservable;\n\tprotected _work!: Point;\n\n\tprotected init(options?: OPTIONS): void {\n\t\tsuper.init(options);\n\n\t\tconst theme = this.theme;\n\t\tconst padding = this._padding;\n\t\tconst paddingTop = padding.getTop();\n\t\tconst paddingRight = padding.getRight();\n\t\tconst paddingBottom = padding.getBottom();\n\t\tconst paddingLeft = padding.getLeft();\n\t\tthis._work = new Point();\n\n\t\t// Picker\n\t\tconst gradientPointsWidth = theme.getGradientPointsWidth();\n\t\tconst gradientPointsMargin = theme.getGradientPointsMargin();\n\t\tconst picker = new DPickerColor({\n\t\t\tx: paddingLeft + gradientPointsWidth + gradientPointsMargin,\n\t\t\ty: paddingTop\n\t\t});\n\t\tthis._picker = picker;\n\t\tpicker.on(\"newcolorchange\", (color: number): void => {\n\t\t\tthis.onAnchorColorChange(color);\n\t\t});\n\t\tpicker.on(\"newalphachange\", (alpha: number): void => {\n\t\t\tthis.onAnchorAlphaChange(alpha);\n\t\t});\n\t\tthis.addChild(picker);\n\n\t\t// Points view\n\t\tconst view = (this._view = DPickerColorGradientView.from(\n\t\t\t17,\n\t\t\t10,\n\t\t\ttheme.getGradientCheckerColors()\n\t\t));\n\t\tview.setRectangle(0, paddingLeft, paddingTop, gradientPointsWidth, picker.height);\n\t\tthis.addChild(view);\n\t\tview.on(UtilPointerEvent.down, (e: InteractionEvent): void => {\n\t\t\tif (view.getLastHitIndex() === 0) {\n\t\t\t\tthis.onViewDown(e);\n\t\t\t}\n\t\t});\n\n\t\t// Anchor\n\t\tthis._onAnchorDownBound = (e: InteractionEvent): void => {\n\t\t\tthis.onAnchorDown(e);\n\t\t};\n\t\tthis._onAnchorMoveBound = (e: InteractionEvent): void => {\n\t\t\tthis.onAnchorMove(e);\n\t\t};\n\t\tthis._onAnchorUpBound = (e: InteractionEvent): void => {\n\t\t\tthis.onAnchorUp(e);\n\t\t};\n\t\tthis._anchors = [];\n\n\t\t//\n\t\tconst recentColumn = theme.getGradientRecentColumn();\n\t\tconst recentWidth = theme.getGradientRecentWidth();\n\t\tconst recentMargin = theme.getGradientRecentMargin();\n\t\tconst recentWidthAndMargin = recentWidth + recentMargin;\n\t\tconst inputLabelWidth = picker.theme.getInputLabelWidth();\n\t\tconst inputWidth = recentWidth * recentColumn + recentMargin * (recentColumn - 1);\n\t\tconst inputMargin = 5;\n\t\tconst inputDirectionMargin = theme.getGradientDirectionMargin();\n\t\tconst inputDirectionTexture = theme.getGradientDirectionTexture();\n\t\tconst inputLeft = picker.x + picker.width + inputDirectionMargin;\n\t\tconst inputDirection = new DInputReal({\n\t\t\tparent: this,\n\t\t\tx: inputLeft + inputLabelWidth + inputMargin,\n\t\t\ty: paddingTop,\n\t\t\twidth: inputWidth - (inputLabelWidth + inputMargin) * 2,\n\t\t\tstep: 1,\n\t\t\timage: {\n\t\t\t\tsource: inputDirectionTexture,\n\t\t\t\talign: {\n\t\t\t\t\twith: DAlignWith.BORDER\n\t\t\t\t},\n\t\t\t\tmargin: {\n\t\t\t\t\thorizontal: -inputDirectionTexture.width - inputMargin\n\t\t\t\t}\n\t\t\t},\n\t\t\ton: {\n\t\t\t\tchange: (value: number) => {\n\t\t\t\t\t(this._value as any)._direction = value;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t// Recent gradients\n\t\tconst x0 = inputLeft;\n\t\tconst y0 = inputDirection.y + inputDirection.height + inputDirectionMargin;\n\t\tif (DPickerColorGradient.RECENT_COLOR_GRADIENT == null) {\n\t\t\tDPickerColorGradient.RECENT_COLOR_GRADIENT = new DPickerColorGradientRecent(\n\t\t\t\ttheme.getGradientRecents(),\n\t\t\t\ttheme.getGradientRecentCount()\n\t\t\t);\n\t\t}\n\t\tthis._recent = DPickerColorGradient.RECENT_COLOR_GRADIENT;\n\t\tconst recent = this._recent;\n\t\tfor (let i = 0, imax = recent.getCapacity(); i < imax; ++i) {\n\t\t\tconst ix = i % recentColumn;\n\t\t\tconst x = x0 + ix * recentWidthAndMargin;\n\t\t\tconst iy = (i / recentColumn) | 0;\n\t\t\tconst y = y0 + iy * recentWidthAndMargin;\n\t\t\tview.setRectangle(1 + i, x, y, recentWidth, recentWidth);\n\t\t}\n\t\trecent.on(\"change\", (): void => {\n\t\t\tthis.onRecentUpdate();\n\t\t});\n\t\tview.on(UtilPointerEvent.tap, (e: InteractionEvent): void => {\n\t\t\tconst lastHitIndex = view.getLastHitIndex();\n\t\t\tif (1 <= lastHitIndex) {\n\t\t\t\tthis.onRecentClick(view.getData(lastHitIndex));\n\t\t\t}\n\t\t});\n\n\t\t// Points\n\t\tconst data = new DColorGradientObservable();\n\t\tthis._value = data;\n\t\tdata.on(\"change\", (): void => {\n\t\t\tthis.updateAnchors();\n\t\t\tview.update();\n\t\t});\n\t\tdata.on(\"selectionchange\", (point: DColorGradientPoint): void => {\n\t\t\tthis.onAnchorSelect(point);\n\t\t});\n\t\tdata.on(\"directionchange\", (value: number): void => {\n\t\t\tinputDirection.value = value;\n\t\t});\n\t\tview.setData(0, data);\n\t\tview.update();\n\t\tinputDirection.value = data.direction;\n\t\tthis.updateAnchors();\n\t\tconst selected = data.selected;\n\t\tif (selected != null) {\n\t\t\tthis.onAnchorSelect(selected);\n\t\t}\n\n\t\t// Width\n\t\tif (options == null || options.width == null) {\n\t\t\tthis.width =\n\t\t\t\tpaddingLeft +\n\t\t\t\tgradientPointsWidth +\n\t\t\t\tgradientPointsMargin +\n\t\t\t\tpicker.width +\n\t\t\t\tinputDirectionMargin +\n\t\t\t\t(recentColumn - 1) * recentMargin +\n\t\t\t\trecentColumn * recentWidth +\n\t\t\t\tpaddingRight;\n\t\t}\n\n\t\t// Height\n\t\tif (options == null || options.height == null) {\n\t\t\tthis.height = paddingTop + picker.height + paddingBottom;\n\t\t}\n\t}\n\n\tget value(): DColorGradientObservable {\n\t\treturn this._value;\n\t}\n\n\tget recent(): DPickerColorGradientRecent {\n\t\treturn this._recent;\n\t}\n\n\tprotected onRecentClick(recentData: DColorGradient | null): void {\n\t\tconst value = this._value;\n\t\tif (recentData != null) {\n\t\t\tvalue.fromObject(recentData);\n\t\t} else {\n\t\t\tvalue.reset();\n\t\t}\n\t}\n\n\tprotected onRecentUpdate(): void {\n\t\tconst recent = this._recent;\n\t\tconst view = this._view;\n\t\tfor (let i = 0, imax = recent.size(); i < imax; ++i) {\n\t\t\tview.setData(1 + i, recent.get(i));\n\t\t}\n\t\tview.update();\n\t\tDApplications.update(this);\n\t}\n\n\tprotected toAnchorPosition(e: InteractionEvent): number {\n\t\tconst local = this.toLocal(e.data.global, undefined, this._work);\n\t\treturn Math.max(0, Math.min(1, (local.y - this.padding.getTop()) / this._picker.height));\n\t}\n\n\tprotected onViewDown(e: InteractionEvent): void {\n\t\tthis._value.addAt(this.toAnchorPosition(e));\n\t\tthis.onAnchorDragStart();\n\t}\n\n\tprotected onAnchorDown(e: InteractionEvent): void {\n\t\tconst target = e.target;\n\t\tif (target instanceof Sprite) {\n\t\t\tconst value = this._value;\n\t\t\tconst index = this._anchors.indexOf(target);\n\t\t\tif (0 <= index && index < value.points.length) {\n\t\t\t\tvalue.points[index].selected = true;\n\t\t\t\tthis.onAnchorDragStart();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onAnchorSelect(point: DColorGradientPoint): void {\n\t\tconst picker = this._picker;\n\t\tpicker.current.color = point.color;\n\t\tpicker.current.alpha = point.alpha;\n\t\tpicker.new.color = point.color;\n\t\tpicker.new.alpha = point.alpha;\n\t}\n\n\tprotected onAnchorColorChange(color: number): void {\n\t\tconst value = this._value;\n\t\tif (value != null) {\n\t\t\tconst selected = value.selected;\n\t\t\tif (selected != null) {\n\t\t\t\tselected.color = color;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onAnchorAlphaChange(alpha: number): void {\n\t\tconst value = this._value;\n\t\tif (value != null) {\n\t\t\tconst selected = value.selected;\n\t\t\tif (selected != null) {\n\t\t\t\tselected.alpha = alpha;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onAnchorDragStart(): void {\n\t\tconst layer = DApplications.getLayer(this);\n\t\tif (layer) {\n\t\t\tconst stage = layer.stage;\n\t\t\tstage.on(UtilPointerEvent.move, this._onAnchorMoveBound);\n\t\t\tstage.on(UtilPointerEvent.up, this._onAnchorUpBound);\n\t\t}\n\t}\n\n\tprotected onAnchorMove(e: InteractionEvent): void {\n\t\tconst value = this._value;\n\t\tif (value != null) {\n\t\t\tconst selected = value.selected;\n\t\t\tif (selected != null) {\n\t\t\t\tselected.position = this.toAnchorPosition(e);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onAnchorUp(e: InteractionEvent): void {\n\t\tconst layer = DApplications.getLayer(this);\n\t\tif (layer) {\n\t\t\tconst stage = layer.stage;\n\t\t\tstage.off(UtilPointerEvent.move, this._onAnchorMoveBound);\n\t\t\tstage.off(UtilPointerEvent.up, this._onAnchorUpBound);\n\t\t}\n\t}\n\n\tprotected updateAnchors(): void {\n\t\tconst theme = this.theme;\n\t\tconst anchorTexture = theme.getGradientAnchorTexture();\n\t\tconst anchorOutlinedTexture = theme.getGradientAnchorOutlinedTexture();\n\t\tconst gradientPointsWidth = theme.getGradientPointsWidth();\n\n\t\tconst value = this._value;\n\t\tconst pointSize = value.points.length;\n\n\t\tconst anchors = this._anchors;\n\t\tconst anchorSize = anchors.length;\n\t\tfor (let i = anchorSize; i < pointSize; ++i) {\n\t\t\tconst newAnchor = new Sprite(anchorTexture);\n\t\t\tnewAnchor.anchor.set(0.5, 0.5);\n\t\t\tnewAnchor.cursor = \"pointer\";\n\t\t\tnewAnchor.interactive = true;\n\t\t\tnewAnchor.on(UtilPointerEvent.down, this._onAnchorDownBound);\n\t\t\tanchors.push(newAnchor);\n\t\t\tthis.addChild(newAnchor);\n\t\t}\n\n\t\tfor (let i = anchorSize - 1; pointSize <= i; --i) {\n\t\t\tconst oldAnchor = anchors[i];\n\t\t\toldAnchor.off(UtilPointerEvent.down, this._onAnchorDownBound);\n\t\t\toldAnchor.destroy();\n\t\t}\n\t\tanchors.length = pointSize;\n\n\t\tconst y = this.padding.getTop();\n\t\tconst right = this.padding.getLeft() + gradientPointsWidth;\n\t\tconst height = this._picker.height;\n\t\tfor (let i = 0; i < pointSize; ++i) {\n\t\t\tconst point = value.points[i];\n\t\t\tconst anchor = anchors[i];\n\t\t\tanchor.tint = point.color;\n\t\t\tanchor.position.set(right, y + height * point.position);\n\t\t\tanchor.texture = point.selected ? anchorOutlinedTexture : anchorTexture;\n\t\t}\n\n\t\tDApplications.update(this);\n\t}\n\n\tonKeyDown(e: KeyboardEvent): boolean {\n\t\tif (UtilKeyboardEvent.isDeleteKey(e)) {\n\t\t\tconst value = this._value;\n\t\t\tif (value != null) {\n\t\t\t\tconst selected = value.selected;\n\t\t\t\tif (selected != null) {\n\t\t\t\t\tvalue.remove(selected);\n\t\t\t\t\tsuper.onKeyDown(e);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn super.onKeyDown(e);\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DPickerColorGradient\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-picker-color-gradient.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-picker-color-gradient.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent, Point, Sprite, Texture } from \"pixi.js\";\nimport { DAlignWith } from \"./d-align-with\";\nimport { DApplications } from \"./d-applications\";\nimport { DBase, DBaseOptions, DThemeBase } from \"./d-base\";\nimport { DColorGradient, DColorGradientPoint } from \"./d-color-gradient\";\nimport { DColorGradientObservable } from \"./d-color-gradient-observable\";\nimport { DInputReal } from \"./d-input-real\";\nimport { DPickerColor } from \"./d-picker-color\";\nimport { DPickerColorGradientRecent } from \"./d-picker-color-gradient-recent\";\nimport { DPickerColorGradientView } from \"./d-picker-color-gradient-view\";\nimport { UtilKeyboardEvent } from \"./util/util-keyboard-event\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\n\nexport interface DPickerColorGradientOptions<\n\tTHEME extends DThemePickerColorGradient = DThemePickerColorGradient\n> extends DBaseOptions<THEME> {}\n\nexport interface DThemePickerColorGradient extends DThemeBase {\n\tgetGradientPointsWidth(): number;\n\tgetGradientPointsMargin(): number;\n\n\tgetGradientAnchorTexture(): Texture;\n\tgetGradientAnchorOutlinedTexture(): Texture;\n\tgetGradientAnchorOutlineTexture(): Texture;\n\n\tgetGradientDirectionMargin(): number;\n\tgetGradientDirectionTexture(): Texture;\n\n\tgetGradientRecentColumn(): number;\n\tgetGradientRecentWidth(): number;\n\tgetGradientRecentMargin(): number;\n\tgetGradientRecentCount(): number;\n\tgetGradientRecents(): DColorGradient[];\n\n\tgetGradientCheckerColors(): [number, number];\n}\n\nexport class DPickerColorGradient<\n\tTHEME extends DThemePickerColorGradient = DThemePickerColorGradient,\n\tOPTIONS extends DPickerColorGradientOptions<THEME> = DPickerColorGradientOptions<THEME>\n> extends DBase<THEME, OPTIONS> {\n\tprotected static RECENT_COLOR_GRADIENT: DPickerColorGradientRecent | null = null;\n\n\tprotected _picker!: DPickerColor;\n\tprotected _view!: DPickerColorGradientView;\n\tprotected _anchors!: Sprite[];\n\tprotected _recent!: DPickerColorGradientRecent;\n\n\tprotected _onAnchorDownBound!: (e: InteractionEvent) => void;\n\tprotected _onAnchorMoveBound!: (e: InteractionEvent) => void;\n\tprotected _onAnchorUpBound!: (e: InteractionEvent) => void;\n\n\tprotected _value!: DColorGradientObservable;\n\tprotected _work!: Point;\n\n\tprotected init(options?: OPTIONS): void {\n\t\tsuper.init(options);\n\n\t\tconst theme = this.theme;\n\t\tconst padding = this._padding;\n\t\tconst paddingTop = padding.getTop();\n\t\tconst paddingRight = padding.getRight();\n\t\tconst paddingBottom = padding.getBottom();\n\t\tconst paddingLeft = padding.getLeft();\n\t\tthis._work = new Point();\n\n\t\t// Picker\n\t\tconst gradientPointsWidth = theme.getGradientPointsWidth();\n\t\tconst gradientPointsMargin = theme.getGradientPointsMargin();\n\t\tconst picker = new DPickerColor({\n\t\t\tx: paddingLeft + gradientPointsWidth + gradientPointsMargin,\n\t\t\ty: paddingTop\n\t\t});\n\t\tthis._picker = picker;\n\t\tpicker.on(\"newcolorchange\", (color: number): void => {\n\t\t\tthis.onAnchorColorChange(color);\n\t\t});\n\t\tpicker.on(\"newalphachange\", (alpha: number): void => {\n\t\t\tthis.onAnchorAlphaChange(alpha);\n\t\t});\n\t\tthis.addChild(picker);\n\n\t\t// Points view\n\t\tconst view = (this._view = DPickerColorGradientView.from(\n\t\t\t17,\n\t\t\t10,\n\t\t\ttheme.getGradientCheckerColors()\n\t\t));\n\t\tview.setRectangle(0, paddingLeft, paddingTop, gradientPointsWidth, picker.height);\n\t\tthis.addChild(view);\n\t\tview.on(UtilPointerEvent.down, (e: InteractionEvent): void => {\n\t\t\tif (view.getLastHitIndex() === 0) {\n\t\t\t\tthis.onViewDown(e);\n\t\t\t}\n\t\t});\n\n\t\t// Anchor\n\t\tthis._onAnchorDownBound = (e: InteractionEvent): void => {\n\t\t\tthis.onAnchorDown(e);\n\t\t};\n\t\tthis._onAnchorMoveBound = (e: InteractionEvent): void => {\n\t\t\tthis.onAnchorMove(e);\n\t\t};\n\t\tthis._onAnchorUpBound = (e: InteractionEvent): void => {\n\t\t\tthis.onAnchorUp(e);\n\t\t};\n\t\tthis._anchors = [];\n\n\t\t//\n\t\tconst recentColumn = theme.getGradientRecentColumn();\n\t\tconst recentWidth = theme.getGradientRecentWidth();\n\t\tconst recentMargin = theme.getGradientRecentMargin();\n\t\tconst recentWidthAndMargin = recentWidth + recentMargin;\n\t\tconst inputLabelWidth = picker.theme.getInputLabelWidth();\n\t\tconst inputWidth = recentWidth * recentColumn + recentMargin * (recentColumn - 1);\n\t\tconst inputMargin = 5;\n\t\tconst inputDirectionMargin = theme.getGradientDirectionMargin();\n\t\tconst inputDirectionTexture = theme.getGradientDirectionTexture();\n\t\tconst inputLeft = picker.x + picker.width + inputDirectionMargin;\n\t\tconst inputDirection = new DInputReal({\n\t\t\tparent: this,\n\t\t\tx: inputLeft + inputLabelWidth + inputMargin,\n\t\t\ty: paddingTop,\n\t\t\twidth: inputWidth - (inputLabelWidth + inputMargin) * 2,\n\t\t\tstep: 1,\n\t\t\timage: {\n\t\t\t\tsource: inputDirectionTexture,\n\t\t\t\talign: {\n\t\t\t\t\twith: DAlignWith.BORDER\n\t\t\t\t},\n\t\t\t\tmargin: {\n\t\t\t\t\thorizontal: -inputDirectionTexture.width - inputMargin\n\t\t\t\t}\n\t\t\t},\n\t\t\ton: {\n\t\t\t\tchange: (value: number) => {\n\t\t\t\t\t(this._value as any)._direction = value;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t// Recent gradients\n\t\tconst x0 = inputLeft;\n\t\tconst y0 = inputDirection.y + inputDirection.height + inputDirectionMargin;\n\t\tif (DPickerColorGradient.RECENT_COLOR_GRADIENT == null) {\n\t\t\tDPickerColorGradient.RECENT_COLOR_GRADIENT = new DPickerColorGradientRecent(\n\t\t\t\ttheme.getGradientRecents(),\n\t\t\t\ttheme.getGradientRecentCount()\n\t\t\t);\n\t\t}\n\t\tthis._recent = DPickerColorGradient.RECENT_COLOR_GRADIENT;\n\t\tconst recent = this._recent;\n\t\tfor (let i = 0, imax = recent.getCapacity(); i < imax; ++i) {\n\t\t\tconst ix = i % recentColumn;\n\t\t\tconst x = x0 + ix * recentWidthAndMargin;\n\t\t\tconst iy = (i / recentColumn) | 0;\n\t\t\tconst y = y0 + iy * recentWidthAndMargin;\n\t\t\tview.setRectangle(1 + i, x, y, recentWidth, recentWidth);\n\t\t}\n\t\trecent.on(\"change\", (): void => {\n\t\t\tthis.onRecentUpdate();\n\t\t});\n\t\tview.on(UtilPointerEvent.tap, (e: InteractionEvent): void => {\n\t\t\tconst lastHitIndex = view.getLastHitIndex();\n\t\t\tif (1 <= lastHitIndex) {\n\t\t\t\tthis.onRecentClick(view.getData(lastHitIndex));\n\t\t\t}\n\t\t});\n\n\t\t// Points\n\t\tconst data = new DColorGradientObservable();\n\t\tthis._value = data;\n\t\tdata.on(\"change\", (): void => {\n\t\t\tthis.updateAnchors();\n\t\t\tview.update();\n\t\t});\n\t\tdata.on(\"selectionchange\", (point: DColorGradientPoint): void => {\n\t\t\tthis.onAnchorSelect(point);\n\t\t});\n\t\tdata.on(\"directionchange\", (value: number): void => {\n\t\t\tinputDirection.value = value;\n\t\t});\n\t\tview.setData(0, data);\n\t\tview.update();\n\t\tinputDirection.value = data.direction;\n\t\tthis.updateAnchors();\n\t\tconst selected = data.selected;\n\t\tif (selected != null) {\n\t\t\tthis.onAnchorSelect(selected);\n\t\t}\n\n\t\t// Width\n\t\tif (options == null || options.width == null) {\n\t\t\tthis.width =\n\t\t\t\tpaddingLeft +\n\t\t\t\tgradientPointsWidth +\n\t\t\t\tgradientPointsMargin +\n\t\t\t\tpicker.width +\n\t\t\t\tinputDirectionMargin +\n\t\t\t\t(recentColumn - 1) * recentMargin +\n\t\t\t\trecentColumn * recentWidth +\n\t\t\t\tpaddingRight;\n\t\t}\n\n\t\t// Height\n\t\tif (options == null || options.height == null) {\n\t\t\tthis.height = paddingTop + picker.height + paddingBottom;\n\t\t}\n\t}\n\n\tget value(): DColorGradientObservable {\n\t\treturn this._value;\n\t}\n\n\tget recent(): DPickerColorGradientRecent {\n\t\treturn this._recent;\n\t}\n\n\tprotected onRecentClick(recentData: DColorGradient | null): void {\n\t\tconst value = this._value;\n\t\tif (recentData != null) {\n\t\t\tvalue.fromObject(recentData);\n\t\t} else {\n\t\t\tvalue.reset();\n\t\t}\n\t}\n\n\tprotected onRecentUpdate(): void {\n\t\tconst recent = this._recent;\n\t\tconst view = this._view;\n\t\tfor (let i = 0, imax = recent.size(); i < imax; ++i) {\n\t\t\tview.setData(1 + i, recent.get(i));\n\t\t}\n\t\tview.update();\n\t\tDApplications.update(this);\n\t}\n\n\tprotected toAnchorPosition(e: InteractionEvent): number {\n\t\tconst local = this.toLocal(e.data.global, undefined, this._work);\n\t\treturn Math.max(0, Math.min(1, (local.y - this.padding.getTop()) / this._picker.height));\n\t}\n\n\tprotected onViewDown(e: InteractionEvent): void {\n\t\tthis._value.addAt(this.toAnchorPosition(e));\n\t\tthis.onAnchorDragStart();\n\t}\n\n\tprotected onAnchorDown(e: InteractionEvent): void {\n\t\tconst target = e.target;\n\t\tif (target instanceof Sprite) {\n\t\t\tconst value = this._value;\n\t\t\tconst index = this._anchors.indexOf(target);\n\t\t\tif (0 <= index && index < value.points.length) {\n\t\t\t\tvalue.points[index].selected = true;\n\t\t\t\tthis.onAnchorDragStart();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onAnchorSelect(point: DColorGradientPoint): void {\n\t\tconst picker = this._picker;\n\t\tpicker.current.color = point.color;\n\t\tpicker.current.alpha = point.alpha;\n\t\tpicker.new.color = point.color;\n\t\tpicker.new.alpha = point.alpha;\n\t}\n\n\tprotected onAnchorColorChange(color: number): void {\n\t\tconst value = this._value;\n\t\tif (value != null) {\n\t\t\tconst selected = value.selected;\n\t\t\tif (selected != null) {\n\t\t\t\tselected.color = color;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onAnchorAlphaChange(alpha: number): void {\n\t\tconst value = this._value;\n\t\tif (value != null) {\n\t\t\tconst selected = value.selected;\n\t\t\tif (selected != null) {\n\t\t\t\tselected.alpha = alpha;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onAnchorDragStart(): void {\n\t\tconst layer = DApplications.getLayer(this);\n\t\tif (layer) {\n\t\t\tconst stage = layer.stage;\n\t\t\tstage.on(UtilPointerEvent.move, this._onAnchorMoveBound);\n\t\t\tstage.on(UtilPointerEvent.up, this._onAnchorUpBound);\n\t\t}\n\t}\n\n\tprotected onAnchorMove(e: InteractionEvent): void {\n\t\tconst value = this._value;\n\t\tif (value != null) {\n\t\t\tconst selected = value.selected;\n\t\t\tif (selected != null) {\n\t\t\t\tselected.position = this.toAnchorPosition(e);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onAnchorUp(e: InteractionEvent): void {\n\t\tconst layer = DApplications.getLayer(this);\n\t\tif (layer) {\n\t\t\tconst stage = layer.stage;\n\t\t\tstage.off(UtilPointerEvent.move, this._onAnchorMoveBound);\n\t\t\tstage.off(UtilPointerEvent.up, this._onAnchorUpBound);\n\t\t}\n\t}\n\n\tprotected updateAnchors(): void {\n\t\tconst theme = this.theme;\n\t\tconst anchorTexture = theme.getGradientAnchorTexture();\n\t\tconst anchorOutlinedTexture = theme.getGradientAnchorOutlinedTexture();\n\t\tconst gradientPointsWidth = theme.getGradientPointsWidth();\n\n\t\tconst value = this._value;\n\t\tconst pointSize = value.points.length;\n\n\t\tconst anchors = this._anchors;\n\t\tconst anchorSize = anchors.length;\n\t\tfor (let i = anchorSize; i < pointSize; ++i) {\n\t\t\tconst newAnchor = new Sprite(anchorTexture);\n\t\t\tnewAnchor.anchor.set(0.5, 0.5);\n\t\t\tnewAnchor.cursor = \"pointer\";\n\t\t\tnewAnchor.interactive = true;\n\t\t\tnewAnchor.on(UtilPointerEvent.down, this._onAnchorDownBound);\n\t\t\tanchors.push(newAnchor);\n\t\t\tthis.addChild(newAnchor);\n\t\t}\n\n\t\tfor (let i = anchorSize - 1; pointSize <= i; --i) {\n\t\t\tconst oldAnchor = anchors[i];\n\t\t\toldAnchor.off(UtilPointerEvent.down, this._onAnchorDownBound);\n\t\t\toldAnchor.destroy();\n\t\t}\n\t\tanchors.length = pointSize;\n\n\t\tconst y = this.padding.getTop();\n\t\tconst right = this.padding.getLeft() + gradientPointsWidth;\n\t\tconst height = this._picker.height;\n\t\tfor (let i = 0; i < pointSize; ++i) {\n\t\t\tconst point = value.points[i];\n\t\t\tconst anchor = anchors[i];\n\t\t\tanchor.tint = point.color;\n\t\t\tanchor.position.set(right, y + height * point.position);\n\t\t\tanchor.texture = point.selected ? anchorOutlinedTexture : anchorTexture;\n\t\t}\n\n\t\tDApplications.update(this);\n\t}\n\n\tonKeyDown(e: KeyboardEvent): boolean {\n\t\tif (UtilKeyboardEvent.isDeleteKey(e)) {\n\t\t\tconst value = this._value;\n\t\t\tif (value != null) {\n\t\t\t\tconst selected = value.selected;\n\t\t\t\tif (selected != null) {\n\t\t\t\t\tvalue.remove(selected);\n\t\t\t\t\tsuper.onKeyDown(e);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn super.onKeyDown(e);\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DPickerColorGradient\";\n\t}\n}\n"]}