@ui5/webcomponents 2.19.0 → 2.20.0-rc.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.
- package/CHANGELOG.md +24 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/AvatarGroup.d.ts +5 -0
- package/dist/AvatarGroup.js +17 -10
- package/dist/AvatarGroup.js.map +1 -1
- package/dist/Breadcrumbs.d.ts +4 -1
- package/dist/Breadcrumbs.js +4 -0
- package/dist/Breadcrumbs.js.map +1 -1
- package/dist/ColorPalette.d.ts +14 -0
- package/dist/ColorPalette.js +11 -1
- package/dist/ColorPalette.js.map +1 -1
- package/dist/ColorPalettePopover.d.ts +14 -0
- package/dist/ColorPalettePopover.js +6 -0
- package/dist/ColorPalettePopover.js.map +1 -1
- package/dist/ColorPalettePopoverTemplate.js +1 -1
- package/dist/ColorPalettePopoverTemplate.js.map +1 -1
- package/dist/ColorPaletteTemplate.js +1 -1
- package/dist/ColorPaletteTemplate.js.map +1 -1
- package/dist/ColorPicker.d.ts +14 -0
- package/dist/ColorPicker.js +11 -1
- package/dist/ColorPicker.js.map +1 -1
- package/dist/ColorPickerTemplate.js +1 -1
- package/dist/ColorPickerTemplate.js.map +1 -1
- package/dist/DateComponentBase.d.ts +2 -2
- package/dist/DateComponentBase.js +1 -1
- package/dist/DateComponentBase.js.map +1 -1
- package/dist/DatePicker.d.ts +3 -2
- package/dist/DatePicker.js +6 -3
- package/dist/DatePicker.js.map +1 -1
- package/dist/DatePickerPopoverTemplate.js +8 -4
- package/dist/DatePickerPopoverTemplate.js.map +1 -1
- package/dist/ListItemCustom.d.ts +32 -0
- package/dist/ListItemCustom.js +121 -2
- package/dist/ListItemCustom.js.map +1 -1
- package/dist/MultiComboBoxPopoverTemplate.js +2 -1
- package/dist/MultiComboBoxPopoverTemplate.js.map +1 -1
- package/dist/MultiInputTemplate.js +2 -1
- package/dist/MultiInputTemplate.js.map +1 -1
- package/dist/RatingIndicator.d.ts +17 -0
- package/dist/RatingIndicator.js +12 -0
- package/dist/RatingIndicator.js.map +1 -1
- package/dist/RatingIndicatorTemplate.js +6 -8
- package/dist/RatingIndicatorTemplate.js.map +1 -1
- package/dist/StepInput.js +2 -2
- package/dist/StepInput.js.map +1 -1
- package/dist/Switch.js +2 -2
- package/dist/Switch.js.map +1 -1
- package/dist/TimePickerPopoverTemplate.js +2 -3
- package/dist/TimePickerPopoverTemplate.js.map +1 -1
- package/dist/Tokenizer.js +2 -2
- package/dist/Tokenizer.js.map +1 -1
- package/dist/Toolbar.d.ts +1 -2
- package/dist/Toolbar.js +18 -4
- package/dist/Toolbar.js.map +1 -1
- package/dist/ToolbarItem.d.ts +40 -1
- package/dist/ToolbarItem.js +97 -2
- package/dist/ToolbarItem.js.map +1 -1
- package/dist/ToolbarItemTemplate.d.ts +2 -0
- package/dist/ToolbarItemTemplate.js +5 -0
- package/dist/ToolbarItemTemplate.js.map +1 -0
- package/dist/ToolbarTemplate.js +9 -8
- package/dist/ToolbarTemplate.js.map +1 -1
- package/dist/bundle.esm.js +1 -0
- package/dist/bundle.esm.js.map +1 -1
- package/dist/css/themes/Bar.css +1 -1
- package/dist/css/themes/DatePickerPopover.css +1 -1
- package/dist/css/themes/RatingIndicator.css +1 -1
- package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
- package/dist/css/themes/TimePickerPopover.css +1 -1
- package/dist/css/themes/Toolbar.css +1 -1
- package/dist/css/themes/ToolbarItem.css +1 -0
- package/dist/css/themes/ToolbarPopover.css +1 -1
- package/dist/custom-elements-internal.json +361 -7
- package/dist/custom-elements.json +266 -4
- package/dist/features/InputSuggestionsTemplate.js +2 -1
- package/dist/features/InputSuggestionsTemplate.js.map +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
- package/dist/generated/i18n/i18n-defaults.d.ts +2 -2
- package/dist/generated/i18n/i18n-defaults.js +2 -2
- package/dist/generated/i18n/i18n-defaults.js.map +1 -1
- package/dist/generated/themes/Bar.css.d.ts +1 -1
- package/dist/generated/themes/Bar.css.js +1 -1
- package/dist/generated/themes/Bar.css.js.map +1 -1
- package/dist/generated/themes/DatePickerPopover.css.d.ts +1 -1
- package/dist/generated/themes/DatePickerPopover.css.js +1 -1
- package/dist/generated/themes/DatePickerPopover.css.js.map +1 -1
- package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
- package/dist/generated/themes/RatingIndicator.css.js +1 -1
- package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
- package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
- package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
- package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
- package/dist/generated/themes/TimePickerPopover.css.d.ts +1 -1
- package/dist/generated/themes/TimePickerPopover.css.js +1 -1
- package/dist/generated/themes/TimePickerPopover.css.js.map +1 -1
- package/dist/generated/themes/Toolbar.css.d.ts +1 -1
- package/dist/generated/themes/Toolbar.css.js +1 -1
- package/dist/generated/themes/Toolbar.css.js.map +1 -1
- package/dist/generated/themes/ToolbarItem.css.d.ts +2 -0
- package/dist/generated/themes/ToolbarItem.css.js +8 -0
- package/dist/generated/themes/ToolbarItem.css.js.map +1 -0
- package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
- package/dist/generated/themes/ToolbarPopover.css.js +1 -1
- package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
- package/dist/vscode.html-custom-data.json +49 -8
- package/dist/web-types.json +196 -12
- package/package.json +10 -10
- package/src/ColorPalettePopoverTemplate.tsx +3 -0
- package/src/ColorPaletteTemplate.tsx +1 -1
- package/src/ColorPickerTemplate.tsx +2 -2
- package/src/DatePickerPopoverTemplate.tsx +21 -10
- package/src/MultiComboBoxPopoverTemplate.tsx +8 -1
- package/src/MultiInputTemplate.tsx +2 -1
- package/src/RatingIndicatorTemplate.tsx +10 -10
- package/src/TimePickerPopoverTemplate.tsx +1 -9
- package/src/ToolbarItemTemplate.tsx +7 -0
- package/src/ToolbarTemplate.tsx +9 -16
- package/src/features/InputSuggestionsTemplate.tsx +9 -2
- package/src/i18n/messagebundle.properties +5 -5
- package/src/i18n/messagebundle_en_US_sappsd.properties +14 -8
- package/src/i18n/messagebundle_en_US_saprigi.properties +14 -8
- package/src/i18n/messagebundle_en_US_saptrc.properties +14 -8
- package/src/themes/Bar.css +1 -1
- package/src/themes/DatePickerPopover.css +24 -1
- package/src/themes/RatingIndicator.css +26 -12
- package/src/themes/ResponsivePopoverCommon.css +1 -1
- package/src/themes/TimePickerPopover.css +7 -0
- package/src/themes/Toolbar.css +11 -3
- package/src/themes/ToolbarItem.css +8 -0
- package/src/themes/ToolbarPopover.css +1 -1
package/dist/ColorPalette.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorPalette.js","sourceRoot":"","sources":["../src/ColorPalette.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AAEpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,wDAAwD,CAAC;AAC1E,OAAO,KAAK,MAAM,kDAAkD,CAAC;AACrE,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAC5E,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAC/E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AAEnE,OAAO,cAAc,MAAM,yDAAyD,CAAC;AAErF,OAAO,sBAAsB,MAAM,8DAA8D,CAAC;AAClG,OAAO,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AAEjE,OAAO,EACN,OAAO,EACP,OAAO,EACP,MAAM,EACN,OAAO,EACP,IAAI,EACJ,MAAM,EACN,SAAS,EACT,MAAM,EACN,KAAK,GACL,MAAM,sCAAsC,CAAC;AAC9C,OAAO,oBAAoB,MAAM,2BAA2B,CAAC;AAI7D,OAAO,uBAAuB,CAAC;AAE/B,OAAO,EACN,4BAA4B,EAC5B,8BAA8B,EAC9B,gCAAgC,EAChC,kCAAkC,EAClC,8BAA8B,EAC9B,0BAA0B,GAC1B,MAAM,mCAAmC,CAAC;AAE3C,SAAS;AACT,OAAO,eAAe,MAAM,wCAAwC,CAAC;AACrE,OAAO,qBAAqB,MAAM,8CAA8C,CAAC;AAkBjF;;;;;;;;;;;;;;;;;;GAkBG;AAeH,IAAM,YAAY,oBAAlB,MAAM,YAAa,SAAQ,UAAU;IA6GpC;QACC,KAAK,EAAE,CAAC;QAzGT;;;;WAIG;QAEH,qBAAgB,GAAG,KAAK,CAAC;QAEzB;;;;;WAKG;QAEH,mBAAc,GAAG,KAAK,CAAC;QAEvB;;;;;WAKG;QAEH,qBAAgB,GAAG,KAAK,CAAC;QAmBzB;;;WAGG;QAEH,cAAS,GAAG,KAAK,CAAC;QAElB;;;WAGG;QAEH,YAAO,GAAG,KAAK,CAAC;QAUhB;;WAEG;QAEH,eAAU,GAAG,KAAK,CAAC;QAEnB;;WAEG;QAEH,qBAAgB,GAAG,qBAAqB,CAAC;QAkBzC,6BAAwB,GAAG,KAAK,CAAC;QAahC,IAAI,CAAC,eAAe,GAAG,IAAI,cAAc,CAAC,IAAI,EAAE;YAC/C,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe;YAC5C,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,sBAAsB,CAAC,MAAM;SACvC,CAAC,CAAC;QAEH,IAAI,CAAC,2BAA2B,GAAG,IAAI,cAAc,CAAC,IAAI,EAAE;YAC3D,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB;YACjD,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,sBAAsB,CAAC,MAAM;SACvC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;IACzB,CAAC;IAED,iBAAiB;QAChB,IAAI,CAAC,mCAAmC,EAAE,CAAC;QAE3C,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAEvC,IAAI,YAAY,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC5C,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC5C,IAAI,CAAC,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,0IAA0I;YAC1I,IAAI,cAAY,CAAC,8BAA8B,EAAE,CAAC;gBACjD,IAAI,CAAC,sBAAsB,GAAG,cAAY,CAAC,8BAA8B,CAAC;gBAC3E,6DAA6D;YAC7D,CAAC;iBAAM,CAAC;gBACP,MAAM,CAAC,8CAA8C,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;oBACpE,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,OAAO,CAAC;gBAC9C,CAAC,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,EAAE,CAAC;IAC1B,CAAC;IAED,gBAAgB;QACf,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAC3D,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACvB,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,KAAK,CAAC;YACpC,CAAC;YACD,MAAM,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;YACtD,gBAAgB,CAAC,QAAQ,GAAG,IAAI,CAAC;YACjC,IAAI,CAAC,kBAAkB,GAAG,gBAAgB,CAAC;YAC3C,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;YAChC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;QACvC,CAAC;IACF,CAAC;IAED,WAAW,CAAC,IAAsB;QACjC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACjB,OAAO;QACR,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,SAAS,CAAC,KAAa;QACtB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAE5B,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;YACnD,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;gBACtD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9G,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC3C,CAAC;QACF,CAAC;QAED,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;YACrC,KAAK,EAAE,IAAI,CAAC,cAAc;SAC1B,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,mBAAmB;QACtB,IAAI,UAAU,GAAwB,IAAI,CAAC,MAAM,CAAC;QAElD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,UAAU,GAAG,IAAI,CAAC,eAAe,CAAmB,QAAQ,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,UAAU,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,mCAAmC;QAClC,IAAI,gBAAmC,CAAC;QAExC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACtC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,IAAI,gBAAgB,EAAE,CAAC;oBACtB,gBAAgB,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACnC,CAAC;gBACD,gBAAgB,GAAG,IAAI,CAAC;YACzB,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,CAAa;QACrB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,MAA0B,CAAC,CAAC;IACpD,CAAC;IAED,YAAY,CAAC,CAAa;QACzB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAqB,CAAC;QAEvC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,wBAAwB,CAAC,EAAE,CAAC;YACpD,OAAO;QACR,CAAC;QAED,MAAM,SAAS,GAAG,MAA0B,CAAC;QAE7C,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC;aAAM,IAAI,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1D,IAAI,CAAC,2BAA2B,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC5D,CAAC;IACF,CAAC;IAED,QAAQ,CAAC,CAAgB;QACxB,MAAM,MAAM,GAAG,CAAC,CAAC,MAA0B,CAAC;QAC5C,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAChB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;IACF,CAAC;IAED,UAAU,CAAC,CAAgB;QAC1B,MAAM,MAAM,GAAG,CAAC,CAAC,MAA0B,CAAC;QAC5C,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAChB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAED,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAChB,CAAC,CAAC,cAAc,EAAE,CAAC;QACpB,CAAC;IACF,CAAC;IAED,eAAe,CAAC,MAAwB;QACvC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACrE,OAAO;QACR,CAAC;QAED,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;QAEtC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAEzB,+DAA+D;QAC/D,IAAI,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;YAC7C,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YACrC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,KAAK,MAAM,CAAC;YACjC,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC;QAClC,CAAC;QAED,IAAI,CAAC,mCAAmC,EAAE,CAAC;IAC5C,CAAC;IAED,cAAc;QACb,OAAO,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC;IAC/C,CAAC;IAED,wBAAwB,CAAC,CAAgB;QACxC,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC7B,CAAC;IAED,oBAAoB,CAAC,CAAgB;QACpC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAChB,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;IACF,CAAC;IAED,sBAAsB,CAAC,CAAgB;QACtC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAChB,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAClC,CAAC;aAAM,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACtB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,oBAAoB,CACxB,GAAG,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAClC,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAC7B,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,CACrC,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACpB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,oBAAoB,CACxB,GAAG,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAClC,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAC7B,GAAG,EAAE,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAC1C,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,CACrC,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,mGAAmG;YACnG,IAAI,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnC,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,CAAC,CAAC,eAAe,EAAE,CAAC;gBACpB,OAAO;YACR,CAAC;YACD,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,oBAAoB,CACxB,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAC7B,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,CACrC,CAAC;QACH,CAAC;IACF,CAAC;IAED,oBAAoB,CAAC,CAAgB;QACpC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACf,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACjC,CAAC;aAAM,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACpB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,oBAAoB,CACxB,GAAG,EAAE,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAC1C,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,CACrC,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,oBAAoB,CACxB,GAAG,EAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE,EACnC,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAC/B,GAAG,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE,CACtC,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACtB,mGAAmG;YACnG,IAAI,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnC,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,CAAC,CAAC,eAAe,EAAE,CAAC;gBACpB,OAAO;YACR,CAAC;YACD,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,oBAAoB,CACxB,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAC/B,GAAG,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE,CACtC,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,mGAAmG;YACnG,IAAI,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnC,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,CAAC,CAAC,eAAe,EAAE,CAAC;gBACpB,OAAO;YACR,CAAC;YACD,0EAA0E;YAC1E,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;QACrB,CAAC;IACF,CAAC;IAED,wBAAwB,CAAC,CAAgB;QACxC,MAAM,MAAM,GAAG,CAAC,CAAC,MAA0B,CAAC;QAC5C,MAAM,uBAAuB,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAExG,mGAAmG;QACnG,IAAI,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,OAAO;QACR,CAAC;QAED,IAAI,IAAI,CAAC,sCAAsC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;QACrC,CAAC;QAED,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;YAC9E,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,oBAAoB,CACxB,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAC/B,GAAG,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAClC,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAC7B,GAAG,EAAE,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAC1C,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,CACrC,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;eACvE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,IAAI,uBAAuB,CAAC,CAAC,EACrF,CAAC;YACF,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,oBAAoB,CACxB,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAC7B,GAAG,EAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE,EACnC,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAC/B,GAAG,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE,CACtC,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1D,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,oBAAoB,CACxB,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAC/B,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAC7B,GAAG,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE,CACtC,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;YACxD,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,oBAAoB,CACxB,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAC7B,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAC/B,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,CACrC,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;YACxD,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACjC,CAAC;IACF,CAAC;IAED,+BAA+B,CAAC,CAAgB;QAC/C,MAAM,MAAM,GAAG,CAAC,CAAC,MAA0B,CAAC;QAE5C,mGAAmG;QACnG,IAAI,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,OAAO;QACR,CAAC;QAED,IAAI,IAAI,CAAC,sCAAsC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;QACrC,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC9E,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,oBAAoB,CACxB,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAC/B,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAC7B,GAAG,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE,CACtC,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC1F,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,oBAAoB,CACxB,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAC7B,GAAG,EAAE,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAC1C,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,EACrC,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAC/B,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC9B,CAAC;IACF,CAAC;IAED;;;OAGG;IACH,sCAAsC,CAAC,CAAgB;QACtD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACzD,OAAO,KAAK,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC;eACzD,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACjE,CAAC;IAED,WAAW,CAAC,CAAgB;QAC3B,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,CAAC,CAAgB;QACvB,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,cAAc,CAAC,MAAwB,EAAE,QAAkC;QAC1E,OAAO,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC;IACvE,CAAC;IAED,aAAa,CAAC,MAAwB,EAAE,QAAkC;QACzE,OAAO,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,MAAM,CAAC;IACzF,CAAC;IAED;;;OAGG;IACH,mBAAmB,CAAC,MAAwB;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACnD,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACxD,CAAC;IAED;;;OAGG;IACH,kBAAkB,CAAC,MAAwB;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACnD,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC3G,CAAC;IAED;;;;;;;;;;OAUG;IACH,0BAA0B,CAAC,MAAwB;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;QAC1C,MAAM,uBAAuB,GAAG,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACjF,OAAO,KAAK,IAAI,CAAC,IAAI,KAAK,KAAK,uBAAuB,CAAC;IACxD,CAAC;IAED,kBAAkB,CAAC,MAAwB;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,oBAAoB,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QACxE,OAAO,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,oBAAoB,CAAC;IAClF,CAAC;IAED;;;;;;OAMG;IACH,qBAAqB,CAAC,CAAgB;QACrC,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;IAED;;;OAGG;IACH,YAAY;QACX,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC;IACpD,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,oBAAoB,CAAC,GAAG,UAAgC;QACvD,OAAO,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IACtD,CAAC;IAED;;;OAGG;IACH,kBAAkB;QACjB,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACvD,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC;QACb,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,gBAAgB;QACf,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACnD,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACb,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,yBAAyB;QACxB,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;YACjC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YACtE,OAAO,IAAI,CAAC;QACb,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,wBAAwB;QACvB,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;YACjC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YACpG,OAAO,IAAI,CAAC;QACb,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,6BAA6B;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;QAC1C,MAAM,uBAAuB,GAAG,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAEjF,sEAAsE;QACtE,IAAI,uBAAuB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,EAAE,CAAC;YACnF,OAAO,KAAK,CAAC;QACd,CAAC;QAED,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC5F,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;OAGG;IACH,2BAA2B,CAAC,KAAa,EAAE,OAAe;QACzD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;IAClD,CAAC;IAED;;;OAGG;IACH,sBAAsB;QACrB,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC;YAC9D,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACvF,OAAO,IAAI,CAAC;QACb,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,qBAAqB;QACpB,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC;YAC9D,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAC1H,OAAO,IAAI,CAAC;QACb,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,iBAAiB,CAAC,OAAmC,EAAE,cAA8B;QACpF,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACvC,cAAc,CAAC,iBAAiB,EAAE,CAAC;IACpC,CAAC;IAED,mBAAmB,CAAC,CAAQ;QAC3B,IAAI,CAAC,gBAAgB,GAAI,CAAC,CAAC,MAAsB,CAAC,KAAK,CAAC;IACzD,CAAC;IAED,kBAAkB;QACjB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACtC,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;IACtC,CAAC;IAED,eAAe,CAAC,KAAa;QAC5B,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAClE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC9C,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;YAC1B,CAAC;QACF,CAAC;IACF,CAAC;IAED,YAAY;QACX,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,qBAAqB;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC/B,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,oBAAoB;QACnB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAClC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAExC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACvB,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACnC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;YACrC,CAAC;QACF,CAAC;IACF,CAAC;IAED;;OAEG;IACH,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,kBAAkB;QACrB,OAAO,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,uBAAuB;QAC1B,OAAO,cAAY,CAAC,UAAU,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,0BAA0B;QAC7B,OAAO,cAAY,CAAC,UAAU,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,wBAAwB;QAC3B,OAAO,cAAY,CAAC,UAAU,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;IAC5E,CAAC;IAED;;OAEG;IACH,IAAI,aAAa;QAChB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC5B,CAAC;IAED,IAAI,eAAe;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAoB,QAAQ,CAAC,CAAC;QACjE,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,mBAAmB;QACtB,OAAO,cAAY,CAAC,UAAU,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,0BAA0B;QAC7B,OAAO,cAAY,CAAC,UAAU,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,4BAA4B;QAC/B,OAAO,cAAY,CAAC,UAAU,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,OAAO;QACV,OAAO,CAAC,CAAC;IACV,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,YAAY;QACf,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC9C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAChE,CAAC;QAED,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YACjD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC;QAED,OAAO,IAAI,CAAC,aAAa,CAAC;IAC3B,CAAC;IAED,IAAI,oBAAoB;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,MAAM,EAAE,CAAC;YACZ,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAmB,wDAAwD,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;QACpJ,CAAC;QAED,OAAO,EAAE,CAAC;IACX,CAAC;IAED,IAAI,OAAO;QACV,yEAAyE;QACzE,OAAO;YACN,gBAAgB,EAAE;gBACjB,aAAa,EAAE,IAAI;gBACnB,mBAAmB,EAAE,OAAO,EAAE;aAC9B;SACD,CAAC;IACH,CAAC;CAGD,CAAA;AA/zBA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;sDACH;AASzB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;oDACL;AASvB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;sDACH;AAUzB;IADC,QAAQ,EAAE;kDACW;AAOtB;IADC,QAAQ,EAAE;oDACa;AAOxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;+CACV;AAOlB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;6CACZ;AAQhB;IADC,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;4DACK;AAMrC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gDACT;AAMnB;IADC,QAAQ,EAAE;sDAC8B;AAYzC;IANC,IAAI,CAAC;QACL,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,WAAW;QACjB,uBAAuB,EAAE,IAAI;QAC7B,eAAe,EAAE,IAAI;KACrB,CAAC;4CACsC;AASxC;IADC,KAAK,CAAC,8BAA8B,CAAC;yDACT;AAG7B;IADC,KAAK,CAAC,qBAAqB,CAAC;uDACF;AAGpB;IADN,IAAI,CAAC,oBAAoB,CAAC;sCACG;AA3GzB,YAAY;IAdjB,aAAa,CAAC;QACd,GAAG,EAAE,mBAAmB;QACxB,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,oBAAoB;QAC9B,MAAM,EAAE,CAAC,eAAe,EAAE,qBAAqB,CAAC;KAChD,CAAC;IAEF;;;;;OAKG;;IACF,KAAK,CAAC,YAAY,CAAC;GACd,YAAY,CA00BjB;AAED,YAAY,CAAC,MAAM,EAAE,CAAC;AAEtB,eAAe,YAAY,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport query from \"@ui5/webcomponents-base/dist/decorators/query.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport ItemNavigationBehavior from \"@ui5/webcomponents-base/dist/types/ItemNavigationBehavior.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type { JsxTemplate } from \"@ui5/webcomponents-base/dist/index.js\";\nimport {\n\tisSpace,\n\tisEnter,\n\tisDown,\n\tisRight,\n\tisUp,\n\tisLeft,\n\tisTabNext,\n\tisHome,\n\tisEnd,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport ColorPaletteTemplate from \"./ColorPaletteTemplate.js\";\nimport type ColorPaletteItem from \"./ColorPaletteItem.js\";\nimport type Button from \"./Button.js\";\nimport type ColorPicker from \"./ColorPicker.js\";\nimport \"./ColorPaletteItem.js\";\n\nimport {\n\tCOLORPALETTE_CONTAINER_LABEL,\n\tCOLOR_PALETTE_MORE_COLORS_TEXT,\n\tCOLOR_PALETTE_DEFAULT_COLOR_TEXT,\n\tCOLOR_PALETTE_DIALOG_CANCEL_BUTTON,\n\tCOLOR_PALETTE_DIALOG_OK_BUTTON,\n\tCOLOR_PALETTE_DIALOG_TITLE,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport ColorPaletteCss from \"./generated/themes/ColorPalette.css.js\";\nimport ColorPaletteDialogCss from \"./generated/themes/ColorPaletteDialog.css.js\";\n\n/**\n * Interface for components that may be used inside a `ui5-color-palette` or `ui5-color-palette-popover`\n * @public\n */\ninterface IColorPaletteItem extends UI5Element, ITabbable {\n\tvalue?: string,\n\tindex?: number,\n\tselected?: boolean,\n}\n\ntype ColorPaletteNavigationItem = IColorPaletteItem | Button;\n\ntype ColorPaletteItemClickEventDetail = {\n\tcolor: string,\n}\n\n/**\n * @class\n *\n * ### Overview\n * The `ui5-color-palette` provides the users with a range of predefined colors. The colors are fixed and do not change with the theme.\n *\n * ### Usage\n *\n * The `ui5-color-palette` is meant for users that need to select a color from a predefined set.\n * To define the colors, use the `ui5-color-palette-item` component inside the default slot of the `ui5-color-palette`.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/ColorPalette.js\";`\n * @constructor\n * @extends UI5Element\n * @since 1.0.0-rc.12\n * @public\n */\n@customElement({\n\ttag: \"ui5-color-palette\",\n\trenderer: jsxRenderer,\n\ttemplate: ColorPaletteTemplate,\n\tstyles: [ColorPaletteCss, ColorPaletteDialogCss],\n})\n\n/**\n * Fired when the user selects a color.\n * @public\n * @since 1.0.0-rc.15\n * @param {string} color the selected color\n */\n@event(\"item-click\")\nclass ColorPalette extends UI5Element {\n\teventDetails!: {\n\t\t\"item-click\": ColorPaletteItemClickEventDetail,\n\t}\n\n\t/**\n\t * Defines whether the user can see the last used colors in the bottom of the component\n\t * @private\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ type: Boolean })\n\tshowRecentColors = false;\n\n\t/**\n\t * Defines whether the user can choose a custom color from a color picker\n\t *\n\t * @private\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ type: Boolean })\n\tshowMoreColors = false;\n\n\t/**\n\t * Defines whether the user can choose the default color from a button.\n\t * @default false\n\t * @private\n\t * @since 1.0.0-rc.16\n\t */\n\t@property({ type: Boolean })\n\tshowDefaultColor = false;\n\n\t/**\n\t * Defines the default color of the color palette, only valid CSS color values accepted\n\t *\n\t * **Note:** The default color should be a part of the ColorPalette colors`\n\t * @private\n\t * @since 1.0.0-rc.16\n\t */\n\t@property()\n\tdefaultColor?: string;\n\n\t/**\n\t * Defines the selected color, only valid CSS color values accepted\n\t * @private\n\t */\n\t@property()\n\t_selectedColor?: string;\n\n\t/**\n\t * Defines if the palette is in Popup or Embeded mode.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tpopupMode = false;\n\n\t/**\n\t * Defines if the palette is rendered on phone.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tonPhone = false;\n\n\t/**\n\n\t * The showMoreColors template.\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\tshowMoreColorsTemplate?: JsxTemplate;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tdialogOpen = false;\n\n\t/**\n\t * @private\n\t */\n\t@property()\n\tcolorPickerValue = \"rgba(255,255,255,1)\";\n\n\t/**\n\t * Defines the `ui5-color-palette-item` elements.\n\t * @public\n\t */\n\t@slot({\n\t\t\"default\": true,\n\t\ttype: HTMLElement,\n\t\tinvalidateOnChildChange: true,\n\t\tindividualSlots: true,\n\t})\n\tcolors!: DefaultSlot<IColorPaletteItem>;\n\n\t_itemNavigation: ItemNavigation;\n\t_itemNavigationRecentColors: ItemNavigation;\n\t_recentColors: Array<string>;\n\t_currentlySelected?: ColorPaletteItem;\n\t_shouldFocusRecentColors = false;\n\n\t@query(\".ui5-cp-default-color-button\")\n\t_defaultColorButton!: Button;\n\n\t@query(\".ui5-cp-more-colors\")\n\t_moreColorsButton!: Button;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._itemNavigation = new ItemNavigation(this, {\n\t\t\tgetItemsCallback: () => this.displayedColors,\n\t\t\trowSize: this.rowSize,\n\t\t\tbehavior: ItemNavigationBehavior.Cyclic,\n\t\t});\n\n\t\tthis._itemNavigationRecentColors = new ItemNavigation(this, {\n\t\t\tgetItemsCallback: () => this.recentColorsElements,\n\t\t\trowSize: this.rowSize,\n\t\t\tbehavior: ItemNavigationBehavior.Cyclic,\n\t\t});\n\n\t\tthis._recentColors = [];\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._ensureSingleSelectionOrDeselectAll();\n\n\t\tconst selectedItem = this.selectedItem;\n\n\t\tif (selectedItem && !this.showRecentColors) {\n\t\t\tthis._selectedColor = selectedItem.value;\n\t\t}\n\n\t\tthis.displayedColors.forEach((item, index) => {\n\t\t\titem.index = index + 1;\n\t\t});\n\n\t\tif (this.showMoreColors) {\n\t\t\t// If the feature is preloaded (the user manually imported ColorPaletteMoreColors.js), the teplate is already available on the constructor\n\t\t\tif (ColorPalette.ColorPaletteMoreColorsTemplate) {\n\t\t\t\tthis.showMoreColorsTemplate = ColorPalette.ColorPaletteMoreColorsTemplate;\n\t\t\t// If feature is not preloaded, load the template dynamically\n\t\t\t} else {\n\t\t\t\timport(\"./features/ColorPaletteMoreColorsTemplate.js\").then(module => {\n\t\t\t\t\tthis.showMoreColorsTemplate = module.default;\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tthis.onPhone = isPhone();\n\t}\n\n\tonAfterRendering() {\n\t\tif (this.hasRecentColors && this._shouldFocusRecentColors) {\n\t\t\tif (this.selectedItem) {\n\t\t\t\tthis.selectedItem.selected = false;\n\t\t\t}\n\t\t\tconst firstRecentColor = this.recentColorsElements[0];\n\t\t\tfirstRecentColor.selected = true;\n\t\t\tthis._currentlySelected = firstRecentColor;\n\t\t\tthis._currentlySelected.focus();\n\t\t\tthis._shouldFocusRecentColors = false;\n\t\t}\n\t}\n\n\tselectColor(item: ColorPaletteItem) {\n\t\tif (!item.value) {\n\t\t\treturn;\n\t\t}\n\n\t\titem.focus();\n\n\t\tif (this.displayedColors.includes(item)) {\n\t\t\tthis._itemNavigation.setCurrentItem(item);\n\t\t}\n\n\t\tthis._setColor(item.value);\n\t}\n\n\t_setColor(color: string) {\n\t\tthis._selectedColor = color;\n\n\t\tif (this._recentColors[0] !== this._selectedColor) {\n\t\t\tif (this._recentColors.includes(this._selectedColor)) {\n\t\t\t\tthis._recentColors.unshift(this._recentColors.splice(this._recentColors.indexOf(this._selectedColor), 1)[0]);\n\t\t\t} else {\n\t\t\t\tthis._addRecentColor(this._selectedColor);\n\t\t\t}\n\t\t}\n\n\t\tthis.fireDecoratorEvent(\"item-click\", {\n\t\t\tcolor: this._selectedColor,\n\t\t});\n\t}\n\n\tget effectiveColorItems() {\n\t\tlet colorItems: IColorPaletteItem[] = this.colors;\n\n\t\tif (this.popupMode) {\n\t\t\tcolorItems = this.getSlottedNodes<ColorPaletteItem>(\"colors\");\n\t\t}\n\n\t\treturn colorItems;\n\t}\n\n\t/**\n\t * Ensures that only one item is selected or only the last selected item remains active if more than one are explicitly set as 'selected'.\n\t * @private\n\t */\n\t_ensureSingleSelectionOrDeselectAll() {\n\t\tlet lastSelectedItem: IColorPaletteItem;\n\n\t\tthis.allColorsInPalette.forEach(item => {\n\t\t\tif (item.selected) {\n\t\t\t\tif (lastSelectedItem) {\n\t\t\t\t\tlastSelectedItem.selected = false;\n\t\t\t\t}\n\t\t\t\tlastSelectedItem = item;\n\t\t\t}\n\t\t});\n\t}\n\n\t_onclick(e: MouseEvent) {\n\t\tthis.handleSelection(e.target as ColorPaletteItem);\n\t}\n\n\t_onmousedown(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\n\t\tif (!target.hasAttribute(\"ui5-color-palette-item\")) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst colorItem = target as ColorPaletteItem;\n\n\t\tif (this.displayedColors.includes(colorItem)) {\n\t\t\tthis._itemNavigation.setCurrentItem(colorItem);\n\t\t} else if (this.recentColorsElements.includes(colorItem)) {\n\t\t\tthis._itemNavigationRecentColors.setCurrentItem(colorItem);\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tconst target = e.target as ColorPaletteItem;\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis.handleSelection(target);\n\t\t}\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tconst target = e.target as ColorPaletteItem;\n\t\tif (isEnter(e)) {\n\t\t\tthis.handleSelection(target);\n\t\t}\n\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\thandleSelection(target: ColorPaletteItem) {\n\t\tif (!target.hasAttribute(\"ui5-color-palette-item\") || !target.value) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._shouldFocusRecentColors = false;\n\n\t\tthis.selectColor(target);\n\n\t\t// Handle selection for items within the 'recentColorsElements'\n\t\tif (this.recentColorsElements.includes(target)) {\n\t\t\tthis.recentColorsElements[0].selected = true;\n\t\t\tthis.recentColorsElements[0].focus();\n\t\t\tthis._currentlySelected = this.recentColorsElements[0];\n\t\t} else {\n\t\t\tthis.allColorsInPalette.forEach(item => {\n\t\t\t\titem.selected = item === target;\n\t\t\t});\n\t\t\tthis._currentlySelected = target;\n\t\t}\n\n\t\tthis._ensureSingleSelectionOrDeselectAll();\n\t}\n\n\tgetFocusDomRef(): HTMLElement | undefined {\n\t\treturn this._itemNavigation._getCurrentItem();\n\t}\n\n\t_handleDefaultColorClick(e: KeyboardEvent) {\n\t\te.preventDefault();\n\t\tthis._onDefaultColorClick();\n\t}\n\n\t_onDefaultColorKeyUp(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis._handleDefaultColorClick(e);\n\t\t}\n\t}\n\n\t_onDefaultColorKeyDown(e: KeyboardEvent) {\n\t\tif (isTabNext(e) && this.popupMode) {\n\t\t\tthis._handleDefaultColorClick(e);\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis._handleDefaultColorClick(e);\n\t\t}\n\n\t\tif (this._isNext(e)) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis._focusFirstDisplayedColor();\n\t\t} else if (isLeft(e)) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis._focusFirstAvailable(\n\t\t\t\t() => this._focusLastRecentColor(),\n\t\t\t\t() => this._focusMoreColors(),\n\t\t\t\t() => this._focusLastDisplayedColor(),\n\t\t\t);\n\t\t} else if (isUp(e)) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis._focusFirstAvailable(\n\t\t\t\t() => this._focusLastRecentColor(),\n\t\t\t\t() => this._focusMoreColors(),\n\t\t\t\t() => this._focusLastSwatchOfLastFullRow(),\n\t\t\t\t() => this._focusLastDisplayedColor(),\n\t\t\t);\n\t\t} else if (isEnd(e)) {\n\t\t\t// Prevent Home/End keys from working in embedded mode - they only work in popup mode as per design\n\t\t\tif (this._shouldPreventHomeEnd(e)) {\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopPropagation();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis._focusFirstAvailable(\n\t\t\t\t() => this._focusMoreColors(),\n\t\t\t\t() => this._focusLastDisplayedColor(),\n\t\t\t);\n\t\t}\n\t}\n\n\t_onMoreColorsKeyDown(e: KeyboardEvent) {\n\t\tif (isLeft(e)) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis._focusLastDisplayedColor();\n\t\t} else if (isUp(e)) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis._focusFirstAvailable(\n\t\t\t\t() => this._focusLastSwatchOfLastFullRow(),\n\t\t\t\t() => this._focusLastDisplayedColor(),\n\t\t\t);\n\t\t} else if (this._isNext(e)) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis._focusFirstAvailable(\n\t\t\t\t() => this._focusFirstRecentColor(),\n\t\t\t\t() => this._focusDefaultColor(),\n\t\t\t\t() => this._focusFirstDisplayedColor(),\n\t\t\t);\n\t\t} else if (isHome(e)) {\n\t\t\t// Prevent Home/End keys from working in embedded mode - they only work in popup mode as per design\n\t\t\tif (this._shouldPreventHomeEnd(e)) {\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopPropagation();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis._focusFirstAvailable(\n\t\t\t\t() => this._focusDefaultColor(),\n\t\t\t\t() => this._focusFirstDisplayedColor(),\n\t\t\t);\n\t\t} else if (isEnd(e)) {\n\t\t\t// Prevent Home/End keys from working in embedded mode - they only work in popup mode as per design\n\t\t\tif (this._shouldPreventHomeEnd(e)) {\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopPropagation();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// More Colors button is typically the last element, so END key stays here\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t}\n\t}\n\n\t_onColorContainerKeyDown(e: KeyboardEvent) {\n\t\tconst target = e.target as ColorPaletteItem;\n\t\tconst isLastSwatchInSingleRow = this._isSingleRow() && this._isLastSwatch(target, this.displayedColors);\n\n\t\t// Prevent Home/End keys from working in embedded mode - they only work in popup mode as per design\n\t\tif (this._shouldPreventHomeEnd(e)) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._isUpOrDownNavigatableColorPaletteItem(e)) {\n\t\t\tthis._currentlySelected = undefined;\n\t\t}\n\n\t\tif (isTabNext(e) && this.popupMode) {\n\t\t\te.preventDefault();\n\t\t\tthis.selectColor(target);\n\t\t}\n\n\t\tif (this._isPrevious(e) && this._isFirstSwatch(target, this.displayedColors)) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis._focusFirstAvailable(\n\t\t\t\t() => this._focusDefaultColor(),\n\t\t\t\t() => this._focusLastRecentColor(),\n\t\t\t\t() => this._focusMoreColors(),\n\t\t\t\t() => this._focusLastSwatchOfLastFullRow(),\n\t\t\t\t() => this._focusLastDisplayedColor(),\n\t\t\t);\n\t\t} else if ((isRight(e) && this._isLastSwatch(target, this.displayedColors))\n\t\t\t|| (isDown(e) && (this._isLastSwatchOfLastFullRow(target) || isLastSwatchInSingleRow))\n\t\t) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis._focusFirstAvailable(\n\t\t\t\t() => this._focusMoreColors(),\n\t\t\t\t() => this._focusFirstRecentColor(),\n\t\t\t\t() => this._focusDefaultColor(),\n\t\t\t\t() => this._focusFirstDisplayedColor(),\n\t\t\t);\n\t\t} else if (isHome(e) && this._isFirstSwatchInRow(target)) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis._focusFirstAvailable(\n\t\t\t\t() => this._focusDefaultColor(),\n\t\t\t\t() => this._focusMoreColors(),\n\t\t\t\t() => this._focusFirstDisplayedColor(),\n\t\t\t);\n\t\t} else if (isEnd(e) && this._isLastSwatchInRow(target)) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis._focusFirstAvailable(\n\t\t\t\t() => this._focusMoreColors(),\n\t\t\t\t() => this._focusDefaultColor(),\n\t\t\t\t() => this._focusLastDisplayedColor(),\n\t\t\t);\n\t\t} else if (isEnd(e) && this._isSwatchInLastRow(target)) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis._focusLastDisplayedColor();\n\t\t}\n\t}\n\n\t_onRecentColorsContainerKeyDown(e: KeyboardEvent) {\n\t\tconst target = e.target as ColorPaletteItem;\n\n\t\t// Prevent Home/End keys from working in embedded mode - they only work in popup mode as per design\n\t\tif (this._shouldPreventHomeEnd(e)) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._isUpOrDownNavigatableColorPaletteItem(e)) {\n\t\t\tthis._currentlySelected = undefined;\n\t\t}\n\n\t\tif (this._isNext(e) && this._isLastSwatch(target, this.recentColorsElements)) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis._focusFirstAvailable(\n\t\t\t\t() => this._focusDefaultColor(),\n\t\t\t\t() => this._focusMoreColors(),\n\t\t\t\t() => this._focusFirstDisplayedColor(),\n\t\t\t);\n\t\t} else if (this._isPrevious(e) && this._isFirstSwatch(target, this.recentColorsElements)) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis._focusFirstAvailable(\n\t\t\t\t() => this._focusMoreColors(),\n\t\t\t\t() => this._focusLastSwatchOfLastFullRow(),\n\t\t\t\t() => this._focusLastDisplayedColor(),\n\t\t\t\t() => this._focusDefaultColor(),\n\t\t\t);\n\t\t} else if (isEnd(e)) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis._focusLastRecentColor();\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the keyboard event is up/down navigation on a displayed color palette item\n\t * @private\n\t */\n\t_isUpOrDownNavigatableColorPaletteItem(e: KeyboardEvent): boolean {\n\t\tif (!(isUp(e) || isDown(e)) || !this._currentlySelected) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn this.displayedColors.includes(this._currentlySelected)\n\t\t\t|| this.recentColorsElements.includes(this._currentlySelected);\n\t}\n\n\t_isPrevious(e: KeyboardEvent): boolean {\n\t\treturn isUp(e) || isLeft(e);\n\t}\n\n\t_isNext(e: KeyboardEvent): boolean {\n\t\treturn isDown(e) || isRight(e);\n\t}\n\n\t_isFirstSwatch(target: ColorPaletteItem, swatches: Array<IColorPaletteItem>): boolean {\n\t\treturn swatches && Boolean(swatches.length) && swatches[0] === target;\n\t}\n\n\t_isLastSwatch(target: ColorPaletteItem, swatches: Array<IColorPaletteItem>): boolean {\n\t\treturn swatches && Boolean(swatches.length) && swatches[swatches.length - 1] === target;\n\t}\n\n\t/**\n\t * Checks if the target swatch is the first swatch in its row.\n\t * @private\n\t */\n\t_isFirstSwatchInRow(target: ColorPaletteItem): boolean {\n\t\tconst index = this.displayedColors.indexOf(target);\n\t\treturn index >= 0 ? index % this.rowSize === 0 : false;\n\t}\n\n\t/**\n\t * Checks if the target swatch is the last swatch in its row.\n\t * @private\n\t */\n\t_isLastSwatchInRow(target: ColorPaletteItem): boolean {\n\t\tconst index = this.displayedColors.indexOf(target);\n\t\treturn index >= 0 ? (index + 1) % this.rowSize === 0 || index === this.displayedColors.length - 1 : false;\n\t}\n\n\t/**\n\t * Checks if the given color swatch is the last swatch of the last full row.\n\t *\n\t * Example 1: 12 colors with rowSize 5\n\t * Row 1: [0, 1, 2, 3, 4] ← Complete row\n\t * Row 2: [5, 6, 7, 8, 9] ← Complete row (last complete row)\n\t * Row 3: [10, 11] ← Incomplete row\n\t *\n\t * @param target The color swatch to check.\n\t * @returns True if the swatch is the last of the last full row, false otherwise.\n\t */\n\t_isLastSwatchOfLastFullRow(target: ColorPaletteItem): boolean {\n\t\tconst index = this.displayedColors.indexOf(target);\n\t\tconst rowSize = this.rowSize;\n\t\tconst total = this.displayedColors.length;\n\t\tconst lastCompleteRowEndIndex = this._getLastCompleteRowEndIndex(total, rowSize);\n\t\treturn index >= 0 && index === lastCompleteRowEndIndex;\n\t}\n\n\t_isSwatchInLastRow(target: ColorPaletteItem): boolean {\n\t\tconst index = this.displayedColors.indexOf(target);\n\t\tconst lastRowSwatchesCount = this.displayedColors.length % this.rowSize;\n\t\treturn index >= 0 && index >= this.displayedColors.length - lastRowSwatchesCount;\n\t}\n\n\t/**\n\t * Checks if HOME/END navigation should be prevented in embedded mode.\n\t * In embedded mode, HOME/END keys are blocked as they only work in popup mode per design.\n\t * @private\n\t * @param e The keyboard event to check\n\t * @returns True if the event should be prevented, false otherwise\n\t */\n\t_shouldPreventHomeEnd(e: KeyboardEvent): boolean {\n\t\treturn !this.popupMode && (isHome(e) || isEnd(e));\n\t}\n\n\t/**\n\t * Helper to check if all displayed colors fit in a single row\n\t * @private\n\t */\n\t_isSingleRow(): boolean {\n\t\treturn this.displayedColors.length <= this.rowSize;\n\t}\n\n\t/**\n\t * Helper to focus the first available element from a list of candidates.\n\t *\n\t * This method implements a fallback chain pattern for keyboard navigation in the color palette.\n\t * It attempts to execute focus actions in priority order, stopping at the first successful one.\n\t *\n\t * For example when navigating left from the default color button, try these options in order:\n\t * this._focusFirstAvailable(\n\t * () => this._focusLastRecentColor(), // 1st choice: focus last recent color if available\n\t * () => this._focusMoreColors(), // 2nd choice: focus \"More Colors\" button if available\n\t * () => this._focusLastDisplayedColor() // 3rd choice: focus last color in the main palette\n\t * );\n\t *\n\t * @private\n\t * @param candidates - Functions that attempt to focus an element. Each function should return true if focus was successful, false otherwise.\n\t * @returns True if any candidate successfully focused an element, false if all failed.\n\t */\n\t_focusFirstAvailable(...candidates: Array<() => boolean>): boolean {\n\t\treturn candidates.some(focusAction => focusAction());\n\t}\n\n\t/**\n\t * Helper to focus default color button if available\n\t * @private\n\t */\n\t_focusDefaultColor(): boolean {\n\t\tif (this.showDefaultColor && this._defaultColorButton) {\n\t\t\tthis._defaultColorButton.focus();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Helper to focus more colors button if available\n\t * @private\n\t */\n\t_focusMoreColors(): boolean {\n\t\tif (this.showMoreColors && this._moreColorsButton) {\n\t\t\tthis._moreColorsButton.focus();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Helper to focus first displayed color if available\n\t * @private\n\t */\n\t_focusFirstDisplayedColor(): boolean {\n\t\tif (this.displayedColors.length) {\n\t\t\tthis.focusColorElement(this.displayedColors[0], this._itemNavigation);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Helper to focus last displayed color if available\n\t * @private\n\t */\n\t_focusLastDisplayedColor(): boolean {\n\t\tif (this.displayedColors.length) {\n\t\t\tthis.focusColorElement(this.displayedColors[this.displayedColors.length - 1], this._itemNavigation);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Helper to focus last swatch of last full row if available\n\t * @private\n\t */\n\t_focusLastSwatchOfLastFullRow(): boolean {\n\t\tconst rowSize = this.rowSize;\n\t\tconst total = this.displayedColors.length;\n\t\tconst lastCompleteRowEndIndex = this._getLastCompleteRowEndIndex(total, rowSize);\n\n\t\t// Return false if there are no full rows (less than one complete row)\n\t\tif (lastCompleteRowEndIndex < 0 || !this.displayedColors[lastCompleteRowEndIndex]) {\n\t\t\treturn false;\n\t\t}\n\n\t\tthis.focusColorElement(this.displayedColors[lastCompleteRowEndIndex], this._itemNavigation);\n\t\treturn true;\n\t}\n\n\t/**\n\t * Returns the index of the last swatch in the last complete row.\n\t * @private\n\t */\n\t_getLastCompleteRowEndIndex(total: number, rowSize: number): number {\n\t\treturn Math.floor(total / rowSize) * rowSize - 1;\n\t}\n\n\t/**\n\t * Helper to focus first recent color if available\n\t * @private\n\t */\n\t_focusFirstRecentColor(): boolean {\n\t\tif (this.hasRecentColors && this.recentColorsElements.length) {\n\t\t\tthis.focusColorElement(this.recentColorsElements[0], this._itemNavigationRecentColors);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Helper to focus last recent color if available\n\t * @private\n\t */\n\t_focusLastRecentColor(): boolean {\n\t\tif (this.hasRecentColors && this.recentColorsElements.length) {\n\t\t\tthis.focusColorElement(this.recentColorsElements[this.recentColorsElements.length - 1], this._itemNavigationRecentColors);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tfocusColorElement(element: ColorPaletteNavigationItem, itemNavigation: ItemNavigation) {\n\t\titemNavigation.setCurrentItem(element);\n\t\titemNavigation._focusCurrentItem();\n\t}\n\n\tonColorPickerChange(e: Event) {\n\t\tthis.colorPickerValue = (e.target as ColorPicker).value;\n\t}\n\n\t_chooseCustomColor() {\n\t\tthis._setColor(this.colorPickerValue);\n\t\tthis._closeDialog();\n\t\tthis._shouldFocusRecentColors = true;\n\t}\n\n\t_addRecentColor(color: string) {\n\t\tif (this.showRecentColors && !this._recentColors.includes(color)) {\n\t\t\tthis._recentColors.unshift(color);\n\t\t\tif (this._recentColors.length > this.rowSize) {\n\t\t\t\tthis._recentColors.pop();\n\t\t\t}\n\t\t}\n\t}\n\n\t_closeDialog() {\n\t\tthis.dialogOpen = false;\n\t}\n\n\t_openMoreColorsDialog() {\n\t\tconst value = this._currentlySelected ? this._currentlySelected.value : undefined;\n\n\t\tif (value) {\n\t\t\tthis.colorPickerValue = value;\n\t\t}\n\t\tthis.dialogOpen = true;\n\t}\n\n\t_onDefaultColorClick() {\n\t\tif (this.defaultColor) {\n\t\t\tthis._setColor(this.defaultColor);\n\t\t\tthis._addRecentColor(this.defaultColor);\n\n\t\t\tif (this.selectedItem) {\n\t\t\t\tthis.selectedItem.selected = false;\n\t\t\t\tthis._currentlySelected = undefined;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Returns the selected item.\n\t */\n\tget selectedItem() {\n\t\treturn this.allColorsInPalette.find(item => item.selected);\n\t}\n\n\tget allColorsInPalette() {\n\t\treturn [...this.effectiveColorItems, ...this.recentColorsElements];\n\t}\n\n\tget colorPaletteDialogTitle() {\n\t\treturn ColorPalette.i18nBundle.getText(COLOR_PALETTE_DIALOG_TITLE);\n\t}\n\n\tget colorPaletteDialogOKButton() {\n\t\treturn ColorPalette.i18nBundle.getText(COLOR_PALETTE_DIALOG_OK_BUTTON);\n\t}\n\n\tget colorPaletteCancelButton() {\n\t\treturn ColorPalette.i18nBundle.getText(COLOR_PALETTE_DIALOG_CANCEL_BUTTON);\n\t}\n\n\t/**\n\t * Returns the selected color.\n\t */\n\tget selectedColor() {\n\t\treturn this._selectedColor;\n\t}\n\n\tget displayedColors(): Array<IColorPaletteItem> {\n\t\tconst colors = this.getSlottedNodes<IColorPaletteItem>(\"colors\");\n\t\treturn colors.filter(item => item.value).slice(0, 15);\n\t}\n\n\tget colorContainerLabel() {\n\t\treturn ColorPalette.i18nBundle.getText(COLORPALETTE_CONTAINER_LABEL);\n\t}\n\n\tget colorPaletteMoreColorsText() {\n\t\treturn ColorPalette.i18nBundle.getText(COLOR_PALETTE_MORE_COLORS_TEXT);\n\t}\n\n\tget colorPaletteDefaultColorText() {\n\t\treturn ColorPalette.i18nBundle.getText(COLOR_PALETTE_DEFAULT_COLOR_TEXT);\n\t}\n\n\tget rowSize() {\n\t\treturn 5;\n\t}\n\n\tget hasRecentColors() {\n\t\treturn this.showRecentColors && this.recentColors[0];\n\t}\n\n\tget recentColors() {\n\t\tif (this._recentColors.length > this.rowSize) {\n\t\t\tthis._recentColors = this._recentColors.slice(0, this.rowSize);\n\t\t}\n\n\t\twhile (this._recentColors.length < this.rowSize) {\n\t\t\tthis._recentColors.push(\"\");\n\t\t}\n\n\t\treturn this._recentColors;\n\t}\n\n\tget recentColorsElements(): Array<ColorPaletteItem> {\n\t\tconst domRef = this.getDomRef();\n\t\tif (domRef) {\n\t\t\treturn Array.from(domRef.querySelectorAll<ColorPaletteItem>(\".ui5-cp-recent-colors-wrapper [ui5-color-palette-item]\")).filter(x => x.value !== \"\");\n\t\t}\n\n\t\treturn [];\n\t}\n\n\tget classes() {\n\t\t// Remove after deleting the hbs template, it's added in the jsx template\n\t\treturn {\n\t\t\tcolorPaletteRoot: {\n\t\t\t\t\"ui5-cp-root\": true,\n\t\t\t\t\"ui5-cp-root-phone\": isPhone(),\n\t\t\t},\n\t\t};\n\t}\n\n\tstatic ColorPaletteMoreColorsTemplate?: JsxTemplate;\n}\n\nColorPalette.define();\n\nexport default ColorPalette;\nexport type {\n\tColorPaletteItemClickEventDetail,\n\tIColorPaletteItem,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"ColorPalette.js","sourceRoot":"","sources":["../src/ColorPalette.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport query from \"@ui5/webcomponents-base/dist/decorators/query.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport ItemNavigationBehavior from \"@ui5/webcomponents-base/dist/types/ItemNavigationBehavior.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type { JsxTemplate } from \"@ui5/webcomponents-base/dist/index.js\";\nimport {\n\tisSpace,\n\tisEnter,\n\tisDown,\n\tisRight,\n\tisUp,\n\tisLeft,\n\tisTabNext,\n\tisHome,\n\tisEnd,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport ColorPaletteTemplate from \"./ColorPaletteTemplate.js\";\nimport type ColorPaletteItem from \"./ColorPaletteItem.js\";\nimport type Button from \"./Button.js\";\nimport type ColorPicker from \"./ColorPicker.js\";\nimport \"./ColorPaletteItem.js\";\n\nimport {\n\tCOLORPALETTE_CONTAINER_LABEL,\n\tCOLOR_PALETTE_MORE_COLORS_TEXT,\n\tCOLOR_PALETTE_DEFAULT_COLOR_TEXT,\n\tCOLOR_PALETTE_DIALOG_CANCEL_BUTTON,\n\tCOLOR_PALETTE_DIALOG_OK_BUTTON,\n\tCOLOR_PALETTE_DIALOG_TITLE,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport ColorPaletteCss from \"./generated/themes/ColorPalette.css.js\";\nimport ColorPaletteDialogCss from \"./generated/themes/ColorPaletteDialog.css.js\";\n\n/**\n * Interface for components that may be used inside a `ui5-color-palette` or `ui5-color-palette-popover`\n * @public\n */\ninterface IColorPaletteItem extends UI5Element, ITabbable {\n\tvalue?: string,\n\tindex?: number,\n\tselected?: boolean,\n}\n\ntype ColorPaletteNavigationItem = IColorPaletteItem | Button;\n\ntype ColorPaletteItemClickEventDetail = {\n\tcolor: string,\n}\n\n/**\n * @class\n *\n * ### Overview\n * The `ui5-color-palette` provides the users with a range of predefined colors. The colors are fixed and do not change with the theme.\n *\n * ### Usage\n *\n * The `ui5-color-palette` is meant for users that need to select a color from a predefined set.\n * To define the colors, use the `ui5-color-palette-item` component inside the default slot of the `ui5-color-palette`.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/ColorPalette.js\";`\n * @constructor\n * @extends UI5Element\n * @since 1.0.0-rc.12\n * @public\n */\n@customElement({\n\ttag: \"ui5-color-palette\",\n\trenderer: jsxRenderer,\n\ttemplate: ColorPaletteTemplate,\n\tstyles: [ColorPaletteCss, ColorPaletteDialogCss],\n})\n\n/**\n * Fired when the user selects a color.\n * @public\n * @since 1.0.0-rc.15\n * @param {string} color the selected color\n */\n@event(\"item-click\")\nclass ColorPalette extends UI5Element {\n\teventDetails!: {\n\t\t\"item-click\": ColorPaletteItemClickEventDetail,\n\t}\n\n\t/**\n\t * Defines whether the user can see the last used colors in the bottom of the component\n\t * @private\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ type: Boolean })\n\tshowRecentColors = false;\n\n\t/**\n\t * Defines whether the user can choose a custom color from a color picker\n\t *\n\t * @private\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ type: Boolean })\n\tshowMoreColors = false;\n\n\t/**\n\t * Defines whether the user can choose the default color from a button.\n\t * @default false\n\t * @private\n\t * @since 1.0.0-rc.16\n\t */\n\t@property({ type: Boolean })\n\tshowDefaultColor = false;\n\n\t/**\n\t * Defines the default color of the color palette, only valid CSS color values accepted\n\t *\n\t * **Note:** The default color should be a part of the ColorPalette colors`\n\t * @private\n\t * @since 1.0.0-rc.16\n\t */\n\t@property()\n\tdefaultColor?: string;\n\n\t/**\n\t * Defines the accessible name of the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.20.0\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.20.0\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines the selected color, only valid CSS color values accepted\n\t * @private\n\t */\n\t@property()\n\t_selectedColor?: string;\n\n\t/**\n\t * Defines if the palette is in Popup or Embeded mode.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tpopupMode = false;\n\n\t/**\n\t * Defines if the palette is rendered on phone.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tonPhone = false;\n\n\t/**\n\n\t * The showMoreColors template.\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\tshowMoreColorsTemplate?: JsxTemplate;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tdialogOpen = false;\n\n\t/**\n\t * @private\n\t */\n\t@property()\n\tcolorPickerValue = \"rgba(255,255,255,1)\";\n\n\t/**\n\t * Defines the `ui5-color-palette-item` elements.\n\t * @public\n\t */\n\t@slot({\n\t\t\"default\": true,\n\t\ttype: HTMLElement,\n\t\tinvalidateOnChildChange: true,\n\t\tindividualSlots: true,\n\t})\n\tcolors!: DefaultSlot<IColorPaletteItem>;\n\n\t_itemNavigation: ItemNavigation;\n\t_itemNavigationRecentColors: ItemNavigation;\n\t_recentColors: Array<string>;\n\t_currentlySelected?: ColorPaletteItem;\n\t_shouldFocusRecentColors = false;\n\n\t@query(\".ui5-cp-default-color-button\")\n\t_defaultColorButton!: Button;\n\n\t@query(\".ui5-cp-more-colors\")\n\t_moreColorsButton!: Button;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._itemNavigation = new ItemNavigation(this, {\n\t\t\tgetItemsCallback: () => this.displayedColors,\n\t\t\trowSize: this.rowSize,\n\t\t\tbehavior: ItemNavigationBehavior.Cyclic,\n\t\t});\n\n\t\tthis._itemNavigationRecentColors = new ItemNavigation(this, {\n\t\t\tgetItemsCallback: () => this.recentColorsElements,\n\t\t\trowSize: this.rowSize,\n\t\t\tbehavior: ItemNavigationBehavior.Cyclic,\n\t\t});\n\n\t\tthis._recentColors = [];\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._ensureSingleSelectionOrDeselectAll();\n\n\t\tconst selectedItem = this.selectedItem;\n\n\t\tif (selectedItem && !this.showRecentColors) {\n\t\t\tthis._selectedColor = selectedItem.value;\n\t\t}\n\n\t\tthis.displayedColors.forEach((item, index) => {\n\t\t\titem.index = index + 1;\n\t\t});\n\n\t\tif (this.showMoreColors) {\n\t\t\t// If the feature is preloaded (the user manually imported ColorPaletteMoreColors.js), the teplate is already available on the constructor\n\t\t\tif (ColorPalette.ColorPaletteMoreColorsTemplate) {\n\t\t\t\tthis.showMoreColorsTemplate = ColorPalette.ColorPaletteMoreColorsTemplate;\n\t\t\t// If feature is not preloaded, load the template dynamically\n\t\t\t} else {\n\t\t\t\timport(\"./features/ColorPaletteMoreColorsTemplate.js\").then(module => {\n\t\t\t\t\tthis.showMoreColorsTemplate = module.default;\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tthis.onPhone = isPhone();\n\t}\n\n\tonAfterRendering() {\n\t\tif (this.hasRecentColors && this._shouldFocusRecentColors) {\n\t\t\tif (this.selectedItem) {\n\t\t\t\tthis.selectedItem.selected = false;\n\t\t\t}\n\t\t\tconst firstRecentColor = this.recentColorsElements[0];\n\t\t\tfirstRecentColor.selected = true;\n\t\t\tthis._currentlySelected = firstRecentColor;\n\t\t\tthis._currentlySelected.focus();\n\t\t\tthis._shouldFocusRecentColors = false;\n\t\t}\n\t}\n\n\tselectColor(item: ColorPaletteItem) {\n\t\tif (!item.value) {\n\t\t\treturn;\n\t\t}\n\n\t\titem.focus();\n\n\t\tif (this.displayedColors.includes(item)) {\n\t\t\tthis._itemNavigation.setCurrentItem(item);\n\t\t}\n\n\t\tthis._setColor(item.value);\n\t}\n\n\t_setColor(color: string) {\n\t\tthis._selectedColor = color;\n\n\t\tif (this._recentColors[0] !== this._selectedColor) {\n\t\t\tif (this._recentColors.includes(this._selectedColor)) {\n\t\t\t\tthis._recentColors.unshift(this._recentColors.splice(this._recentColors.indexOf(this._selectedColor), 1)[0]);\n\t\t\t} else {\n\t\t\t\tthis._addRecentColor(this._selectedColor);\n\t\t\t}\n\t\t}\n\n\t\tthis.fireDecoratorEvent(\"item-click\", {\n\t\t\tcolor: this._selectedColor,\n\t\t});\n\t}\n\n\tget effectiveColorItems() {\n\t\tlet colorItems: IColorPaletteItem[] = this.colors;\n\n\t\tif (this.popupMode) {\n\t\t\tcolorItems = this.getSlottedNodes<ColorPaletteItem>(\"colors\");\n\t\t}\n\n\t\treturn colorItems;\n\t}\n\n\t/**\n\t * Ensures that only one item is selected or only the last selected item remains active if more than one are explicitly set as 'selected'.\n\t * @private\n\t */\n\t_ensureSingleSelectionOrDeselectAll() {\n\t\tlet lastSelectedItem: IColorPaletteItem;\n\n\t\tthis.allColorsInPalette.forEach(item => {\n\t\t\tif (item.selected) {\n\t\t\t\tif (lastSelectedItem) {\n\t\t\t\t\tlastSelectedItem.selected = false;\n\t\t\t\t}\n\t\t\t\tlastSelectedItem = item;\n\t\t\t}\n\t\t});\n\t}\n\n\t_onclick(e: MouseEvent) {\n\t\tthis.handleSelection(e.target as ColorPaletteItem);\n\t}\n\n\t_onmousedown(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\n\t\tif (!target.hasAttribute(\"ui5-color-palette-item\")) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst colorItem = target as ColorPaletteItem;\n\n\t\tif (this.displayedColors.includes(colorItem)) {\n\t\t\tthis._itemNavigation.setCurrentItem(colorItem);\n\t\t} else if (this.recentColorsElements.includes(colorItem)) {\n\t\t\tthis._itemNavigationRecentColors.setCurrentItem(colorItem);\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tconst target = e.target as ColorPaletteItem;\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis.handleSelection(target);\n\t\t}\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tconst target = e.target as ColorPaletteItem;\n\t\tif (isEnter(e)) {\n\t\t\tthis.handleSelection(target);\n\t\t}\n\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\thandleSelection(target: ColorPaletteItem) {\n\t\tif (!target.hasAttribute(\"ui5-color-palette-item\") || !target.value) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._shouldFocusRecentColors = false;\n\n\t\tthis.selectColor(target);\n\n\t\t// Handle selection for items within the 'recentColorsElements'\n\t\tif (this.recentColorsElements.includes(target)) {\n\t\t\tthis.recentColorsElements[0].selected = true;\n\t\t\tthis.recentColorsElements[0].focus();\n\t\t\tthis._currentlySelected = this.recentColorsElements[0];\n\t\t} else {\n\t\t\tthis.allColorsInPalette.forEach(item => {\n\t\t\t\titem.selected = item === target;\n\t\t\t});\n\t\t\tthis._currentlySelected = target;\n\t\t}\n\n\t\tthis._ensureSingleSelectionOrDeselectAll();\n\t}\n\n\tgetFocusDomRef(): HTMLElement | undefined {\n\t\treturn this._itemNavigation._getCurrentItem();\n\t}\n\n\t_handleDefaultColorClick(e: KeyboardEvent) {\n\t\te.preventDefault();\n\t\tthis._onDefaultColorClick();\n\t}\n\n\t_onDefaultColorKeyUp(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis._handleDefaultColorClick(e);\n\t\t}\n\t}\n\n\t_onDefaultColorKeyDown(e: KeyboardEvent) {\n\t\tif (isTabNext(e) && this.popupMode) {\n\t\t\tthis._handleDefaultColorClick(e);\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis._handleDefaultColorClick(e);\n\t\t}\n\n\t\tif (this._isNext(e)) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis._focusFirstDisplayedColor();\n\t\t} else if (isLeft(e)) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis._focusFirstAvailable(\n\t\t\t\t() => this._focusLastRecentColor(),\n\t\t\t\t() => this._focusMoreColors(),\n\t\t\t\t() => this._focusLastDisplayedColor(),\n\t\t\t);\n\t\t} else if (isUp(e)) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis._focusFirstAvailable(\n\t\t\t\t() => this._focusLastRecentColor(),\n\t\t\t\t() => this._focusMoreColors(),\n\t\t\t\t() => this._focusLastSwatchOfLastFullRow(),\n\t\t\t\t() => this._focusLastDisplayedColor(),\n\t\t\t);\n\t\t} else if (isEnd(e)) {\n\t\t\t// Prevent Home/End keys from working in embedded mode - they only work in popup mode as per design\n\t\t\tif (this._shouldPreventHomeEnd(e)) {\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopPropagation();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis._focusFirstAvailable(\n\t\t\t\t() => this._focusMoreColors(),\n\t\t\t\t() => this._focusLastDisplayedColor(),\n\t\t\t);\n\t\t}\n\t}\n\n\t_onMoreColorsKeyDown(e: KeyboardEvent) {\n\t\tif (isLeft(e)) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis._focusLastDisplayedColor();\n\t\t} else if (isUp(e)) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis._focusFirstAvailable(\n\t\t\t\t() => this._focusLastSwatchOfLastFullRow(),\n\t\t\t\t() => this._focusLastDisplayedColor(),\n\t\t\t);\n\t\t} else if (this._isNext(e)) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis._focusFirstAvailable(\n\t\t\t\t() => this._focusFirstRecentColor(),\n\t\t\t\t() => this._focusDefaultColor(),\n\t\t\t\t() => this._focusFirstDisplayedColor(),\n\t\t\t);\n\t\t} else if (isHome(e)) {\n\t\t\t// Prevent Home/End keys from working in embedded mode - they only work in popup mode as per design\n\t\t\tif (this._shouldPreventHomeEnd(e)) {\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopPropagation();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis._focusFirstAvailable(\n\t\t\t\t() => this._focusDefaultColor(),\n\t\t\t\t() => this._focusFirstDisplayedColor(),\n\t\t\t);\n\t\t} else if (isEnd(e)) {\n\t\t\t// Prevent Home/End keys from working in embedded mode - they only work in popup mode as per design\n\t\t\tif (this._shouldPreventHomeEnd(e)) {\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopPropagation();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// More Colors button is typically the last element, so END key stays here\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t}\n\t}\n\n\t_onColorContainerKeyDown(e: KeyboardEvent) {\n\t\tconst target = e.target as ColorPaletteItem;\n\t\tconst isLastSwatchInSingleRow = this._isSingleRow() && this._isLastSwatch(target, this.displayedColors);\n\n\t\t// Prevent Home/End keys from working in embedded mode - they only work in popup mode as per design\n\t\tif (this._shouldPreventHomeEnd(e)) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._isUpOrDownNavigatableColorPaletteItem(e)) {\n\t\t\tthis._currentlySelected = undefined;\n\t\t}\n\n\t\tif (isTabNext(e) && this.popupMode) {\n\t\t\te.preventDefault();\n\t\t\tthis.selectColor(target);\n\t\t}\n\n\t\tif (this._isPrevious(e) && this._isFirstSwatch(target, this.displayedColors)) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis._focusFirstAvailable(\n\t\t\t\t() => this._focusDefaultColor(),\n\t\t\t\t() => this._focusLastRecentColor(),\n\t\t\t\t() => this._focusMoreColors(),\n\t\t\t\t() => this._focusLastSwatchOfLastFullRow(),\n\t\t\t\t() => this._focusLastDisplayedColor(),\n\t\t\t);\n\t\t} else if ((isRight(e) && this._isLastSwatch(target, this.displayedColors))\n\t\t\t|| (isDown(e) && (this._isLastSwatchOfLastFullRow(target) || isLastSwatchInSingleRow))\n\t\t) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis._focusFirstAvailable(\n\t\t\t\t() => this._focusMoreColors(),\n\t\t\t\t() => this._focusFirstRecentColor(),\n\t\t\t\t() => this._focusDefaultColor(),\n\t\t\t\t() => this._focusFirstDisplayedColor(),\n\t\t\t);\n\t\t} else if (isHome(e) && this._isFirstSwatchInRow(target)) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis._focusFirstAvailable(\n\t\t\t\t() => this._focusDefaultColor(),\n\t\t\t\t() => this._focusMoreColors(),\n\t\t\t\t() => this._focusFirstDisplayedColor(),\n\t\t\t);\n\t\t} else if (isEnd(e) && this._isLastSwatchInRow(target)) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis._focusFirstAvailable(\n\t\t\t\t() => this._focusMoreColors(),\n\t\t\t\t() => this._focusDefaultColor(),\n\t\t\t\t() => this._focusLastDisplayedColor(),\n\t\t\t);\n\t\t} else if (isEnd(e) && this._isSwatchInLastRow(target)) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis._focusLastDisplayedColor();\n\t\t}\n\t}\n\n\t_onRecentColorsContainerKeyDown(e: KeyboardEvent) {\n\t\tconst target = e.target as ColorPaletteItem;\n\n\t\t// Prevent Home/End keys from working in embedded mode - they only work in popup mode as per design\n\t\tif (this._shouldPreventHomeEnd(e)) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._isUpOrDownNavigatableColorPaletteItem(e)) {\n\t\t\tthis._currentlySelected = undefined;\n\t\t}\n\n\t\tif (this._isNext(e) && this._isLastSwatch(target, this.recentColorsElements)) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis._focusFirstAvailable(\n\t\t\t\t() => this._focusDefaultColor(),\n\t\t\t\t() => this._focusMoreColors(),\n\t\t\t\t() => this._focusFirstDisplayedColor(),\n\t\t\t);\n\t\t} else if (this._isPrevious(e) && this._isFirstSwatch(target, this.recentColorsElements)) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis._focusFirstAvailable(\n\t\t\t\t() => this._focusMoreColors(),\n\t\t\t\t() => this._focusLastSwatchOfLastFullRow(),\n\t\t\t\t() => this._focusLastDisplayedColor(),\n\t\t\t\t() => this._focusDefaultColor(),\n\t\t\t);\n\t\t} else if (isEnd(e)) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tthis._focusLastRecentColor();\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the keyboard event is up/down navigation on a displayed color palette item\n\t * @private\n\t */\n\t_isUpOrDownNavigatableColorPaletteItem(e: KeyboardEvent): boolean {\n\t\tif (!(isUp(e) || isDown(e)) || !this._currentlySelected) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn this.displayedColors.includes(this._currentlySelected)\n\t\t\t|| this.recentColorsElements.includes(this._currentlySelected);\n\t}\n\n\t_isPrevious(e: KeyboardEvent): boolean {\n\t\treturn isUp(e) || isLeft(e);\n\t}\n\n\t_isNext(e: KeyboardEvent): boolean {\n\t\treturn isDown(e) || isRight(e);\n\t}\n\n\t_isFirstSwatch(target: ColorPaletteItem, swatches: Array<IColorPaletteItem>): boolean {\n\t\treturn swatches && Boolean(swatches.length) && swatches[0] === target;\n\t}\n\n\t_isLastSwatch(target: ColorPaletteItem, swatches: Array<IColorPaletteItem>): boolean {\n\t\treturn swatches && Boolean(swatches.length) && swatches[swatches.length - 1] === target;\n\t}\n\n\t/**\n\t * Checks if the target swatch is the first swatch in its row.\n\t * @private\n\t */\n\t_isFirstSwatchInRow(target: ColorPaletteItem): boolean {\n\t\tconst index = this.displayedColors.indexOf(target);\n\t\treturn index >= 0 ? index % this.rowSize === 0 : false;\n\t}\n\n\t/**\n\t * Checks if the target swatch is the last swatch in its row.\n\t * @private\n\t */\n\t_isLastSwatchInRow(target: ColorPaletteItem): boolean {\n\t\tconst index = this.displayedColors.indexOf(target);\n\t\treturn index >= 0 ? (index + 1) % this.rowSize === 0 || index === this.displayedColors.length - 1 : false;\n\t}\n\n\t/**\n\t * Checks if the given color swatch is the last swatch of the last full row.\n\t *\n\t * Example 1: 12 colors with rowSize 5\n\t * Row 1: [0, 1, 2, 3, 4] ← Complete row\n\t * Row 2: [5, 6, 7, 8, 9] ← Complete row (last complete row)\n\t * Row 3: [10, 11] ← Incomplete row\n\t *\n\t * @param target The color swatch to check.\n\t * @returns True if the swatch is the last of the last full row, false otherwise.\n\t */\n\t_isLastSwatchOfLastFullRow(target: ColorPaletteItem): boolean {\n\t\tconst index = this.displayedColors.indexOf(target);\n\t\tconst rowSize = this.rowSize;\n\t\tconst total = this.displayedColors.length;\n\t\tconst lastCompleteRowEndIndex = this._getLastCompleteRowEndIndex(total, rowSize);\n\t\treturn index >= 0 && index === lastCompleteRowEndIndex;\n\t}\n\n\t_isSwatchInLastRow(target: ColorPaletteItem): boolean {\n\t\tconst index = this.displayedColors.indexOf(target);\n\t\tconst lastRowSwatchesCount = this.displayedColors.length % this.rowSize;\n\t\treturn index >= 0 && index >= this.displayedColors.length - lastRowSwatchesCount;\n\t}\n\n\t/**\n\t * Checks if HOME/END navigation should be prevented in embedded mode.\n\t * In embedded mode, HOME/END keys are blocked as they only work in popup mode per design.\n\t * @private\n\t * @param e The keyboard event to check\n\t * @returns True if the event should be prevented, false otherwise\n\t */\n\t_shouldPreventHomeEnd(e: KeyboardEvent): boolean {\n\t\treturn !this.popupMode && (isHome(e) || isEnd(e));\n\t}\n\n\t/**\n\t * Helper to check if all displayed colors fit in a single row\n\t * @private\n\t */\n\t_isSingleRow(): boolean {\n\t\treturn this.displayedColors.length <= this.rowSize;\n\t}\n\n\t/**\n\t * Helper to focus the first available element from a list of candidates.\n\t *\n\t * This method implements a fallback chain pattern for keyboard navigation in the color palette.\n\t * It attempts to execute focus actions in priority order, stopping at the first successful one.\n\t *\n\t * For example when navigating left from the default color button, try these options in order:\n\t * this._focusFirstAvailable(\n\t * () => this._focusLastRecentColor(), // 1st choice: focus last recent color if available\n\t * () => this._focusMoreColors(), // 2nd choice: focus \"More Colors\" button if available\n\t * () => this._focusLastDisplayedColor() // 3rd choice: focus last color in the main palette\n\t * );\n\t *\n\t * @private\n\t * @param candidates - Functions that attempt to focus an element. Each function should return true if focus was successful, false otherwise.\n\t * @returns True if any candidate successfully focused an element, false if all failed.\n\t */\n\t_focusFirstAvailable(...candidates: Array<() => boolean>): boolean {\n\t\treturn candidates.some(focusAction => focusAction());\n\t}\n\n\t/**\n\t * Helper to focus default color button if available\n\t * @private\n\t */\n\t_focusDefaultColor(): boolean {\n\t\tif (this.showDefaultColor && this._defaultColorButton) {\n\t\t\tthis._defaultColorButton.focus();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Helper to focus more colors button if available\n\t * @private\n\t */\n\t_focusMoreColors(): boolean {\n\t\tif (this.showMoreColors && this._moreColorsButton) {\n\t\t\tthis._moreColorsButton.focus();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Helper to focus first displayed color if available\n\t * @private\n\t */\n\t_focusFirstDisplayedColor(): boolean {\n\t\tif (this.displayedColors.length) {\n\t\t\tthis.focusColorElement(this.displayedColors[0], this._itemNavigation);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Helper to focus last displayed color if available\n\t * @private\n\t */\n\t_focusLastDisplayedColor(): boolean {\n\t\tif (this.displayedColors.length) {\n\t\t\tthis.focusColorElement(this.displayedColors[this.displayedColors.length - 1], this._itemNavigation);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Helper to focus last swatch of last full row if available\n\t * @private\n\t */\n\t_focusLastSwatchOfLastFullRow(): boolean {\n\t\tconst rowSize = this.rowSize;\n\t\tconst total = this.displayedColors.length;\n\t\tconst lastCompleteRowEndIndex = this._getLastCompleteRowEndIndex(total, rowSize);\n\n\t\t// Return false if there are no full rows (less than one complete row)\n\t\tif (lastCompleteRowEndIndex < 0 || !this.displayedColors[lastCompleteRowEndIndex]) {\n\t\t\treturn false;\n\t\t}\n\n\t\tthis.focusColorElement(this.displayedColors[lastCompleteRowEndIndex], this._itemNavigation);\n\t\treturn true;\n\t}\n\n\t/**\n\t * Returns the index of the last swatch in the last complete row.\n\t * @private\n\t */\n\t_getLastCompleteRowEndIndex(total: number, rowSize: number): number {\n\t\treturn Math.floor(total / rowSize) * rowSize - 1;\n\t}\n\n\t/**\n\t * Helper to focus first recent color if available\n\t * @private\n\t */\n\t_focusFirstRecentColor(): boolean {\n\t\tif (this.hasRecentColors && this.recentColorsElements.length) {\n\t\t\tthis.focusColorElement(this.recentColorsElements[0], this._itemNavigationRecentColors);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Helper to focus last recent color if available\n\t * @private\n\t */\n\t_focusLastRecentColor(): boolean {\n\t\tif (this.hasRecentColors && this.recentColorsElements.length) {\n\t\t\tthis.focusColorElement(this.recentColorsElements[this.recentColorsElements.length - 1], this._itemNavigationRecentColors);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tfocusColorElement(element: ColorPaletteNavigationItem, itemNavigation: ItemNavigation) {\n\t\titemNavigation.setCurrentItem(element);\n\t\titemNavigation._focusCurrentItem();\n\t}\n\n\tonColorPickerChange(e: Event) {\n\t\tthis.colorPickerValue = (e.target as ColorPicker).value;\n\t}\n\n\t_chooseCustomColor() {\n\t\tthis._setColor(this.colorPickerValue);\n\t\tthis._closeDialog();\n\t\tthis._shouldFocusRecentColors = true;\n\t}\n\n\t_addRecentColor(color: string) {\n\t\tif (this.showRecentColors && !this._recentColors.includes(color)) {\n\t\t\tthis._recentColors.unshift(color);\n\t\t\tif (this._recentColors.length > this.rowSize) {\n\t\t\t\tthis._recentColors.pop();\n\t\t\t}\n\t\t}\n\t}\n\n\t_closeDialog() {\n\t\tthis.dialogOpen = false;\n\t}\n\n\t_openMoreColorsDialog() {\n\t\tconst value = this._currentlySelected ? this._currentlySelected.value : undefined;\n\n\t\tif (value) {\n\t\t\tthis.colorPickerValue = value;\n\t\t}\n\t\tthis.dialogOpen = true;\n\t}\n\n\t_onDefaultColorClick() {\n\t\tif (this.defaultColor) {\n\t\t\tthis._setColor(this.defaultColor);\n\t\t\tthis._addRecentColor(this.defaultColor);\n\n\t\t\tif (this.selectedItem) {\n\t\t\t\tthis.selectedItem.selected = false;\n\t\t\t\tthis._currentlySelected = undefined;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Returns the selected item.\n\t */\n\tget selectedItem() {\n\t\treturn this.allColorsInPalette.find(item => item.selected);\n\t}\n\n\tget allColorsInPalette() {\n\t\treturn [...this.effectiveColorItems, ...this.recentColorsElements];\n\t}\n\n\tget colorPaletteDialogTitle() {\n\t\treturn ColorPalette.i18nBundle.getText(COLOR_PALETTE_DIALOG_TITLE);\n\t}\n\n\tget colorPaletteDialogOKButton() {\n\t\treturn ColorPalette.i18nBundle.getText(COLOR_PALETTE_DIALOG_OK_BUTTON);\n\t}\n\n\tget colorPaletteCancelButton() {\n\t\treturn ColorPalette.i18nBundle.getText(COLOR_PALETTE_DIALOG_CANCEL_BUTTON);\n\t}\n\n\t/**\n\t * Returns the selected color.\n\t */\n\tget selectedColor() {\n\t\treturn this._selectedColor;\n\t}\n\n\tget displayedColors(): Array<IColorPaletteItem> {\n\t\tconst colors = this.getSlottedNodes<IColorPaletteItem>(\"colors\");\n\t\treturn colors.filter(item => item.value).slice(0, 15);\n\t}\n\n\tget colorContainerLabel() {\n\t\tconst effectiveLabel = getEffectiveAriaLabelText(this);\n\t\treturn effectiveLabel\n\t\t\t? `${ColorPalette.i18nBundle.getText(COLORPALETTE_CONTAINER_LABEL)} ${effectiveLabel}`\n\t\t\t: ColorPalette.i18nBundle.getText(COLORPALETTE_CONTAINER_LABEL);\n\t}\n\n\tget colorPaletteMoreColorsText() {\n\t\treturn ColorPalette.i18nBundle.getText(COLOR_PALETTE_MORE_COLORS_TEXT);\n\t}\n\n\tget colorPaletteDefaultColorText() {\n\t\treturn ColorPalette.i18nBundle.getText(COLOR_PALETTE_DEFAULT_COLOR_TEXT);\n\t}\n\n\tget rowSize() {\n\t\treturn 5;\n\t}\n\n\tget hasRecentColors() {\n\t\treturn this.showRecentColors && this.recentColors[0];\n\t}\n\n\tget recentColors() {\n\t\tif (this._recentColors.length > this.rowSize) {\n\t\t\tthis._recentColors = this._recentColors.slice(0, this.rowSize);\n\t\t}\n\n\t\twhile (this._recentColors.length < this.rowSize) {\n\t\t\tthis._recentColors.push(\"\");\n\t\t}\n\n\t\treturn this._recentColors;\n\t}\n\n\tget recentColorsElements(): Array<ColorPaletteItem> {\n\t\tconst domRef = this.getDomRef();\n\t\tif (domRef) {\n\t\t\treturn Array.from(domRef.querySelectorAll<ColorPaletteItem>(\".ui5-cp-recent-colors-wrapper [ui5-color-palette-item]\")).filter(x => x.value !== \"\");\n\t\t}\n\n\t\treturn [];\n\t}\n\n\tget classes() {\n\t\t// Remove after deleting the hbs template, it's added in the jsx template\n\t\treturn {\n\t\t\tcolorPaletteRoot: {\n\t\t\t\t\"ui5-cp-root\": true,\n\t\t\t\t\"ui5-cp-root-phone\": isPhone(),\n\t\t\t},\n\t\t};\n\t}\n\n\tstatic ColorPaletteMoreColorsTemplate?: JsxTemplate;\n}\n\nColorPalette.define();\n\nexport default ColorPalette;\nexport type {\n\tColorPaletteItemClickEventDetail,\n\tIColorPaletteItem,\n};\n"]}
|
|
@@ -64,6 +64,20 @@ declare class ColorPalettePopover extends UI5Element {
|
|
|
64
64
|
* @public
|
|
65
65
|
*/
|
|
66
66
|
defaultColor?: string;
|
|
67
|
+
/**
|
|
68
|
+
* Defines the accessible name of the component.
|
|
69
|
+
* @default undefined
|
|
70
|
+
* @public
|
|
71
|
+
* @since 2.20.0
|
|
72
|
+
*/
|
|
73
|
+
accessibleName?: string;
|
|
74
|
+
/**
|
|
75
|
+
* Receives id(or many ids) of the elements that label the component.
|
|
76
|
+
* @default undefined
|
|
77
|
+
* @public
|
|
78
|
+
* @since 2.20.0
|
|
79
|
+
*/
|
|
80
|
+
accessibleNameRef?: string;
|
|
67
81
|
/**
|
|
68
82
|
* Defines the open | closed state of the popover.
|
|
69
83
|
* @public
|
|
@@ -150,6 +150,12 @@ __decorate([
|
|
|
150
150
|
__decorate([
|
|
151
151
|
property()
|
|
152
152
|
], ColorPalettePopover.prototype, "defaultColor", void 0);
|
|
153
|
+
__decorate([
|
|
154
|
+
property()
|
|
155
|
+
], ColorPalettePopover.prototype, "accessibleName", void 0);
|
|
156
|
+
__decorate([
|
|
157
|
+
property()
|
|
158
|
+
], ColorPalettePopover.prototype, "accessibleNameRef", void 0);
|
|
153
159
|
__decorate([
|
|
154
160
|
property({ type: Boolean })
|
|
155
161
|
], ColorPalettePopover.prototype, "open", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorPalettePopover.js","sourceRoot":"","sources":["../src/ColorPalettePopover.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport DOMReferenceConverter from \"@ui5/webcomponents-base/dist/converters/DOMReference.js\";\nimport ColorPalettePopoverTemplate from \"./ColorPalettePopoverTemplate.js\";\nimport type PopoverPlacement from \"./types/PopoverPlacement.js\";\n\n// Styles\nimport ColorPalettePopoverCss from \"./generated/themes/ColorPalettePopover.css.js\";\nimport ResponsivePopoverCommonCss from \"./generated/themes/ResponsivePopoverCommon.css.js\";\nimport {\n\tCOLORPALETTE_POPOVER_TITLE,\n\tCOLOR_PALETTE_DIALOG_CANCEL_BUTTON,\n} from \"./generated/i18n/i18n-defaults.js\";\n\nimport type ResponsivePopover from \"./ResponsivePopover.js\";\nimport type ColorPalette from \"./ColorPalette.js\";\nimport type { ColorPaletteItemClickEventDetail, IColorPaletteItem } from \"./ColorPalette.js\";\nimport type ColorPaletteItem from \"./ColorPaletteItem.js\";\n\ntype ColorPalettePopoverItemClickEventDetail = ColorPaletteItemClickEventDetail;\n\n/**\n * @class\n *\n * ### Overview\n * Represents a predefined range of colors for easier selection.\n *\n * Overview\n * The ColorPalettePopover provides the users with a slot to predefine colors.\n *\n * You can customize them with the use of the colors property. You can specify a defaultColor and display a \"Default color\" button for the user to choose directly.\n * You can display a \"More colors...\" button that opens an additional color picker for the user to choose specific colors that are not present in the predefined range.\n *\n * ### Usage\n *\n * The palette is intended for users, who don't want to check and remember the different values of the colors and spend large amount of time to configure the right color through the color picker.\n *\n * For the `ui5-color-palette-popover`\n * ### ES6 Module Import\n *\n * `import @ui5/webcomponents/dist/ColorPalettePopover.js\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.0.0-rc.16\n */\n@customElement({\n\ttag: \"ui5-color-palette-popover\",\n\trenderer: jsxRenderer,\n\tstyles: [ResponsivePopoverCommonCss, ColorPalettePopoverCss],\n\ttemplate: ColorPalettePopoverTemplate,\n})\n\n/**\n * Fired when the user selects a color.\n * @public\n * @param {string} color the selected color\n */\n@event(\"item-click\", {\n\tbubbles: true,\n})\n/**\n * Fired when the `ui5-color-palette-popover` is closed due to user interaction.\n * @since 1.21.0\n * @public\n */\n@event(\"close\", {\n\tbubbles: true,\n})\nclass ColorPalettePopover extends UI5Element {\n\teventDetails!: {\n\t\t\"item-click\": ColorPalettePopoverItemClickEventDetail,\n\t\t\"close\": void,\n\t}\n\n\t/**\n\t * Defines whether the user can see the last used colors in the bottom of the component\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowRecentColors = false\n\n\t/**\n\t * Defines whether the user can choose a custom color from a component.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowMoreColors = false\n\n\t/**\n\t * Defines whether the user can choose the default color from a button.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowDefaultColor = false\n\n\t/**\n\t * Defines the default color of the component.\n\t *\n\t * **Note:** The default color should be a part of the ColorPalette colors`\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tdefaultColor?: string;\n\n\t/**\n\t * Defines the open | closed state of the popover.\n\t * @public\n\t * @default false\n\t * @since 1.21.0\n\t */\n\t@property({ type: Boolean })\n\topen = false\n\n\t/**\n\t * Defines the ID or DOM Reference of the element that the popover is shown at.\n\t * When using this attribute in a declarative way, you must only use the `id` (as a string) of the element at which you want to show the popover.\n\t * You can only set the `opener` attribute to a DOM Reference when using JavaScript.\n\t * @public\n\t * @default undefined\n\t * @since 1.21.0\n\t */\n\t@property({ converter: DOMReferenceConverter })\n\topener?: HTMLElement | string | null;\n\n\t/**\n\t * Determines on which side the component is placed at.\n\t * @default \"Bottom\"\n\t * @public\n\t * @since 2.19.0\n\t */\n\t@property()\n\tplacement: `${PopoverPlacement}` = \"Bottom\";\n\n\t/**\n\t * Defines the content of the component.\n\t * @public\n\t */\n\t@slot({ \"default\": true, type: HTMLElement, individualSlots: true })\n\tcolors!: DefaultSlot<IColorPaletteItem>;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\tget responsivePopover() {\n\t\treturn this.shadowRoot!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t}\n\n\tget respPopover() {\n\t\treturn this.shadowRoot!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t}\n\n\tclosePopover() {\n\t\tthis.open = false;\n\t}\n\n\tonAfterClose() {\n\t\tthis.closePopover();\n\t\tthis.fireDecoratorEvent(\"close\");\n\t}\n\n\tonAfterOpen() {\n\t\tconst colorPalette = this._colorPalette;\n\t\tif (colorPalette._currentlySelected) {\n\t\t\tcolorPalette._currentlySelected?.focus();\n\t\t} else if (colorPalette.showRecentColors && colorPalette.recentColorsElements.length) {\n\t\t\tcolorPalette.recentColorsElements[0].focus();\n\t\t} else if (colorPalette.showDefaultColor) {\n\t\t\tcolorPalette._defaultColorButton?.focus();\n\t\t}\n\n\t\t// since height is dynamically determined by padding-block-start\n\t\tcolorPalette.allColorsInPalette.forEach((item: IColorPaletteItem) => {\n\t\t\tconst itemHeight = item.offsetHeight + 4; // adding 4px for the offsets on top and bottom\n\t\t\titem.style.setProperty(\"--_ui5_color_palette_item_height\", `${itemHeight}px`);\n\t\t});\n\t}\n\n\tonSelectedColor(e: CustomEvent<ColorPaletteItemClickEventDetail>) {\n\t\tthis.closePopover();\n\t\tthis.fireDecoratorEvent(\"item-click\", e.detail);\n\t}\n\n\tget _colorPalette() {\n\t\treturn this.responsivePopover.content[0].querySelector<ColorPalette>(\"[ui5-color-palette]\")!;\n\t}\n\n\t/**\n\t * Returns if the component is opened.\n\t * @protected\n\t * @since 1.0.0-rc.16\n\t */\n\tisOpen() {\n\t\treturn this.open;\n\t}\n\n\tget colorPaletteColors() {\n\t\treturn this.getSlottedNodes<ColorPaletteItem>(\"colors\");\n\t}\n\n\tget _colorPaletteTitle() {\n\t\treturn ColorPalettePopover.i18nBundle.getText(COLORPALETTE_POPOVER_TITLE);\n\t}\n\n\tget _cancelButtonLabel() {\n\t\treturn ColorPalettePopover.i18nBundle.getText(COLOR_PALETTE_DIALOG_CANCEL_BUTTON);\n\t}\n\n\tget _open() {\n\t\treturn this.open || undefined;\n\t}\n}\n\nColorPalettePopover.define();\n\nexport default ColorPalettePopover;\nexport type { ColorPalettePopoverItemClickEventDetail };\n"]}
|
|
1
|
+
{"version":3,"file":"ColorPalettePopover.js","sourceRoot":"","sources":["../src/ColorPalettePopover.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport DOMReferenceConverter from \"@ui5/webcomponents-base/dist/converters/DOMReference.js\";\nimport ColorPalettePopoverTemplate from \"./ColorPalettePopoverTemplate.js\";\nimport type PopoverPlacement from \"./types/PopoverPlacement.js\";\n\n// Styles\nimport ColorPalettePopoverCss from \"./generated/themes/ColorPalettePopover.css.js\";\nimport ResponsivePopoverCommonCss from \"./generated/themes/ResponsivePopoverCommon.css.js\";\nimport {\n\tCOLORPALETTE_POPOVER_TITLE,\n\tCOLOR_PALETTE_DIALOG_CANCEL_BUTTON,\n} from \"./generated/i18n/i18n-defaults.js\";\n\nimport type ResponsivePopover from \"./ResponsivePopover.js\";\nimport type ColorPalette from \"./ColorPalette.js\";\nimport type { ColorPaletteItemClickEventDetail, IColorPaletteItem } from \"./ColorPalette.js\";\nimport type ColorPaletteItem from \"./ColorPaletteItem.js\";\n\ntype ColorPalettePopoverItemClickEventDetail = ColorPaletteItemClickEventDetail;\n\n/**\n * @class\n *\n * ### Overview\n * Represents a predefined range of colors for easier selection.\n *\n * Overview\n * The ColorPalettePopover provides the users with a slot to predefine colors.\n *\n * You can customize them with the use of the colors property. You can specify a defaultColor and display a \"Default color\" button for the user to choose directly.\n * You can display a \"More colors...\" button that opens an additional color picker for the user to choose specific colors that are not present in the predefined range.\n *\n * ### Usage\n *\n * The palette is intended for users, who don't want to check and remember the different values of the colors and spend large amount of time to configure the right color through the color picker.\n *\n * For the `ui5-color-palette-popover`\n * ### ES6 Module Import\n *\n * `import @ui5/webcomponents/dist/ColorPalettePopover.js\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.0.0-rc.16\n */\n@customElement({\n\ttag: \"ui5-color-palette-popover\",\n\trenderer: jsxRenderer,\n\tstyles: [ResponsivePopoverCommonCss, ColorPalettePopoverCss],\n\ttemplate: ColorPalettePopoverTemplate,\n})\n\n/**\n * Fired when the user selects a color.\n * @public\n * @param {string} color the selected color\n */\n@event(\"item-click\", {\n\tbubbles: true,\n})\n/**\n * Fired when the `ui5-color-palette-popover` is closed due to user interaction.\n * @since 1.21.0\n * @public\n */\n@event(\"close\", {\n\tbubbles: true,\n})\nclass ColorPalettePopover extends UI5Element {\n\teventDetails!: {\n\t\t\"item-click\": ColorPalettePopoverItemClickEventDetail,\n\t\t\"close\": void,\n\t}\n\n\t/**\n\t * Defines whether the user can see the last used colors in the bottom of the component\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowRecentColors = false\n\n\t/**\n\t * Defines whether the user can choose a custom color from a component.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowMoreColors = false\n\n\t/**\n\t * Defines whether the user can choose the default color from a button.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowDefaultColor = false\n\n\t/**\n\t * Defines the default color of the component.\n\t *\n\t * **Note:** The default color should be a part of the ColorPalette colors`\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tdefaultColor?: string;\n\n\t/**\n\t * Defines the accessible name of the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.20.0\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.20.0\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines the open | closed state of the popover.\n\t * @public\n\t * @default false\n\t * @since 1.21.0\n\t */\n\t@property({ type: Boolean })\n\topen = false\n\n\t/**\n\t * Defines the ID or DOM Reference of the element that the popover is shown at.\n\t * When using this attribute in a declarative way, you must only use the `id` (as a string) of the element at which you want to show the popover.\n\t * You can only set the `opener` attribute to a DOM Reference when using JavaScript.\n\t * @public\n\t * @default undefined\n\t * @since 1.21.0\n\t */\n\t@property({ converter: DOMReferenceConverter })\n\topener?: HTMLElement | string | null;\n\n\t/**\n\t * Determines on which side the component is placed at.\n\t * @default \"Bottom\"\n\t * @public\n\t * @since 2.19.0\n\t */\n\t@property()\n\tplacement: `${PopoverPlacement}` = \"Bottom\";\n\n\t/**\n\t * Defines the content of the component.\n\t * @public\n\t */\n\t@slot({ \"default\": true, type: HTMLElement, individualSlots: true })\n\tcolors!: DefaultSlot<IColorPaletteItem>;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\tget responsivePopover() {\n\t\treturn this.shadowRoot!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t}\n\n\tget respPopover() {\n\t\treturn this.shadowRoot!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t}\n\n\tclosePopover() {\n\t\tthis.open = false;\n\t}\n\n\tonAfterClose() {\n\t\tthis.closePopover();\n\t\tthis.fireDecoratorEvent(\"close\");\n\t}\n\n\tonAfterOpen() {\n\t\tconst colorPalette = this._colorPalette;\n\t\tif (colorPalette._currentlySelected) {\n\t\t\tcolorPalette._currentlySelected?.focus();\n\t\t} else if (colorPalette.showRecentColors && colorPalette.recentColorsElements.length) {\n\t\t\tcolorPalette.recentColorsElements[0].focus();\n\t\t} else if (colorPalette.showDefaultColor) {\n\t\t\tcolorPalette._defaultColorButton?.focus();\n\t\t}\n\n\t\t// since height is dynamically determined by padding-block-start\n\t\tcolorPalette.allColorsInPalette.forEach((item: IColorPaletteItem) => {\n\t\t\tconst itemHeight = item.offsetHeight + 4; // adding 4px for the offsets on top and bottom\n\t\t\titem.style.setProperty(\"--_ui5_color_palette_item_height\", `${itemHeight}px`);\n\t\t});\n\t}\n\n\tonSelectedColor(e: CustomEvent<ColorPaletteItemClickEventDetail>) {\n\t\tthis.closePopover();\n\t\tthis.fireDecoratorEvent(\"item-click\", e.detail);\n\t}\n\n\tget _colorPalette() {\n\t\treturn this.responsivePopover.content[0].querySelector<ColorPalette>(\"[ui5-color-palette]\")!;\n\t}\n\n\t/**\n\t * Returns if the component is opened.\n\t * @protected\n\t * @since 1.0.0-rc.16\n\t */\n\tisOpen() {\n\t\treturn this.open;\n\t}\n\n\tget colorPaletteColors() {\n\t\treturn this.getSlottedNodes<ColorPaletteItem>(\"colors\");\n\t}\n\n\tget _colorPaletteTitle() {\n\t\treturn ColorPalettePopover.i18nBundle.getText(COLORPALETTE_POPOVER_TITLE);\n\t}\n\n\tget _cancelButtonLabel() {\n\t\treturn ColorPalettePopover.i18nBundle.getText(COLOR_PALETTE_DIALOG_CANCEL_BUTTON);\n\t}\n\n\tget _open() {\n\t\treturn this.open || undefined;\n\t}\n}\n\nColorPalettePopover.define();\n\nexport default ColorPalettePopover;\nexport type { ColorPalettePopoverItemClickEventDetail };\n"]}
|
|
@@ -4,6 +4,6 @@ import Button from "./Button.js";
|
|
|
4
4
|
import ColorPalette from "./ColorPalette.js";
|
|
5
5
|
import ResponsivePopover from "./ResponsivePopover.js";
|
|
6
6
|
export default function ColorPalettePopoverTemplate() {
|
|
7
|
-
return (_jsxs(ResponsivePopover, { hideArrow: true, contentOnlyOnDesktop: true, placement: this.placement, opener: this.opener, open: this._open, onClose: this.onAfterClose, onOpen: this.onAfterOpen, children: [_jsx("div", { slot: "header", class: "ui5-cp-header", children: _jsx(Title, { level: "H1", wrappingType: "None", children: this._colorPaletteTitle }) }), _jsx("div", { children: _jsx(ColorPalette, { showMoreColors: this.showMoreColors, showRecentColors: this.showRecentColors, showDefaultColor: this.showDefaultColor, defaultColor: this.defaultColor, popupMode: true, onItemClick: this.onSelectedColor, children: this.colorPaletteColors.map(color => _jsx("slot", { name: color._individualSlot })) }) }), _jsx("div", { slot: "footer", class: "ui5-cp-footer", children: _jsx(Button, { design: "Transparent", onClick: this.closePopover, children: this._cancelButtonLabel }) })] }));
|
|
7
|
+
return (_jsxs(ResponsivePopover, { hideArrow: true, contentOnlyOnDesktop: true, placement: this.placement, opener: this.opener, open: this._open, onClose: this.onAfterClose, onOpen: this.onAfterOpen, accessibleName: this._colorPaletteTitle, children: [_jsx("div", { slot: "header", class: "ui5-cp-header", children: _jsx(Title, { level: "H1", wrappingType: "None", children: this._colorPaletteTitle }) }), _jsx("div", { children: _jsx(ColorPalette, { showMoreColors: this.showMoreColors, showRecentColors: this.showRecentColors, showDefaultColor: this.showDefaultColor, defaultColor: this.defaultColor, accessibleName: this.accessibleName, accessibleNameRef: this.accessibleNameRef, popupMode: true, onItemClick: this.onSelectedColor, children: this.colorPaletteColors.map(color => _jsx("slot", { name: color._individualSlot })) }) }), _jsx("div", { slot: "footer", class: "ui5-cp-footer", children: _jsx(Button, { design: "Transparent", onClick: this.closePopover, children: this._cancelButtonLabel }) })] }));
|
|
8
8
|
}
|
|
9
9
|
//# sourceMappingURL=ColorPalettePopoverTemplate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorPalettePopoverTemplate.js","sourceRoot":"","sources":["../src/ColorPalettePopoverTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AAEvD,MAAM,CAAC,OAAO,UAAU,2BAA2B;IAClD,OAAO,CACN,MAAC,iBAAiB,IACjB,SAAS,EAAE,IAAI,EACf,oBAAoB,EAAE,IAAI,EAC1B,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,IAAI,EAAE,IAAI,CAAC,KAAK,EAChB,OAAO,EAAE,IAAI,CAAC,YAAY,EAC1B,MAAM,EAAE,IAAI,CAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"ColorPalettePopoverTemplate.js","sourceRoot":"","sources":["../src/ColorPalettePopoverTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AAEvD,MAAM,CAAC,OAAO,UAAU,2BAA2B;IAClD,OAAO,CACN,MAAC,iBAAiB,IACjB,SAAS,EAAE,IAAI,EACf,oBAAoB,EAAE,IAAI,EAC1B,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,IAAI,EAAE,IAAI,CAAC,KAAK,EAChB,OAAO,EAAE,IAAI,CAAC,YAAY,EAC1B,MAAM,EAAE,IAAI,CAAC,WAAW,EACxB,cAAc,EAAE,IAAI,CAAC,kBAAkB,aAEvC,cAAK,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,eAAe,YACvC,KAAC,KAAK,IAAC,KAAK,EAAC,IAAI,EAAC,YAAY,EAAC,MAAM,YACnC,IAAI,CAAC,kBAAkB,GACjB,GACH,EAEN,wBACC,KAAC,YAAY,IACZ,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EACvC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EACvC,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EACzC,SAAS,EAAE,IAAI,EACf,WAAW,EAAE,IAAI,CAAC,eAAe,YAEhC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CACpC,eAAM,IAAI,EAAE,KAAK,CAAC,eAAe,GAAS,CAC1C,GACa,GACV,EAEN,cAAK,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,eAAe,YACvC,KAAC,MAAM,IACN,MAAM,EAAC,aAAa,EACpB,OAAO,EAAE,IAAI,CAAC,YAAY,YAEzB,IAAI,CAAC,kBAAkB,GAChB,GACJ,IACa,CACpB,CAAC;AACH,CAAC","sourcesContent":["import type ColorPalettePopover from \"./ColorPalettePopover.js\";\nimport Title from \"./Title.js\";\nimport Button from \"./Button.js\";\nimport ColorPalette from \"./ColorPalette.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\n\nexport default function ColorPalettePopoverTemplate(this: ColorPalettePopover) {\n\treturn (\n\t\t<ResponsivePopover\n\t\t\thideArrow={true}\n\t\t\tcontentOnlyOnDesktop={true}\n\t\t\tplacement={this.placement}\n\t\t\topener={this.opener}\n\t\t\topen={this._open}\n\t\t\tonClose={this.onAfterClose}\n\t\t\tonOpen={this.onAfterOpen}\n\t\t\taccessibleName={this._colorPaletteTitle}\n\t\t>\n\t\t\t<div slot=\"header\" class=\"ui5-cp-header\">\n\t\t\t\t<Title level=\"H1\" wrappingType=\"None\">\n\t\t\t\t\t{this._colorPaletteTitle}\n\t\t\t\t</Title>\n\t\t\t</div>\n\n\t\t\t<div>\n\t\t\t\t<ColorPalette\n\t\t\t\t\tshowMoreColors={this.showMoreColors}\n\t\t\t\t\tshowRecentColors={this.showRecentColors}\n\t\t\t\t\tshowDefaultColor={this.showDefaultColor}\n\t\t\t\t\tdefaultColor={this.defaultColor}\n\t\t\t\t\taccessibleName={this.accessibleName}\n\t\t\t\t\taccessibleNameRef={this.accessibleNameRef}\n\t\t\t\t\tpopupMode={true}\n\t\t\t\t\tonItemClick={this.onSelectedColor}\n\t\t\t\t>\n\t\t\t\t\t{this.colorPaletteColors.map(color =>\n\t\t\t\t\t\t<slot name={color._individualSlot}></slot>\n\t\t\t\t\t)}\n\t\t\t\t</ColorPalette>\n\t\t\t</div>\n\n\t\t\t<div slot=\"footer\" class=\"ui5-cp-footer\">\n\t\t\t\t<Button\n\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\tonClick={this.closePopover}\n\t\t\t\t>\n\t\t\t\t\t{this._cancelButtonLabel}\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t</ResponsivePopover>\n\t);\n}\n"]}
|
|
@@ -7,7 +7,7 @@ export default function ColorPaletteTemplate() {
|
|
|
7
7
|
"ui5-cp-root": true,
|
|
8
8
|
"ui5-cp-root-phone": isPhone(),
|
|
9
9
|
}, onClick: this._onclick, onKeyUp: this._onkeyup, onKeyDown: this._onkeydown, onMouseDown: this._onmousedown, children: [this.showDefaultColor &&
|
|
10
|
-
_jsxs("div", { class: "ui5-cp-default-color-button-wrapper", children: [_jsx(Button, { class: "ui5-cp-default-color-button", design: "Transparent", onClick: this._onDefaultColorClick, onKeyUp: this._onDefaultColorKeyUp, onKeyDown: this._onDefaultColorKeyDown, children: this.colorPaletteDefaultColorText }), _jsx("div", { class: "ui5-cp-separator" })] }), _jsx("div", { class: "ui5-cp-item-container", role: "
|
|
10
|
+
_jsxs("div", { class: "ui5-cp-default-color-button-wrapper", children: [_jsx(Button, { class: "ui5-cp-default-color-button", design: "Transparent", onClick: this._onDefaultColorClick, onKeyUp: this._onDefaultColorKeyUp, onKeyDown: this._onDefaultColorKeyDown, children: this.colorPaletteDefaultColorText }), _jsx("div", { class: "ui5-cp-separator" })] }), _jsx("div", { class: "ui5-cp-item-container", role: "group", "aria-label": this.colorContainerLabel, onKeyDown: this._onColorContainerKeyDown, children: this.displayedColors.map(color => _jsx("slot", { name: color._individualSlot })) }), this.showMoreColors &&
|
|
11
11
|
_jsxs("div", { class: "ui5-cp-more-colors-wrapper", children: [_jsx("div", { class: "ui5-cp-separator" }), _jsx(Button, { design: "Transparent", class: "ui5-cp-more-colors", onClick: this._openMoreColorsDialog, onKeyDown: this._onMoreColorsKeyDown, children: this.colorPaletteMoreColorsText })] }), this.showRecentColors &&
|
|
12
12
|
_jsxs("div", { class: "ui5-cp-recent-colors-wrapper", children: [_jsx("div", { class: "ui5-cp-separator" }), _jsx("div", { class: "ui5-cp-recent-colors-container", onKeyDown: this._onRecentColorsContainerKeyDown, children: this.recentColors.map(color => _jsx(ColorPaletteItem, { value: color })) })] })] }), this.showMoreColors && this.showMoreColorsTemplate?.call(this)] }));
|
|
13
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorPaletteTemplate.js","sourceRoot":"","sources":["../src/ColorPaletteTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AAGjE,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AAErD,MAAM,CAAC,OAAO,UAAU,oBAAoB;IAC3C,OAAO,CACN,8BACC,eACC,KAAK,EAAE;oBACN,aAAa,EAAE,IAAI;oBACnB,mBAAmB,EAAE,OAAO,EAAE;iBAC9B,EACD,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,WAAW,EAAE,IAAI,CAAC,YAAY,aAE7B,IAAI,CAAC,gBAAgB;wBACrB,eAAK,KAAK,EAAC,qCAAqC,aAC/C,KAAC,MAAM,IACN,KAAK,EAAC,6BAA6B,EACnC,MAAM,EAAC,aAAa,EACpB,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAClC,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAClC,SAAS,EAAE,IAAI,CAAC,sBAAsB,YAErC,IAAI,CAAC,4BAA4B,GAC1B,EACT,cAAK,KAAK,EAAC,kBAAkB,GAAO,IAC/B,EAEP,cAAK,KAAK,EAAC,uBAAuB,EACjC,IAAI,EAAC,
|
|
1
|
+
{"version":3,"file":"ColorPaletteTemplate.js","sourceRoot":"","sources":["../src/ColorPaletteTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AAGjE,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AAErD,MAAM,CAAC,OAAO,UAAU,oBAAoB;IAC3C,OAAO,CACN,8BACC,eACC,KAAK,EAAE;oBACN,aAAa,EAAE,IAAI;oBACnB,mBAAmB,EAAE,OAAO,EAAE;iBAC9B,EACD,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,WAAW,EAAE,IAAI,CAAC,YAAY,aAE7B,IAAI,CAAC,gBAAgB;wBACrB,eAAK,KAAK,EAAC,qCAAqC,aAC/C,KAAC,MAAM,IACN,KAAK,EAAC,6BAA6B,EACnC,MAAM,EAAC,aAAa,EACpB,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAClC,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAClC,SAAS,EAAE,IAAI,CAAC,sBAAsB,YAErC,IAAI,CAAC,4BAA4B,GAC1B,EACT,cAAK,KAAK,EAAC,kBAAkB,GAAO,IAC/B,EAEP,cAAK,KAAK,EAAC,uBAAuB,EACjC,IAAI,EAAC,OAAO,gBACA,IAAI,CAAC,mBAAmB,EACpC,SAAS,EAAE,IAAI,CAAC,wBAAwB,YAEvC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CACjC,eAAM,IAAI,EAAE,KAAK,CAAC,eAAe,GAAS,CAC1C,GACI,EAEL,IAAI,CAAC,cAAc;wBACnB,eAAK,KAAK,EAAC,4BAA4B,aACtC,cAAK,KAAK,EAAC,kBAAkB,GAAO,EACpC,KAAC,MAAM,IACN,MAAM,EAAC,aAAa,EACpB,KAAK,EAAC,oBAAoB,EAC1B,OAAO,EAAE,IAAI,CAAC,qBAAqB,EACnC,SAAS,EAAE,IAAI,CAAC,oBAAoB,YAEnC,IAAI,CAAC,0BAA0B,GACxB,IACJ,EAGN,IAAI,CAAC,gBAAgB;wBACrB,eAAK,KAAK,EAAC,8BAA8B,aACxC,cAAK,KAAK,EAAC,kBAAkB,GAAO,EACpC,cAAK,KAAK,EAAC,gCAAgC,EAAC,SAAS,EAAE,IAAI,CAAC,+BAA+B,YACzF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAC9B,KAAC,gBAAgB,IAAC,KAAK,EAAE,KAAK,GAAG,CACjC,GACI,IACD,IAEF,EAEJ,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,IAAI,CAAC,IAC9D,CACH,CAAC;AACH,CAAC","sourcesContent":["import { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\n\nimport type ColorPalette from \"./ColorPalette.js\";\nimport Button from \"./Button.js\";\nimport ColorPaletteItem from \"./ColorPaletteItem.js\";\n\nexport default function ColorPaletteTemplate(this: ColorPalette) {\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t\"ui5-cp-root\": true,\n\t\t\t\t\t\"ui5-cp-root-phone\": isPhone(),\n\t\t\t\t}}\n\t\t\t\tonClick={this._onclick}\n\t\t\t\tonKeyUp={this._onkeyup}\n\t\t\t\tonKeyDown={this._onkeydown}\n\t\t\t\tonMouseDown={this._onmousedown}\n\t\t\t>\n\t\t\t\t{this.showDefaultColor &&\n\t\t\t\t\t<div class=\"ui5-cp-default-color-button-wrapper\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclass=\"ui5-cp-default-color-button\"\n\t\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\t\tonClick={this._onDefaultColorClick}\n\t\t\t\t\t\t\tonKeyUp={this._onDefaultColorKeyUp}\n\t\t\t\t\t\t\tonKeyDown={this._onDefaultColorKeyDown}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this.colorPaletteDefaultColorText}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<div class=\"ui5-cp-separator\"></div>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t\t<div class=\"ui5-cp-item-container\"\n\t\t\t\t\trole=\"group\"\n\t\t\t\t\taria-label={this.colorContainerLabel}\n\t\t\t\t\tonKeyDown={this._onColorContainerKeyDown}\n\t\t\t\t>\n\t\t\t\t\t{this.displayedColors.map(color =>\n\t\t\t\t\t\t<slot name={color._individualSlot}></slot>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t{this.showMoreColors &&\n\t\t\t\t\t<div class=\"ui5-cp-more-colors-wrapper\">\n\t\t\t\t\t\t<div class=\"ui5-cp-separator\"></div>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\t\tclass=\"ui5-cp-more-colors\"\n\t\t\t\t\t\t\tonClick={this._openMoreColorsDialog}\n\t\t\t\t\t\t\tonKeyDown={this._onMoreColorsKeyDown}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this.colorPaletteMoreColorsText}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\n\t\t\t\t{this.showRecentColors &&\n\t\t\t\t\t<div class=\"ui5-cp-recent-colors-wrapper\">\n\t\t\t\t\t\t<div class=\"ui5-cp-separator\"></div>\n\t\t\t\t\t\t<div class=\"ui5-cp-recent-colors-container\" onKeyDown={this._onRecentColorsContainerKeyDown}>\n\t\t\t\t\t\t\t{this.recentColors.map(color =>\n\t\t\t\t\t\t\t\t<ColorPaletteItem value={color}/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t</div>\n\n\t\t\t{ this.showMoreColors && this.showMoreColorsTemplate?.call(this) }\n\t\t</>\n\t);\n}\n"]}
|
package/dist/ColorPicker.d.ts
CHANGED
|
@@ -72,6 +72,20 @@ declare class ColorPicker extends UI5Element implements IFormInputElement {
|
|
|
72
72
|
* @since 2.5.0
|
|
73
73
|
*/
|
|
74
74
|
simplified: boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Defines the accessible name of the component.
|
|
77
|
+
* @default undefined
|
|
78
|
+
* @public
|
|
79
|
+
* @since 2.20.0
|
|
80
|
+
*/
|
|
81
|
+
accessibleName?: string;
|
|
82
|
+
/**
|
|
83
|
+
* Receives id(or many ids) of the elements that label the component.
|
|
84
|
+
* @default undefined
|
|
85
|
+
* @public
|
|
86
|
+
* @since 2.20.0
|
|
87
|
+
*/
|
|
88
|
+
accessibleNameRef?: string;
|
|
75
89
|
/**
|
|
76
90
|
* Defines the current main color which is selected via the hue slider and is shown in the main color square.
|
|
77
91
|
* @private
|
package/dist/ColorPicker.js
CHANGED
|
@@ -12,6 +12,7 @@ import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
|
|
|
12
12
|
import { isEnter } from "@ui5/webcomponents-base/dist/Keys.js";
|
|
13
13
|
import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
|
|
14
14
|
import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
|
|
15
|
+
import { getEffectiveAriaLabelText } from "@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js";
|
|
15
16
|
import { getRGBColor, getAlpha, } from "@ui5/webcomponents-base/dist/util/ColorConversion.js";
|
|
16
17
|
import "@ui5/webcomponents-icons/dist/expand.js";
|
|
17
18
|
import ColorValue from "./colorpicker-utils/ColorValue.js";
|
|
@@ -389,7 +390,10 @@ let ColorPicker = ColorPicker_1 = class ColorPicker extends UI5Element {
|
|
|
389
390
|
&& this._colorValue.B === value.b;
|
|
390
391
|
}
|
|
391
392
|
get colorPickerLabel() {
|
|
392
|
-
|
|
393
|
+
const effectiveLabel = getEffectiveAriaLabelText(this);
|
|
394
|
+
return effectiveLabel
|
|
395
|
+
? `${ColorPicker_1.i18nBundle.getText(COLORPICKER_LABEL)} ${effectiveLabel}`
|
|
396
|
+
: ColorPicker_1.i18nBundle.getText(COLORPICKER_LABEL);
|
|
393
397
|
}
|
|
394
398
|
get sliderGroupLabel() {
|
|
395
399
|
return ColorPicker_1.i18nBundle.getText(COLORPICKER_SLIDER_GROUP);
|
|
@@ -516,6 +520,12 @@ __decorate([
|
|
|
516
520
|
__decorate([
|
|
517
521
|
property({ type: Boolean })
|
|
518
522
|
], ColorPicker.prototype, "simplified", void 0);
|
|
523
|
+
__decorate([
|
|
524
|
+
property()
|
|
525
|
+
], ColorPicker.prototype, "accessibleName", void 0);
|
|
526
|
+
__decorate([
|
|
527
|
+
property()
|
|
528
|
+
], ColorPicker.prototype, "accessibleNameRef", void 0);
|
|
519
529
|
__decorate([
|
|
520
530
|
property({ type: Object })
|
|
521
531
|
], ColorPicker.prototype, "_mainValue", void 0);
|