UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

3 lines (2 loc) 2.31 kB
/* COPYRIGHT Esri - https://js.arcgis.com/5.0.8/LICENSE.txt */ import{loadCalciteComponents as t}from"../../support/componentsUtils.js";import{Heading as e}from"../../support/Heading.js";import{iconByKind as i}from"../../support/iconUtils.js";import{tsx as o}from"../../support/widget.js";import{setFocus as a}from"../../support/widgetUtils.js";const c="esri-editor__prompt",n={base:c,header:`${c}__header`,heading:`${c}__header__heading`,message:`${c}__message`,divider:`${c}__divider`,actions:`${c}__actions`,halfWidthButton:`${c}__half-width-button`},s=()=>t({button:()=>import("@esri/calcite-components/dist/components/calcite-button"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon"),scrim:()=>import("@esri/calcite-components/dist/components/calcite-scrim"),label:()=>import("@esri/calcite-components/dist/components/calcite-label"),"radio-button":()=>import("@esri/calcite-components/dist/components/calcite-radio-button"),"radio-button-group":()=>import("@esri/calcite-components/dist/components/calcite-radio-button-group")});function r({actions:t,context:c,headingLevel:s,message:r,title:d,...p}){const{primary:m,secondary:u}=t;let b;switch(c){case"danger":b="danger";break;case"info":b="brand";break;default:b="neutral"}const h=o("calcite-button",{afterCreate:t=>a(t),appearance:"solid",classes:{[n.halfWidthButton]:!!u},"data-testid":"primary-prompt-button",key:"prompt-primary-button",kind:b,onclick:m.action,width:"full"},m.label),g=u&&o("calcite-button",{appearance:"outline",class:n.halfWidthButton,"data-testid":"secondary-prompt-button",key:"prompt-secondary-button",kind:b,onclick:u.action,width:"full"},u.label);return o("calcite-scrim",{"data-testid":"prompt",key:"prompt"},o("div",{class:`${n.base}--${c}`},o("div",{class:n.header},o("calcite-icon",{icon:i.warning}),o(e,{class:n.heading,level:s},d)),o("div",{class:n.message},r),l(p)??o("div",{class:n.divider}),o("div",{class:n.actions},g,h)))}function l({radios:t,onRadioSelection:e,defaultRadioSelection:i}){return t?.length?o("calcite-radio-button-group",{name:"PromptChoiceList"},t.map(t=>o("calcite-label",{layout:"inline"},o("calcite-radio-button",{checked:t.value===i,value:t.value,onCalciteRadioButtonChange:()=>e?.(t.value)}),t.label))):void 0}export{r as Prompt,n as css,s as loadPromptComponents};