@citizenplane/pimp 8.12.0 → 8.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/dist/assets/BaseInputLabel-B6HBeOYW.css +1 -0
  2. package/dist/assets/BaseInputLabel-BEmdWkeA.js +1 -0
  3. package/dist/assets/BaseInputLabel.stories-CWggfy0B.js +28 -0
  4. package/dist/assets/Color-YHDXOIA2-C8yFTRje.js +1 -0
  5. package/dist/assets/Colors-mWZwWrlN.js +1 -0
  6. package/dist/assets/CpAlert-BW1Zf1Km.css +1 -0
  7. package/dist/assets/CpAlert-mkY_4xAf.js +1 -0
  8. package/dist/assets/CpAlert.stories-bTzsb3QU.js +58 -0
  9. package/dist/assets/CpBadge-CE420vX2.css +1 -0
  10. package/dist/assets/CpBadge-DVu8hhXi.js +1 -0
  11. package/dist/assets/CpBadge.stories-D4jb-Y8N.js +170 -0
  12. package/dist/assets/CpButton-CriAEAA_.js +1 -0
  13. package/dist/assets/CpButton-gbl9KLuG.css +1 -0
  14. package/dist/assets/CpButton.stories-CdI6_XFS.js +86 -0
  15. package/dist/assets/CpCheckbox-DdQW6Gbc.css +1 -0
  16. package/dist/assets/CpCheckbox-Dopy8x9B.js +1 -0
  17. package/dist/assets/CpCheckbox.stories-Df_gEpnZ.js +167 -0
  18. package/dist/assets/CpDate-BdnXxnGQ.css +1 -0
  19. package/dist/assets/CpDate-C9Tf--RL.js +3 -0
  20. package/dist/assets/CpDate.stories-CWvXUGcN.js +59 -0
  21. package/dist/assets/CpDatepicker-DZqnxLl5.js +5 -0
  22. package/dist/assets/CpDatepicker-DqugfF5T.css +1 -0
  23. package/dist/assets/CpDatepicker.stories-ByT4qNrf.js +83 -0
  24. package/dist/assets/CpDialog-8CGjG9CK.js +1 -0
  25. package/dist/assets/CpDialog-BeuM9Ffk.css +1 -0
  26. package/dist/assets/CpDialog.stories-D3qizr1X.js +43 -0
  27. package/dist/assets/CpHeading-BAq1EOd-.js +1 -0
  28. package/dist/assets/CpHeading-DgViCnDE.css +1 -0
  29. package/dist/assets/CpHeading.stories-BbC4yHHt.js +85 -0
  30. package/dist/assets/CpIcon-CWMZpN60.js +5 -0
  31. package/dist/assets/CpIcon-CdMV7BxY.css +1 -0
  32. package/dist/assets/CpIcon.stories-DLk_T_0O.js +47 -0
  33. package/dist/assets/CpInput-BjnvrsOu.js +1 -0
  34. package/dist/assets/CpInput-CAegPnB6.css +1 -0
  35. package/dist/assets/CpInput.stories-_vz5Chnb.js +98 -0
  36. package/dist/assets/CpLoader-DDgDnagl.js +1 -0
  37. package/dist/assets/CpLoader.stories-CFCmKQd0.js +10 -0
  38. package/dist/assets/CpRadio-CfeFgUHl.js +1 -0
  39. package/dist/assets/CpRadio-DiUdGJPg.css +1 -0
  40. package/dist/assets/CpRadio.stories-CYHrGXIH.js +132 -0
  41. package/dist/assets/CpSelect-BOPkEYW_.js +1 -0
  42. package/dist/assets/CpSelect-HpT9AKcz.css +1 -0
  43. package/dist/assets/CpSelect.stories-D1y3-8Cb.js +85 -0
  44. package/dist/assets/CpSelectMenu-DjXR4Uic.js +1 -0
  45. package/dist/assets/CpSelectMenu-Dw4sbiEj.css +1 -0
  46. package/dist/assets/CpSelectMenu.stories-Dmoj_z0D.js +104 -0
  47. package/dist/assets/CpSwitch-0szuwNWX.js +1 -0
  48. package/dist/assets/CpSwitch-CIWoB1sY.css +1 -0
  49. package/dist/assets/CpSwitch.stories-DlyBuiCs.js +132 -0
  50. package/dist/assets/CpTable-BN6Amfsc.css +1 -0
  51. package/dist/assets/CpTable-yndu3rZB.js +1 -0
  52. package/dist/assets/CpTable.stories-BexDadF2.js +151 -0
  53. package/dist/assets/CpTableEmptyState-DLgi2hhT.css +1 -0
  54. package/dist/assets/CpTableEmptyState-nxS12hcI.js +1 -0
  55. package/dist/assets/CpTableEmptyState.stories-DJ72SR3h.js +20 -0
  56. package/dist/assets/CpTextarea-CxUuF1Yp.js +1 -0
  57. package/dist/assets/CpTextarea-CzC-Bjsy.css +1 -0
  58. package/dist/assets/CpTextarea.stories-Bd-7bf7X.js +64 -0
  59. package/dist/assets/CpToaster-BXpKEwda.css +1 -0
  60. package/dist/assets/CpToaster-upD4XD7h.js +1 -0
  61. package/dist/assets/CpToaster.stories-BlgqTy_B.js +124 -0
  62. package/dist/assets/CpTooltip-BIIOHaoi.css +1 -0
  63. package/dist/assets/CpTooltip-BqbUESX8.js +1 -0
  64. package/dist/assets/CpTooltip.stories-3ZeKMqX-.js +121 -0
  65. package/dist/assets/DocsRenderer-CFRXHY34-DKTf6mqp.js +623 -0
  66. package/dist/assets/Intent-UfUixXOL.js +1 -0
  67. package/dist/assets/ToggleColors-CSr2zujL.js +1 -0
  68. package/dist/assets/TransitionExpand-BHMSqajW.css +1 -0
  69. package/dist/assets/TransitionExpand-Cw-PtMjf.js +1 -0
  70. package/dist/assets/TransitionExpand.stories-DA_EG21u.js +121 -0
  71. package/dist/assets/_commonjsHelpers-CqkleIqs.js +1 -0
  72. package/dist/assets/_plugin-vue_export-helper-DlAUqK2U.js +1 -0
  73. package/dist/assets/anime.esm-RriTVqCw.js +8 -0
  74. package/dist/assets/entry-preview-CdRJLUOC.js +1 -0
  75. package/dist/assets/entry-preview-docs-DlP_tvsd.js +16 -0
  76. package/dist/assets/iframe-BRP1vbOF.js +211 -0
  77. package/dist/assets/index-Bx-go_-4.js +8 -0
  78. package/dist/assets/index-C4sqkTD9.js +1 -0
  79. package/dist/assets/index-DCv8Njl6.js +1 -0
  80. package/dist/assets/index-DrFu-skq.js +6 -0
  81. package/dist/assets/preview-B8lJiyuQ.js +34 -0
  82. package/dist/assets/preview-BBWR9nbA.js +1 -0
  83. package/dist/assets/preview-BWzBA1C2.js +396 -0
  84. package/dist/assets/preview-CFvxDgBX.js +2 -0
  85. package/dist/assets/preview-CIuMKJn5.js +240 -0
  86. package/dist/assets/preview-ChekwTuA.js +3 -0
  87. package/dist/assets/preview-CvbIS5ZJ.js +1 -0
  88. package/dist/assets/preview-DD_OYowb.js +1 -0
  89. package/dist/assets/preview-DGUiP6tS.js +7 -0
  90. package/dist/assets/preview-OgCpecWL.css +1 -0
  91. package/dist/assets/vue.esm-bundler-DJiS9hE5.js +36 -0
  92. package/dist/favicon.svg +1 -0
  93. package/dist/iframe.html +666 -0
  94. package/dist/index.html +177 -0
  95. package/dist/index.json +1 -0
  96. package/dist/nunito-sans-bold-italic.woff2 +0 -0
  97. package/dist/nunito-sans-bold.woff2 +0 -0
  98. package/dist/nunito-sans-italic.woff2 +0 -0
  99. package/dist/nunito-sans-regular.woff2 +0 -0
  100. package/dist/project.json +1 -0
  101. package/dist/sb-addons/chromatic-com-storybook-9/manager-bundle.js +331 -0
  102. package/dist/sb-addons/chromatic-com-storybook-9/manager-bundle.js.LEGAL.txt +51 -0
  103. package/dist/sb-addons/essentials-actions-2/manager-bundle.js +3 -0
  104. package/dist/sb-addons/essentials-backgrounds-4/manager-bundle.js +12 -0
  105. package/dist/sb-addons/essentials-controls-1/manager-bundle.js +402 -0
  106. package/dist/sb-addons/essentials-docs-3/manager-bundle.js +242 -0
  107. package/dist/sb-addons/essentials-measure-7/manager-bundle.js +3 -0
  108. package/dist/sb-addons/essentials-outline-8/manager-bundle.js +3 -0
  109. package/dist/sb-addons/essentials-toolbars-6/manager-bundle.js +3 -0
  110. package/dist/sb-addons/essentials-viewport-5/manager-bundle.js +3 -0
  111. package/dist/sb-addons/storybook-core-core-server-presets-0/common-manager-bundle.js +3 -0
  112. package/dist/sb-addons/storybook-experimental-addon-test-10/manager-bundle.js +223 -0
  113. package/dist/sb-common-assets/favicon.svg +1 -0
  114. package/dist/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
  115. package/dist/sb-common-assets/nunito-sans-bold.woff2 +0 -0
  116. package/dist/sb-common-assets/nunito-sans-italic.woff2 +0 -0
  117. package/dist/sb-common-assets/nunito-sans-regular.woff2 +0 -0
  118. package/dist/sb-manager/globals-module-info.js +1052 -0
  119. package/dist/sb-manager/globals-runtime.js +42127 -0
  120. package/dist/sb-manager/globals.js +48 -0
  121. package/dist/sb-manager/runtime.js +12048 -0
  122. package/package.json +10 -13
  123. package/dist/pimp.es.js +0 -14994
  124. package/dist/pimp.umd.js +0 -12
  125. package/dist/style.css +0 -1
@@ -0,0 +1,98 @@
1
+ import{r as z}from"./vue.esm-bundler-DJiS9hE5.js";import{_ as O}from"./CpInput-BjnvrsOu.js";import"./BaseInputLabel-BEmdWkeA.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";import"./index-DCv8Njl6.js";const U={title:"CpInput",component:O,argTypes:{modelValue:{control:"text",description:"The input value"},type:{control:"select",options:["text","email","password","number","tel","url"],description:"The type of input"},label:{control:"text",description:"Label text for the input"},placeholder:{control:"text",description:"Placeholder text"},required:{control:"boolean",description:"Whether the field is required"},disabled:{control:"boolean",description:"Whether the field is disabled"},isInvalid:{control:"boolean",description:"Whether the field is in an invalid state"},errorMessage:{control:"text",description:"Error message to display"},autocomplete:{control:"text",description:"Autocomplete attribute value"}}},e={args:{label:"Input Label",placeholder:"Enter text here",type:"text",required:!1,disabled:!1,autocomplete:"off",isInvalid:!1,errorMessage:"",hideInvalidityIcon:!1,removeBorder:!1,isLarge:!1,isSearch:!1,help:""},render:V=>({components:{CpInput:O},setup(){const j=z("");return{args:V,value:j}},template:`
2
+ <div style="max-width: 400px; padding: 20px;">
3
+ <CpInput
4
+ v-model="value"
5
+ v-bind="args"
6
+ />
7
+ </div>
8
+ `})},r={args:{...e.args,isInvalid:!0,errorMessage:"This field is required"}},a={args:{...e.args,required:!0}},s={args:{...e.args,disabled:!0}},t={args:{...e.args,type:"email",label:"Email Address",placeholder:"Enter your email"}},o={args:{...e.args,type:"password",label:"Password",placeholder:"Enter your password"}},l={args:{...e.args,type:"number",label:"Amount",placeholder:"Enter amount"}},n={args:{...e.args,help:"This is a help text",tooltip:"This is a tooltip"}},i={args:{...e.args,isSearch:!0}},p={args:{...e.args,placeholder:"Enter your phone number",mask:"## ## ## ## ##"}};var d,c,u;e.parameters={...e.parameters,docs:{...(d=e.parameters)==null?void 0:d.docs,source:{originalSource:`{
9
+ args: {
10
+ label: 'Input Label',
11
+ placeholder: 'Enter text here',
12
+ type: 'text',
13
+ required: false,
14
+ disabled: false,
15
+ autocomplete: 'off',
16
+ isInvalid: false,
17
+ errorMessage: '',
18
+ hideInvalidityIcon: false,
19
+ removeBorder: false,
20
+ isLarge: false,
21
+ isSearch: false,
22
+ help: ''
23
+ },
24
+ render: args => ({
25
+ components: {
26
+ CpInput
27
+ },
28
+ setup() {
29
+ const value = ref('');
30
+ return {
31
+ args,
32
+ value
33
+ };
34
+ },
35
+ template: \`
36
+ <div style="max-width: 400px; padding: 20px;">
37
+ <CpInput
38
+ v-model="value"
39
+ v-bind="args"
40
+ />
41
+ </div>
42
+ \`
43
+ })
44
+ }`,...(u=(c=e.parameters)==null?void 0:c.docs)==null?void 0:u.source}}};var m,g,h;r.parameters={...r.parameters,docs:{...(m=r.parameters)==null?void 0:m.docs,source:{originalSource:`{
45
+ args: {
46
+ ...Default.args,
47
+ isInvalid: true,
48
+ errorMessage: 'This field is required'
49
+ }
50
+ }`,...(h=(g=r.parameters)==null?void 0:g.docs)==null?void 0:h.source}}};var f,b,v;a.parameters={...a.parameters,docs:{...(f=a.parameters)==null?void 0:f.docs,source:{originalSource:`{
51
+ args: {
52
+ ...Default.args,
53
+ required: true
54
+ }
55
+ }`,...(v=(b=a.parameters)==null?void 0:b.docs)==null?void 0:v.source}}};var x,y,E;s.parameters={...s.parameters,docs:{...(x=s.parameters)==null?void 0:x.docs,source:{originalSource:`{
56
+ args: {
57
+ ...Default.args,
58
+ disabled: true
59
+ }
60
+ }`,...(E=(y=s.parameters)==null?void 0:y.docs)==null?void 0:E.source}}};var I,S,D;t.parameters={...t.parameters,docs:{...(I=t.parameters)==null?void 0:I.docs,source:{originalSource:`{
61
+ args: {
62
+ ...Default.args,
63
+ type: 'email',
64
+ label: 'Email Address',
65
+ placeholder: 'Enter your email'
66
+ }
67
+ }`,...(D=(S=t.parameters)==null?void 0:S.docs)==null?void 0:D.source}}};var w,T,q;o.parameters={...o.parameters,docs:{...(w=o.parameters)==null?void 0:w.docs,source:{originalSource:`{
68
+ args: {
69
+ ...Default.args,
70
+ type: 'password',
71
+ label: 'Password',
72
+ placeholder: 'Enter your password'
73
+ }
74
+ }`,...(q=(T=o.parameters)==null?void 0:T.docs)==null?void 0:q.source}}};var A,M,C;l.parameters={...l.parameters,docs:{...(A=l.parameters)==null?void 0:A.docs,source:{originalSource:`{
75
+ args: {
76
+ ...Default.args,
77
+ type: 'number',
78
+ label: 'Amount',
79
+ placeholder: 'Enter amount'
80
+ }
81
+ }`,...(C=(M=l.parameters)==null?void 0:M.docs)==null?void 0:C.source}}};var L,P,W;n.parameters={...n.parameters,docs:{...(L=n.parameters)==null?void 0:L.docs,source:{originalSource:`{
82
+ args: {
83
+ ...Default.args,
84
+ help: 'This is a help text',
85
+ tooltip: 'This is a tooltip'
86
+ }
87
+ }`,...(W=(P=n.parameters)==null?void 0:P.docs)==null?void 0:W.source}}};var _,k,B;i.parameters={...i.parameters,docs:{...(_=i.parameters)==null?void 0:_.docs,source:{originalSource:`{
88
+ args: {
89
+ ...Default.args,
90
+ isSearch: true
91
+ }
92
+ }`,...(B=(k=i.parameters)==null?void 0:k.docs)==null?void 0:B.source}}};var H,N,R;p.parameters={...p.parameters,docs:{...(H=p.parameters)==null?void 0:H.docs,source:{originalSource:`{
93
+ args: {
94
+ ...Default.args,
95
+ placeholder: 'Enter your phone number',
96
+ mask: '## ## ## ## ##'
97
+ }
98
+ }`,...(R=(N=p.parameters)==null?void 0:N.docs)==null?void 0:R.source}}};const X=["Default","WithError","Required","Disabled","Email","Password","Number","HelpAndTooltip","Search","Mask"];export{e as Default,s as Disabled,t as Email,n as HelpAndTooltip,p as Mask,l as Number,o as Password,a as Required,i as Search,r as WithError,X as __namedExportsOrder,U as default};
@@ -0,0 +1 @@
1
+ import{c as r,a as e,o as s}from"./vue.esm-bundler-DJiS9hE5.js";import{_ as n}from"./_plugin-vue_export-helper-DlAUqK2U.js";const a={props:{color:{type:String,default:"#ff6700"}}},l={id:"loader-1",version:"1.1",xmlns:"http://www.w3.org/2000/svg",x:"0px",y:"0px",width:"40px",height:"40px",viewBox:"0 0 40 40","enable-background":"new 0 0 40 40","xml:space":"preserve"},c=["fill"],i=["fill"];function p(d,o,t,f,m,u){return s(),r("svg",l,[e("path",{opacity:"0.2",fill:t.color,d:"M20.201,5.169c-8.254,0-14.946,6.692-14.946,14.946c0,8.255,6.692,14.946,14.946,14.946 s14.946-6.691,14.946-14.946C35.146,11.861,28.455,5.169,20.201,5.169z M20.201,31.749c-6.425,0-11.634-5.208-11.634-11.634 c0-6.425,5.209-11.634,11.634-11.634c6.425,0,11.633,5.209,11.633,11.634C31.834,26.541,26.626,31.749,20.201,31.749z"},null,8,c),e("path",{fill:t.color,d:"M26.013,10.047l1.654-2.866c-2.198-1.272-4.743-2.012-7.466-2.012h0v3.312h0 C22.32,8.481,24.301,9.057,26.013,10.047z"},o[0]||(o[0]=[e("animateTransform",{attributeType:"xml",attributeName:"transform",type:"rotate",from:"0 20 20",to:"360 20 20",dur:"0.5s",repeatCount:"indefinite"},null,-1)]),8,i)])}const h=n(a,[["render",p]]);a.__docgenInfo={exportName:"default",displayName:"CpLoader",description:"",tags:{},props:[{name:"color",type:{name:"string"},defaultValue:{func:!1,value:"'#ff6700'"}}],sourceFiles:["/builds/miscellaneous/pimp/src/components/feedback-indicators/CpLoader.vue"]};export{h as C};
@@ -0,0 +1,10 @@
1
+ import{C as l}from"./CpLoader-DDgDnagl.js";import"./vue.esm-bundler-DJiS9hE5.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";const u={title:"CpLoader",component:l,argTypes:{color:{control:"color",description:"The color of the loader"}}},o={args:{color:"#4F46E5"}},r={args:{...o.args,color:"#10B981"}};var e,a,s;o.parameters={...o.parameters,docs:{...(e=o.parameters)==null?void 0:e.docs,source:{originalSource:`{
2
+ args: {
3
+ color: '#4F46E5'
4
+ }
5
+ }`,...(s=(a=o.parameters)==null?void 0:a.docs)==null?void 0:s.source}}};var t,c,n;r.parameters={...r.parameters,docs:{...(t=r.parameters)==null?void 0:t.docs,source:{originalSource:`{
6
+ args: {
7
+ ...Default.args,
8
+ color: '#10B981'
9
+ }
10
+ }`,...(n=(c=r.parameters)==null?void 0:c.docs)==null?void 0:n.source}}};const i=["Default","CustomColor"];export{r as CustomColor,o as Default,i as __namedExportsOrder,u as default};
@@ -0,0 +1 @@
1
+ import{c as y,r as h}from"./index-DCv8Njl6.js";import{T as m}from"./ToggleColors-CSr2zujL.js";import{c as t,F as R,y as q,o as s,n as v,a as r,d as f,t as n}from"./vue.esm-bundler-DJiS9hE5.js";import{_ as C}from"./_plugin-vue_export-helper-DlAUqK2U.js";const _={props:{modelValue:{type:String,default:"",required:!0},options:{type:Array,required:!0},groupName:{type:String,default:"",required:!1},color:{type:String,required:!1,default:m.BLUE,validator:e=>Object.values(m).includes(e)},autofocus:{type:Boolean,required:!1,default:!1}},emits:["update:modelValue"],data(){return{radioUniqueId:""}},mounted(){this.radioUniqueId=h()},methods:{onChange(e){this.$emit("update:modelValue",e)},getRadioId(e){return`${this.radioUniqueId}${e}`},isActive(e){return e===this.modelValue},computedClasses({value:e,disabled:u}){return[{"cpRadio--isActive":this.isActive(e),"cpRadio--isDisabled":u},`cpRadio--is${y(this.color)}`]}}},V=["for"],I=["id","checked","value","disabled","autofocus","name","onInput"],b={class:"cpRadio__content"},k={class:"cpRadio__information"},N={class:"cpRadio__label"},B={key:0,class:"cpRadio__description"},A={key:0,class:"cpRadio__additionalData"};function S(e,u,i,U,F,a){return s(),t("div",null,[(s(!0),t(R,null,q(i.options,({label:g,value:o,description:l,additionalData:c,disabled:p},d)=>(s(),t("label",{key:a.getRadioId(d),class:v([a.computedClasses({value:o,disabled:p}),"cpRadio"]),for:a.getRadioId(d)},[r("input",{id:a.getRadioId(d),checked:a.isActive(o),value:o,disabled:p,type:"radio",autofocus:i.autofocus,name:i.groupName,onInput:L=>a.onChange(o)},null,40,I),r("span",b,[r("span",k,[r("span",N,n(g),1),l?(s(),t("span",B,n(l),1)):f("",!0)]),c?(s(),t("span",A,n(c),1)):f("",!0)])],10,V))),128))])}const D=C(_,[["render",S]]);_.__docgenInfo={exportName:"default",displayName:"CpRadio",description:"",tags:{},props:[{name:"modelValue",type:{name:"string"},required:!0,defaultValue:{func:!1,value:"''"}},{name:"options",type:{name:"array"},required:!0},{name:"groupName",type:{name:"string"},required:!1,defaultValue:{func:!1,value:"''"}},{name:"color",type:{name:"string"},required:!1,defaultValue:{func:!1,value:"ToggleColors.BLUE"}},{name:"autofocus",type:{name:"boolean"},required:!1,defaultValue:{func:!1,value:"false"}}],events:[{name:"update:modelValue",type:{names:["undefined"]}}],sourceFiles:["/builds/miscellaneous/pimp/src/components/toggles/CpRadio.vue"]};export{D as C};
@@ -0,0 +1 @@
1
+ /*! modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize */*,:before,:after{box-sizing:border-box}html{font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";line-height:1.15;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4}body{margin:0}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:currentcolor}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}.fade-in-enter-active,.fade-in-leave-active{transition:all .15s ease-in-out}.fade-in-enter-from,.fade-in-leave-to{opacity:0;transform:scale(.9)}@keyframes cp-select-menu-dropdown-enter{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes cp-select-menu-dropdown-leave{0%{opacity:1}to{opacity:0}}.u-text-ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.u-asterisk{position:relative;top:-.1875rem;font-size:.75em;line-height:normal}.u-asterisk:after{content:" "}legend .u-asterisk,label .u-asterisk{color:#eb0505}html{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;font-size:100%;color:#3e3e5b;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}*,*:before,*:after{box-sizing:inherit;margin:0;outline:none;font-family:inherit}body{background-color:transparent}button{border-style:none;padding:0;background-color:transparent}button:hover{cursor:pointer}dialog{color:inherit}ul,li{margin:0;padding:0;list-style:none}svg{color:currentColor}input{font-size:inherit;border:none}.resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper__popper{z-index:10000;top:0;left:0;outline:none}.v-popper__popper.v-popper__popper--hidden{visibility:hidden;opacity:0;transition:opacity .15s,visibility .15s;pointer-events:none}.v-popper__popper.v-popper__popper--shown{visibility:visible;opacity:1;transition:opacity .15s}.v-popper__popper.v-popper__popper--skip-transition,.v-popper__popper.v-popper__popper--skip-transition>.v-popper__wrapper{transition:none!important}.v-popper__backdrop{position:absolute;top:0;left:0;width:100%;height:100%;display:none}.v-popper__inner{position:relative;box-sizing:border-box;overflow-y:auto}.v-popper__inner>div{position:relative;z-index:1;max-width:inherit;max-height:inherit}.v-popper__arrow-container{position:absolute;width:10px;height:10px}.v-popper__popper--arrow-overflow .v-popper__arrow-container,.v-popper__popper--no-positioning .v-popper__arrow-container{display:none}.v-popper__arrow-inner,.v-popper__arrow-outer{border-style:solid;position:absolute;top:0;left:0;width:0;height:0}.v-popper__arrow-inner{visibility:hidden;border-width:7px}.v-popper__arrow-outer{border-width:6px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{left:-2px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{left:-1px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer{border-bottom-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:0}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{border-top-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{top:-4px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{top:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{top:-1px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{border-left-width:0;border-left-color:transparent!important;border-top-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{left:-4px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{left:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer{border-right-width:0;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner{left:-2px}.v-popper--theme-tooltip .v-popper__inner{background:#000c;color:#fff;border-radius:6px;padding:7px 12px 6px}.v-popper--theme-tooltip .v-popper__arrow-outer{border-color:#000c}.v-popper--theme-dropdown .v-popper__inner{background:#fff;color:#000;border-radius:6px;border:1px solid #ddd;box-shadow:0 6px 30px #0000001a}.v-popper--theme-dropdown .v-popper__arrow-inner{visibility:visible;border-color:#fff}.v-popper--theme-dropdown .v-popper__arrow-outer{border-color:#ddd}.cpRadio{position:relative;border:.0625rem solid #d8d8de;border-radius:.625rem;padding:1rem .75rem;display:grid;grid-template-columns:min-content 1fr;grid-gap:.75rem;align-items:center;width:100%}.cpRadio:not(.cpRadio--isDisabled),.cpRadio:not(.cpRadio--isDisabled) *{cursor:pointer}.cpRadio--isBlue.cpRadio--isActive{border-color:#144dc2}.cpRadio--isBlue input:checked{background-color:#144dc2;border-color:#144dc2}.cpRadio--isBlue input:checked~span .cpRadio__label,.cpRadio--isBlue input:checked~span .cpRadio__additionalData{color:#144dc2}.cpRadio--isBlue:hover,.cpRadio--isBlue:focus-within{border-color:#144dc2}.cpRadio--isBlue:focus-within{box-shadow:0 0 0 .25rem #144dc21a}.cpRadio--isPurple.cpRadio--isActive{border-color:#5341f9}.cpRadio--isPurple input:checked{background-color:#5341f9;border-color:#5341f9}.cpRadio--isPurple input:checked~span .cpRadio__label,.cpRadio--isPurple input:checked~span .cpRadio__additionalData{color:#5341f9}.cpRadio--isPurple:hover,.cpRadio--isPurple:focus-within{border-color:#5341f9}.cpRadio--isPurple:focus-within{box-shadow:0 0 0 .25rem #5341f91a}.cpRadio--isDisabled{background-color:#f8faff;color:#8b8b9d}.cpRadio--isDisabled,.cpRadio--isDisabled *{cursor:not-allowed}.cpRadio--isDisabled:hover,.cpRadio--isDisabled:focus{box-shadow:none;border-color:#d8d8de}.cpRadio--isActive.cpRadio--isDisabled,.cpRadio--isActive.cpRadio--isDisabled:hover{border-color:#d8d8de}.cpRadio:not(:last-of-type){margin-bottom:.75rem}.cpRadio input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:.0625rem solid #d8d8de;border-radius:100%;padding:25%;width:1.25em;height:1.25em;transition:transform .1s linear}.cpRadio input:before{content:"";display:flex;width:100%;height:100%;border-radius:100%;background-color:#fff;transition:transform .15s linear;transform:scale(0)}.cpRadio input:active:not(:disabled){transform:scale(.8)}.cpRadio input:checked:before{transform:scale(1)}.cpRadio input:checked:disabled{border-color:#8b8b9d;background-color:#8b8b9d}.cpRadio input:checked:disabled~span .cpRadio__label,.cpRadio input:checked:disabled~span .cpRadio__additionalData{color:#8b8b9d}.cpRadio__content{display:flex;align-items:center;line-height:1.3}.cpRadio__information{flex-grow:2;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;text-transform:capitalize;margin:0 -.5rem}.cpRadio__label,.cpRadio__description{margin:0 .5rem;flex-grow:1}.cpRadio__label,.cpRadio__additionalData{font-weight:500}.cpRadio__description,.cpRadio__additionalData{color:#8b8b9d}.cpRadio__label{white-space:nowrap}.cpRadio__additionalData{text-align:right;margin-left:1rem}
@@ -0,0 +1,132 @@
1
+ import{r as y}from"./vue.esm-bundler-DJiS9hE5.js";import{C as l}from"./CpRadio-CfeFgUHl.js";import"./index-DCv8Njl6.js";import"./ToggleColors-CSr2zujL.js";import"./Colors-mWZwWrlN.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";const w={title:"CpRadio",component:l,argTypes:{modelValue:{control:"text",description:"The selected radio value"},options:{control:"object",description:"Array of radio options"},groupName:{control:"text",description:"Name attribute for radio group"},color:{control:"select",options:["blue","purple"],description:"Color variant of the radio"},autofocus:{control:"boolean",description:"Whether to autofocus the first radio"}}},C=[{value:"option1",label:"Option 1"},{value:"option2",label:"Option 2"},{value:"option3",label:"Option 3"}],a={args:{modelValue:"option1",options:C,groupName:"radio-group",color:"blue",autofocus:!1},render:o=>({components:{CpRadio:l},setup(){const r=y(o.modelValue);return{args:o,value:r}},template:`
2
+ <div style="min-width: 400px; padding: 20px;">
3
+ <CpRadio
4
+ v-model="value"
5
+ v-bind="args"
6
+ />
7
+ </div>
8
+ `})},e={args:{...a.args,options:[{value:"option1",label:"Basic Plan",description:"Perfect for individuals"},{value:"option2",label:"Pro Plan",description:"Great for small teams"},{value:"option3",label:"Enterprise Plan",description:"For large organizations"}]}},t={args:{...a.args,options:[{value:"option1",label:"Monthly",additionalData:"$10/mo"},{value:"option2",label:"Yearly",additionalData:"$100/yr"},{value:"option3",label:"Lifetime",additionalData:"$500"}]}},n={args:{...a.args,options:[{value:"option1",label:"Option 1"},{value:"option2",label:"Option 2",disabled:!0},{value:"option3",label:"Option 3"}]},render:o=>({components:{CpRadio:l},setup(){const r=y(o.modelValue);return{args:o,value:r}},template:`
9
+ <div style="min-width: 400px; padding: 20px;">
10
+ <CpRadio
11
+ v-model="value"
12
+ v-bind="args"
13
+ />
14
+ </div>
15
+ `})},i={args:{...a.args,options:[{value:"option1",label:"Basic Plan",description:"Perfect for individuals",additionalData:"$10/mo"},{value:"option2",label:"Pro Plan",description:"Great for small teams",additionalData:"$30/mo"},{value:"option3",label:"Enterprise Plan",description:"For large organizations",additionalData:"$100/mo"}]}};var s,p,d;a.parameters={...a.parameters,docs:{...(s=a.parameters)==null?void 0:s.docs,source:{originalSource:`{
16
+ args: {
17
+ modelValue: 'option1',
18
+ options: sampleOptions,
19
+ groupName: 'radio-group',
20
+ color: 'blue',
21
+ autofocus: false
22
+ },
23
+ render: args => ({
24
+ components: {
25
+ CpRadio
26
+ },
27
+ setup() {
28
+ const value = ref(args.modelValue);
29
+ return {
30
+ args,
31
+ value
32
+ };
33
+ },
34
+ template: \`
35
+ <div style="min-width: 400px; padding: 20px;">
36
+ <CpRadio
37
+ v-model="value"
38
+ v-bind="args"
39
+ />
40
+ </div>
41
+ \`
42
+ })
43
+ }`,...(d=(p=a.parameters)==null?void 0:p.docs)==null?void 0:d.source}}};var u,c,m;e.parameters={...e.parameters,docs:{...(u=e.parameters)==null?void 0:u.docs,source:{originalSource:`{
44
+ args: {
45
+ ...Default.args,
46
+ options: [{
47
+ value: 'option1',
48
+ label: 'Basic Plan',
49
+ description: 'Perfect for individuals'
50
+ }, {
51
+ value: 'option2',
52
+ label: 'Pro Plan',
53
+ description: 'Great for small teams'
54
+ }, {
55
+ value: 'option3',
56
+ label: 'Enterprise Plan',
57
+ description: 'For large organizations'
58
+ }]
59
+ }
60
+ }`,...(m=(c=e.parameters)==null?void 0:c.docs)==null?void 0:m.source}}};var v,g,b;t.parameters={...t.parameters,docs:{...(v=t.parameters)==null?void 0:v.docs,source:{originalSource:`{
61
+ args: {
62
+ ...Default.args,
63
+ options: [{
64
+ value: 'option1',
65
+ label: 'Monthly',
66
+ additionalData: '$10/mo'
67
+ }, {
68
+ value: 'option2',
69
+ label: 'Yearly',
70
+ additionalData: '$100/yr'
71
+ }, {
72
+ value: 'option3',
73
+ label: 'Lifetime',
74
+ additionalData: '$500'
75
+ }]
76
+ }
77
+ }`,...(b=(g=t.parameters)==null?void 0:g.docs)==null?void 0:b.source}}};var f,D,P;n.parameters={...n.parameters,docs:{...(f=n.parameters)==null?void 0:f.docs,source:{originalSource:`{
78
+ args: {
79
+ ...Default.args,
80
+ options: [{
81
+ value: 'option1',
82
+ label: 'Option 1'
83
+ }, {
84
+ value: 'option2',
85
+ label: 'Option 2',
86
+ disabled: true
87
+ }, {
88
+ value: 'option3',
89
+ label: 'Option 3'
90
+ }]
91
+ },
92
+ render: args => ({
93
+ components: {
94
+ CpRadio
95
+ },
96
+ setup() {
97
+ const value = ref(args.modelValue);
98
+ return {
99
+ args,
100
+ value
101
+ };
102
+ },
103
+ template: \`
104
+ <div style="min-width: 400px; padding: 20px;">
105
+ <CpRadio
106
+ v-model="value"
107
+ v-bind="args"
108
+ />
109
+ </div>
110
+ \`
111
+ })
112
+ }`,...(P=(D=n.parameters)==null?void 0:D.docs)==null?void 0:P.source}}};var h,O,x;i.parameters={...i.parameters,docs:{...(h=i.parameters)==null?void 0:h.docs,source:{originalSource:`{
113
+ args: {
114
+ ...Default.args,
115
+ options: [{
116
+ value: 'option1',
117
+ label: 'Basic Plan',
118
+ description: 'Perfect for individuals',
119
+ additionalData: '$10/mo'
120
+ }, {
121
+ value: 'option2',
122
+ label: 'Pro Plan',
123
+ description: 'Great for small teams',
124
+ additionalData: '$30/mo'
125
+ }, {
126
+ value: 'option3',
127
+ label: 'Enterprise Plan',
128
+ description: 'For large organizations',
129
+ additionalData: '$100/mo'
130
+ }]
131
+ }
132
+ }`,...(x=(O=i.parameters)==null?void 0:O.docs)==null?void 0:x.source}}};const z=["Default","WithDescriptions","WithAdditionalData","WithDisabledOptions","ComplexOptions"];export{i as ComplexOptions,a as Default,t as WithAdditionalData,e as WithDescriptions,n as WithDisabledOptions,z as __namedExportsOrder,w as default};
@@ -0,0 +1 @@
1
+ import{r as v,c as V}from"./index-DCv8Njl6.js";import{B as h}from"./BaseInputLabel-BEmdWkeA.js";import{T as S}from"./TransitionExpand-Cw-PtMjf.js";import{c as n,e as m,d as i,a as r,h as C,g as d,t as s,F as I,y as B,n as k,j as p,o as a,k as _}from"./vue.esm-bundler-DJiS9hE5.js";import{_ as x}from"./_plugin-vue_export-helper-DlAUqK2U.js";const y={name:"CpSelect",components:{BaseInputLabel:h,TransitionExpand:S},props:{label:{type:String,default:""},modelValue:{type:[String,Number],default:""},hideDefaultValue:{type:Boolean,default:!1},defaultValue:{type:String,default:"Select an option"},options:{type:Array,required:!0},name:{type:String,default:null},required:{type:Boolean,default:null},disabled:{type:Boolean,default:null},autocomplete:{type:String,default:"on"},isInvalid:{type:Boolean,default:!1},errorMessage:{type:String,default:""},isLarge:{type:Boolean,default:!1}},emits:["update:modelValue"],data(){return{selectReferenceId:""}},computed:{capitalizedLabel(){return V(this.label)},dynamicClasses(){return{"cpSelect--isInvalid":this.isInvalid,"cpSelect--isDisabled":this.disabled,"cpSelect--isLarge":this.isLarge}},displayErrorMessage(){return this.isInvalid&&this.errorMessage.length}},mounted(){this.selectReferenceId=v()},methods:{handleChange(o){this.$emit("update:modelValue",o.target.value)}}},L={key:0,class:"u-asterisk"},q={class:"cpSelect__container"},N=["id","value","disabled","required","autocomplete","name"],M=["disabled"],D=["value"];function R(o,c,e,z,u,l){const f=p("base-input-label"),g=p("transition-expand");return a(),n("div",{class:k(["cpSelect",l.dynamicClasses])},[e.label?(a(),m(f,{key:0,for:u.selectReferenceId,class:"cpSelect__label"},{default:d(()=>[_(s(l.capitalizedLabel)+" ",1),e.required?(a(),n("span",L,"*")):i("",!0)]),_:1},8,["for"])):i("",!0),r("div",q,[r("select",{id:u.selectReferenceId,ref:"cpSelect",value:e.modelValue,disabled:e.disabled,required:e.required,autocomplete:e.autocomplete,name:e.name,class:"cpSelect__inner",onInput:c[0]||(c[0]=(...t)=>l.handleChange&&l.handleChange(...t))},[r("option",{disabled:e.hideDefaultValue||null,value:""},s(e.defaultValue),9,M),(a(!0),n(I,null,B(e.options,(t,b)=>(a(),n("option",{key:b,value:t.value},s(t.label),9,D))),128))],40,N)]),C(g,null,{default:d(()=>[l.displayErrorMessage?(a(),m(f,{key:0,"is-invalid":e.isInvalid,for:u.selectReferenceId,class:"cpSelect__label cpSelect__label--isAfter"},{default:d(()=>[_(s(e.errorMessage),1)]),_:1},8,["is-invalid","for"])):i("",!0)]),_:1})],2)}const w=x(y,[["render",R]]);y.__docgenInfo={displayName:"CpSelect",exportName:"default",description:"",tags:{},props:[{name:"label",type:{name:"string"},defaultValue:{func:!1,value:"''"}},{name:"modelValue",type:{name:"string|number"},defaultValue:{func:!1,value:"''"}},{name:"hideDefaultValue",type:{name:"boolean"},defaultValue:{func:!1,value:"false"}},{name:"defaultValue",type:{name:"string"},defaultValue:{func:!1,value:"'Select an option'"}},{name:"options",type:{name:"array"},required:!0},{name:"name",type:{name:"string"},defaultValue:{func:!1,value:"null"}},{name:"required",type:{name:"boolean"},defaultValue:{func:!1,value:"null"}},{name:"disabled",type:{name:"boolean"},defaultValue:{func:!1,value:"null"}},{name:"autocomplete",type:{name:"string"},defaultValue:{func:!1,value:"'on'"}},{name:"isInvalid",type:{name:"boolean"},defaultValue:{func:!1,value:"false"}},{name:"errorMessage",type:{name:"string"},defaultValue:{func:!1,value:"''"}},{name:"isLarge",type:{name:"boolean"},defaultValue:{func:!1,value:"false"}}],events:[{name:"update:modelValue",type:{names:["undefined"]}}],sourceFiles:["/builds/miscellaneous/pimp/src/components/selects/CpSelect.vue"]};export{w as C};
@@ -0,0 +1 @@
1
+ /*! modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize */*,:before,:after{box-sizing:border-box}html{font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";line-height:1.15;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4}body{margin:0}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:currentcolor}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}.fade-in-enter-active,.fade-in-leave-active{transition:all .15s ease-in-out}.fade-in-enter-from,.fade-in-leave-to{opacity:0;transform:scale(.9)}@keyframes cp-select-menu-dropdown-enter{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes cp-select-menu-dropdown-leave{0%{opacity:1}to{opacity:0}}.u-text-ellipsis,.cpSelect__inner{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.u-asterisk{position:relative;top:-.1875rem;font-size:.75em;line-height:normal}.u-asterisk:after{content:" "}legend .u-asterisk,label .u-asterisk{color:#eb0505}html{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;font-size:100%;color:#3e3e5b;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}*,*:before,*:after{box-sizing:inherit;margin:0;outline:none;font-family:inherit}body{background-color:transparent}button{border-style:none;padding:0;background-color:transparent}button:hover{cursor:pointer}dialog{color:inherit}ul,li{margin:0;padding:0;list-style:none}svg{color:currentColor}input{font-size:inherit;border:none}.resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper__popper{z-index:10000;top:0;left:0;outline:none}.v-popper__popper.v-popper__popper--hidden{visibility:hidden;opacity:0;transition:opacity .15s,visibility .15s;pointer-events:none}.v-popper__popper.v-popper__popper--shown{visibility:visible;opacity:1;transition:opacity .15s}.v-popper__popper.v-popper__popper--skip-transition,.v-popper__popper.v-popper__popper--skip-transition>.v-popper__wrapper{transition:none!important}.v-popper__backdrop{position:absolute;top:0;left:0;width:100%;height:100%;display:none}.v-popper__inner{position:relative;box-sizing:border-box;overflow-y:auto}.v-popper__inner>div{position:relative;z-index:1;max-width:inherit;max-height:inherit}.v-popper__arrow-container{position:absolute;width:10px;height:10px}.v-popper__popper--arrow-overflow .v-popper__arrow-container,.v-popper__popper--no-positioning .v-popper__arrow-container{display:none}.v-popper__arrow-inner,.v-popper__arrow-outer{border-style:solid;position:absolute;top:0;left:0;width:0;height:0}.v-popper__arrow-inner{visibility:hidden;border-width:7px}.v-popper__arrow-outer{border-width:6px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{left:-2px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{left:-1px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer{border-bottom-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:0}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{border-top-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{top:-4px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{top:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{top:-1px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{border-left-width:0;border-left-color:transparent!important;border-top-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{left:-4px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{left:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer{border-right-width:0;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner{left:-2px}.v-popper--theme-tooltip .v-popper__inner{background:#000c;color:#fff;border-radius:6px;padding:7px 12px 6px}.v-popper--theme-tooltip .v-popper__arrow-outer{border-color:#000c}.v-popper--theme-dropdown .v-popper__inner{background:#fff;color:#000;border-radius:6px;border:1px solid #ddd;box-shadow:0 6px 30px #0000001a}.v-popper--theme-dropdown .v-popper__arrow-inner{visibility:visible;border-color:#fff}.v-popper--theme-dropdown .v-popper__arrow-outer{border-color:#ddd}.cpSelect__container{position:relative}.cpSelect__container:after{content:"";position:absolute;right:.75em;top:50%;transform:translateY(-50%);width:1.25em;height:1.25em;background-image:url("data:image/svg+xml,%3csvg%20width='24'%20height='25'%20viewBox='0%200%2024%2025'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M6%209.68298L12%2015.683L18%209.68298'%20stroke='%233E3E5B'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e");background-size:cover;pointer-events:none}.cpSelect__inner{box-shadow:inset 0 .0625em .125em #0000001f;outline:none;appearance:none;-webkit-appearance:none;-moz-appearance:none;border:.0625rem solid #d8d8de;border-radius:.625em;background-color:#fff;width:100%;height:2.75em;color:#3e3e5b;cursor:pointer;padding:.75em 2.5em .75em .75em;font-size:1em}.cpSelect__inner:hover,.cpSelect__inner:focus{border-color:#5341f9;background-color:#fff}.cpSelect__inner:focus{box-shadow:#5341f91a 0 0 0 .25rem,#5341f9 0 0 0 .03125rem}.cpSelect__label{display:block;line-height:1.5rem}.cpSelect__label:not(.cpSelect__label--isAfter){margin-bottom:.5rem}.cpSelect__label--isAfter{margin-top:.375em}.cpSelect--isDisabled .cpSelect__inner{border-color:#d8d8de!important;background:#f8faff}.cpSelect--isDisabled .cpSelect__inner,.cpSelect--isDisabled .cpSelect__container:after{cursor:not-allowed;color:#b2b2bd}.cpSelect--isDisabled .cpSelect__container:after{opacity:.4}.cpSelect--isInvalid .cpSelect__inner,.cpSelect--isInvalid .cpSelect__inner:hover,.cpSelect--isInvalid .cpSelect__inner:focus{border-color:#eb0505}.cpSelect--isInvalid .cpSelect__inner:focus{box-shadow:0 0 0 .1875em #fd9595}.cpSelect--isLarge .cpSelect__container:after{right:1em;width:1.5em;height:1.5em}.cpSelect--isLarge .cpSelect__inner{padding:1em 3em 1em 1em;height:3.375em}
@@ -0,0 +1,85 @@
1
+ import{r as I}from"./vue.esm-bundler-DJiS9hE5.js";import{C as w}from"./CpSelect-BOPkEYW_.js";import"./index-DCv8Njl6.js";import"./BaseInputLabel-BEmdWkeA.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";import"./TransitionExpand-Cw-PtMjf.js";const z={title:"CpSelect",component:w,argTypes:{modelValue:{control:"text",description:"The selected value"},label:{control:"text",description:"Label text for the select"},options:{control:"object",description:"Array of options to display"},defaultValue:{control:"text",description:"Default option text"},hideDefaultValue:{control:"boolean",description:"Whether to hide the default option"},required:{control:"boolean",description:"Whether the field is required"},disabled:{control:"boolean",description:"Whether the field is disabled"},isInvalid:{control:"boolean",description:"Whether the field is in an invalid state"},errorMessage:{control:"text",description:"Error message to display"},isLarge:{control:"boolean",description:"Whether to use large size variant"},autocomplete:{control:"text",description:"Autocomplete attribute value"},name:{control:"text",description:"Name attribute for the select"}}},M=[{value:"1",label:"Option 1"},{value:"2",label:"Option 2"},{value:"3",label:"Option 3"},{value:"4",label:"Option 4"}],e={args:{label:"Select Label",options:M,defaultValue:"Select an option",hideDefaultValue:!1,required:!1,disabled:!1,isInvalid:!1,errorMessage:"",isLarge:!1,autocomplete:"on",name:"select-field"},render:C=>({components:{CpSelect:w},setup(){const T=I("");return{args:C,value:T}},template:`
2
+ <div style="max-width: 400px; padding: 20px;">
3
+ <CpSelect
4
+ v-model="value"
5
+ v-bind="args"
6
+ />
7
+ </div>
8
+ `})},t={args:{...e.args,isInvalid:!0,errorMessage:"This field is required"}},a={args:{...e.args,required:!0}},r={args:{...e.args,disabled:!0}},o={args:{...e.args,isLarge:!0}},s={args:{...e.args,hideDefaultValue:!0}},l={args:{...e.args,options:[{value:"1",label:"This is a very long option text that might need to be truncated"},{value:"2",label:"Another long option that demonstrates text truncation"},{value:"3",label:"Short option"},{value:"4",label:"Yet another long option to show how the select handles long text"}]}};var n,i,d;e.parameters={...e.parameters,docs:{...(n=e.parameters)==null?void 0:n.docs,source:{originalSource:`{
9
+ args: {
10
+ label: 'Select Label',
11
+ options: sampleOptions,
12
+ defaultValue: 'Select an option',
13
+ hideDefaultValue: false,
14
+ required: false,
15
+ disabled: false,
16
+ isInvalid: false,
17
+ errorMessage: '',
18
+ isLarge: false,
19
+ autocomplete: 'on',
20
+ name: 'select-field'
21
+ },
22
+ render: args => ({
23
+ components: {
24
+ CpSelect
25
+ },
26
+ setup() {
27
+ const value = ref('');
28
+ return {
29
+ args,
30
+ value
31
+ };
32
+ },
33
+ template: \`
34
+ <div style="max-width: 400px; padding: 20px;">
35
+ <CpSelect
36
+ v-model="value"
37
+ v-bind="args"
38
+ />
39
+ </div>
40
+ \`
41
+ })
42
+ }`,...(d=(i=e.parameters)==null?void 0:i.docs)==null?void 0:d.source}}};var u,c,p;t.parameters={...t.parameters,docs:{...(u=t.parameters)==null?void 0:u.docs,source:{originalSource:`{
43
+ args: {
44
+ ...Default.args,
45
+ isInvalid: true,
46
+ errorMessage: 'This field is required'
47
+ }
48
+ }`,...(p=(c=t.parameters)==null?void 0:c.docs)==null?void 0:p.source}}};var g,m,h;a.parameters={...a.parameters,docs:{...(g=a.parameters)==null?void 0:g.docs,source:{originalSource:`{
49
+ args: {
50
+ ...Default.args,
51
+ required: true
52
+ }
53
+ }`,...(h=(m=a.parameters)==null?void 0:m.docs)==null?void 0:h.source}}};var f,b,v;r.parameters={...r.parameters,docs:{...(f=r.parameters)==null?void 0:f.docs,source:{originalSource:`{
54
+ args: {
55
+ ...Default.args,
56
+ disabled: true
57
+ }
58
+ }`,...(v=(b=r.parameters)==null?void 0:b.docs)==null?void 0:v.source}}};var x,D,S;o.parameters={...o.parameters,docs:{...(x=o.parameters)==null?void 0:x.docs,source:{originalSource:`{
59
+ args: {
60
+ ...Default.args,
61
+ isLarge: true
62
+ }
63
+ }`,...(S=(D=o.parameters)==null?void 0:D.docs)==null?void 0:S.source}}};var L,O,W;s.parameters={...s.parameters,docs:{...(L=s.parameters)==null?void 0:L.docs,source:{originalSource:`{
64
+ args: {
65
+ ...Default.args,
66
+ hideDefaultValue: true
67
+ }
68
+ }`,...(W=(O=s.parameters)==null?void 0:O.docs)==null?void 0:W.source}}};var q,V,y;l.parameters={...l.parameters,docs:{...(q=l.parameters)==null?void 0:q.docs,source:{originalSource:`{
69
+ args: {
70
+ ...Default.args,
71
+ options: [{
72
+ value: '1',
73
+ label: 'This is a very long option text that might need to be truncated'
74
+ }, {
75
+ value: '2',
76
+ label: 'Another long option that demonstrates text truncation'
77
+ }, {
78
+ value: '3',
79
+ label: 'Short option'
80
+ }, {
81
+ value: '4',
82
+ label: 'Yet another long option to show how the select handles long text'
83
+ }]
84
+ }
85
+ }`,...(y=(V=l.parameters)==null?void 0:V.docs)==null?void 0:y.source}}};const N=["Default","WithError","Required","Disabled","Large","WithoutDefaultOption","WithLongOptions"];export{e as Default,r as Disabled,o as Large,a as Required,t as WithError,l as WithLongOptions,s as WithoutDefaultOption,N as __namedExportsOrder,z as default};
@@ -0,0 +1 @@
1
+ import{a as w}from"./anime.esm-RriTVqCw.js";import{p as V,s as g,c as a,a as s,h as i,t as u,n as v,g as S,T as k,j as D,o as l,d as c,k as _,F,y as b,e as q}from"./vue.esm-bundler-DJiS9hE5.js";import{_ as C}from"./_plugin-vue_export-helper-DlAUqK2U.js";const h={props:{values:{type:Array,default:()=>[],required:!0},selectedValue:{type:Object,default:()=>{},required:!0},isMultiSelect:{type:Boolean,default:!1,required:!1},hasFilter:{type:Boolean,default:!1,required:!1},dropdownTitle:{type:String,default:"Select value",required:!1},dropdownFilterPlaceholder:{type:String,default:"Filter...",required:!1},dropdownEmptyViewPlaceholder:{type:String,default:"No option found",required:!1},closeOnSelect:{type:Boolean,default:!0,required:!1}},emits:["update:selectedValue","on-close","on-filter-change"],data(){return{isDropdownOpen:!1}},computed:{inputType(){return this.isMultiSelect&&"checkbox"||"radio"}},methods:{enter(){w(this.$refs.dropdownRef,{scale:[.8,1],opacity:[0,1],duration:200,ease:"cubicBezier(0.175, 0.885, 0.32, 1.175)"})},toggleDropdown(){this.isDropdownOpen=!this.isDropdownOpen,this.isDropdownOpen&&this.hasFilter&&this.$nextTick(()=>this.$refs.dropdownFilterRef.focus())},closeDropdown(){this.isDropdownOpen&&(this.isDropdownOpen=!1,this.resetInputValue(),this.$emit("on-close"))},onChange(o){o.value!==this.selectedValue.value&&this.$emit("update:selectedValue",o),this.closeOnSelect&&this.closeDropdown()},updateFilterValue(o){this.$emit("on-filter-change",o.target.value)},resetInputValue(){this.$emit("on-filter-change","")},isSelectedValue(o){return o===this.selectedValue.value}}},O={class:"cpSelectMenu"},M={class:"cpSelectMenu__label"},x={key:0,ref:"dropdownRef",class:"cpSelectMenu__dropdown dropdown"},T={key:0,class:"dropdown__title"},B={class:"dropdown__list"},N={key:0,class:"dropdown__filterBar"},E=["placeholder"],P={key:1,class:"dropdown__items"},I=["for"],R=["id","checked","value","type","onChange"],j={key:2,class:"dropdown__emptyState"};function z(o,r,n,A,p,e){const d=D("cp-icon"),m=g("click-outside");return V((l(),a("div",O,[s("button",{class:"cpSelectMenu__button",type:"button",onClick:r[0]||(r[0]=(...t)=>e.toggleDropdown&&e.toggleDropdown(...t))},[s("span",M,u(n.selectedValue.label),1),i(d,{type:"chevron-down",class:v([{"cpSelectMenu__icon--isOpened":p.isDropdownOpen},"cpSelectMenu__icon"])},null,8,["class"])]),i(k,{onEnter:e.enter},{default:S(()=>[p.isDropdownOpen?(l(),a("div",x,[n.dropdownTitle?(l(),a("p",T,[_(u(n.dropdownTitle)+" ",1),s("button",{type:"button",onClick:r[1]||(r[1]=(...t)=>e.closeDropdown&&e.closeDropdown(...t))},[i(d,{type:"x"})])])):c("",!0),s("div",B,[n.hasFilter?(l(),a("label",N,[i(d,{type:"search"}),s("input",{ref:"dropdownFilterRef",type:"text",placeholder:n.dropdownFilterPlaceholder,onInput:r[2]||(r[2]=(...t)=>e.updateFilterValue&&e.updateFilterValue(...t))},null,40,E)])):c("",!0),n.values.length?(l(),a("ul",P,[(l(!0),a(F,null,b(n.values,({value:t,label:f},y)=>(l(),a("li",{key:y},[s("label",{for:t,class:"dropdown__item"},[s("input",{id:t,checked:e.isSelectedValue(t),value:t,type:e.inputType,onChange:L=>e.onChange({value:t,label:f})},null,40,R),e.isSelectedValue(t)?(l(),q(d,{key:0,type:"check",class:"dropdown__icon"})):c("",!0),_(" "+u(f),1)],8,I)]))),128))])):(l(),a("p",j,u(n.dropdownEmptyViewPlaceholder),1))])],512)):c("",!0)]),_:1},8,["onEnter"])])),[[m,e.closeDropdown]])}const K=C(h,[["render",z]]);h.__docgenInfo={exportName:"default",displayName:"CpSelectMenu",description:"",tags:{},props:[{name:"values",type:{name:"array"},required:!0,defaultValue:{func:!1,value:"[]"}},{name:"selectedValue",type:{name:"object"},required:!0,defaultValue:{func:!0,value:"() => {}"}},{name:"isMultiSelect",type:{name:"boolean"},required:!1,defaultValue:{func:!1,value:"false"}},{name:"hasFilter",type:{name:"boolean"},required:!1,defaultValue:{func:!1,value:"false"}},{name:"dropdownTitle",type:{name:"string"},required:!1,defaultValue:{func:!1,value:"'Select value'"}},{name:"dropdownFilterPlaceholder",type:{name:"string"},required:!1,defaultValue:{func:!1,value:"'Filter...'"}},{name:"dropdownEmptyViewPlaceholder",type:{name:"string"},required:!1,defaultValue:{func:!1,value:"'No option found'"}},{name:"closeOnSelect",type:{name:"boolean"},required:!1,defaultValue:{func:!1,value:"true"}}],events:[{name:"update:selectedValue",type:{names:["undefined"]}},{name:"on-close"},{name:"on-filter-change",type:{names:["undefined"]}}],sourceFiles:["/builds/miscellaneous/pimp/src/components/selects/CpSelectMenu.vue"]};export{K as C};
@@ -0,0 +1 @@
1
+ /*! modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize */*,:before,:after{box-sizing:border-box}html{font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";line-height:1.15;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4}body{margin:0}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:currentcolor}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}.fade-in-enter-active,.fade-in-leave-active{transition:all .15s ease-in-out}.fade-in-enter-from,.fade-in-leave-to{opacity:0;transform:scale(.9)}@keyframes cp-select-menu-dropdown-enter{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes cp-select-menu-dropdown-leave{0%{opacity:1}to{opacity:0}}.u-text-ellipsis,.cpSelectMenu__label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.u-asterisk{position:relative;top:-.1875rem;font-size:.75em;line-height:normal}.u-asterisk:after{content:" "}legend .u-asterisk,label .u-asterisk{color:#eb0505}html{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;font-size:100%;color:#3e3e5b;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}*,*:before,*:after{box-sizing:inherit;margin:0;outline:none;font-family:inherit}body{background-color:transparent}button{border-style:none;padding:0;background-color:transparent}button:hover{cursor:pointer}dialog{color:inherit}ul,li{margin:0;padding:0;list-style:none}svg{color:currentColor}input{font-size:inherit;border:none}.resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper__popper{z-index:10000;top:0;left:0;outline:none}.v-popper__popper.v-popper__popper--hidden{visibility:hidden;opacity:0;transition:opacity .15s,visibility .15s;pointer-events:none}.v-popper__popper.v-popper__popper--shown{visibility:visible;opacity:1;transition:opacity .15s}.v-popper__popper.v-popper__popper--skip-transition,.v-popper__popper.v-popper__popper--skip-transition>.v-popper__wrapper{transition:none!important}.v-popper__backdrop{position:absolute;top:0;left:0;width:100%;height:100%;display:none}.v-popper__inner{position:relative;box-sizing:border-box;overflow-y:auto}.v-popper__inner>div{position:relative;z-index:1;max-width:inherit;max-height:inherit}.v-popper__arrow-container{position:absolute;width:10px;height:10px}.v-popper__popper--arrow-overflow .v-popper__arrow-container,.v-popper__popper--no-positioning .v-popper__arrow-container{display:none}.v-popper__arrow-inner,.v-popper__arrow-outer{border-style:solid;position:absolute;top:0;left:0;width:0;height:0}.v-popper__arrow-inner{visibility:hidden;border-width:7px}.v-popper__arrow-outer{border-width:6px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{left:-2px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{left:-1px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer{border-bottom-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:0}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{border-top-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{top:-4px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{top:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{top:-1px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{border-left-width:0;border-left-color:transparent!important;border-top-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{left:-4px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{left:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer{border-right-width:0;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner{left:-2px}.v-popper--theme-tooltip .v-popper__inner{background:#000c;color:#fff;border-radius:6px;padding:7px 12px 6px}.v-popper--theme-tooltip .v-popper__arrow-outer{border-color:#000c}.v-popper--theme-dropdown .v-popper__inner{background:#fff;color:#000;border-radius:6px;border:1px solid #ddd;box-shadow:0 6px 30px #0000001a}.v-popper--theme-dropdown .v-popper__arrow-inner{visibility:visible;border-color:#fff}.v-popper--theme-dropdown .v-popper__arrow-outer{border-color:#ddd}.cpSelectMenu{position:relative;font-size:1em}.cpSelectMenu__button{box-shadow:inset 0 .0625em .125em #0000001f;border:.0625rem solid #d8d8de;border-radius:.625em;background:#fff;padding:.75em;width:100%;height:2.75em;display:flex;align-items:center;justify-content:space-between;font-size:inherit;font-weight:400;text-transform:capitalize}.cpSelectMenu__button:hover,.cpSelectMenu__button:active,.cpSelectMenu__button:focus{border-color:#144dc2}.cpSelectMenu__button:focus{outline:none!important;box-shadow:0 0 0 .1875em #c9d9f9}.cpSelectMenu__icon{margin-left:.75em;width:1.25em;height:1.25em;flex-shrink:0;transition:transform .2s ease-out}.cpSelectMenu__icon--isOpened{transform:rotateX(180deg)}.cpSelectMenu__dropdown{z-index:3;position:absolute;top:calc(100% + 4px);left:0;border:.0625rem solid #d8d8de;border-radius:.625em;background:#fff;width:max(100%,15.625rem);font-size:inherit}.cpSelectMenu .dropdown svg{width:1.125em;height:1.125em}.cpSelectMenu .dropdown__title{padding:.75em .5em;display:flex;align-items:center;justify-content:space-between;white-space:normal;font-weight:600;color:#3e3e5b}.cpSelectMenu .dropdown__filterBar{border-top:.0625rem solid #d8d8de;border-bottom:.0625rem solid #d8d8de;background-color:#ececef99;padding:.5em;display:flex;align-items:center}.cpSelectMenu .dropdown__filterBar>input{background-color:transparent;flex:1;color:#3e3e5b}.cpSelectMenu .dropdown__filterBar>input::placeholder{color:#8b8b9d}.cpSelectMenu .dropdown__filterBar i{margin-right:.5em;color:#3e3e5b;flex-shrink:0}.cpSelectMenu .dropdown__list{display:flex;flex-direction:column;min-height:15.625rem}.cpSelectMenu .dropdown__items{margin:.25em 0;padding:0;max-height:15.625rem;overflow-y:auto}.cpSelectMenu .dropdown__items li{list-style:none}.cpSelectMenu .dropdown__item{position:relative;padding:.5em 1em .5em 2.25em;width:100%;display:flex;text-align:initial;cursor:pointer;text-transform:capitalize}.cpSelectMenu .dropdown__item:hover{background-color:#ececef80}.cpSelectMenu .dropdown__item input{display:none}.cpSelectMenu .dropdown__icon{position:absolute;left:.5em;top:50%;transform:translateY(-50%);color:#144dc2}.cpSelectMenu .dropdown__emptyState{padding:1em .5em;flex:1;display:flex;align-items:center;justify-content:center;color:#8b8b9d}
@@ -0,0 +1,104 @@
1
+ import{r as s}from"./vue.esm-bundler-DJiS9hE5.js";import{C as d}from"./CpSelectMenu-DjXR4Uic.js";import"./anime.esm-RriTVqCw.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";const C={title:"CpSelectMenu",component:d,argTypes:{values:{control:"object",description:"Array of options to display"},selectedValue:{control:"object",description:"Currently selected value"},hasFilter:{control:"boolean",description:"Whether to show search filter"},dropdownTitle:{control:"text",description:"Title text for the dropdown"},dropdownFilterPlaceholder:{control:"text",description:"Placeholder text for the filter input"},dropdownEmptyViewPlaceholder:{control:"text",description:"Text to show when no options match the filter"},closeOnSelect:{control:"boolean",description:"Whether to close dropdown after selection"}},decorators:[()=>({template:'<div style="min-height: 30vh;"><story/></div>'})]},r=[{value:"1",label:"Apple"},{value:"2",label:"Banana"},{value:"3",label:"Orange"},{value:"4",label:"Mango"},{value:"5",label:"Strawberry"},{value:"6",label:"Blueberry"},{value:"7",label:"Cherry"}],l={args:{values:r,selectedValue:{value:"1",label:"Apple"},hasFilter:!1,dropdownTitle:"Select value",dropdownFilterPlaceholder:"Filter...",dropdownEmptyViewPlaceholder:"No option found",closeOnSelect:!0},render:t=>({components:{CpSelectMenu:d},setup(){const e=s(t.selectedValue);return{args:t,selectedValue:e}},template:`
2
+ <div style="max-width: 400px; padding: 20px;">
3
+ <CpSelectMenu
4
+ v-model:selectedValue="selectedValue"
5
+ v-bind="args"
6
+ @update:selected-value="onUpdateSelectedValue"
7
+ />
8
+ </div>
9
+ `,methods:{onUpdateSelectedValue:e=>{t.selectedValue=e}}})},n=s(""),a={args:{...l.args,hasFilter:!0,dropdownTitle:"Search for a fruit",selectedValue:{value:"1",label:"Apple"},values:r},render:t=>({components:{CpSelectMenu:d},setup(){const e=s(t.selectedValue);return{args:t,selectedValue:e}},template:`
10
+ <div style="max-width: 400px; padding: 20px;">
11
+ <CpSelectMenu
12
+ v-model:selectedValue="selectedValue"
13
+ v-bind="args"
14
+ @on-filter-change="onFilterChange"
15
+ @update:selected-value="onUpdateSelectedValue"
16
+ />
17
+ </div>
18
+ `,methods:{onFilterChange:e=>{n.value=e,t.values=r.filter(w=>w.label.toLowerCase().includes(n.value.toLowerCase()))},onUpdateSelectedValue:e=>{t.selectedValue=e}}})},o={args:{...l.args,dropdownTitle:"My custom title"}};var c,u,p;l.parameters={...l.parameters,docs:{...(c=l.parameters)==null?void 0:c.docs,source:{originalSource:`{
19
+ args: {
20
+ values: sampleOptions,
21
+ selectedValue: {
22
+ value: '1',
23
+ label: 'Apple'
24
+ },
25
+ hasFilter: false,
26
+ dropdownTitle: 'Select value',
27
+ dropdownFilterPlaceholder: 'Filter...',
28
+ dropdownEmptyViewPlaceholder: 'No option found',
29
+ closeOnSelect: true
30
+ },
31
+ render: args => ({
32
+ components: {
33
+ CpSelectMenu
34
+ },
35
+ setup() {
36
+ const selectedValue = ref(args.selectedValue);
37
+ return {
38
+ args,
39
+ selectedValue
40
+ };
41
+ },
42
+ template: \`
43
+ <div style="max-width: 400px; padding: 20px;">
44
+ <CpSelectMenu
45
+ v-model:selectedValue="selectedValue"
46
+ v-bind="args"
47
+ @update:selected-value="onUpdateSelectedValue"
48
+ />
49
+ </div>
50
+ \`,
51
+ methods: {
52
+ onUpdateSelectedValue: data => {
53
+ args.selectedValue = data;
54
+ }
55
+ }
56
+ })
57
+ }`,...(p=(u=l.parameters)==null?void 0:u.docs)==null?void 0:p.source}}};var i,m,h;a.parameters={...a.parameters,docs:{...(i=a.parameters)==null?void 0:i.docs,source:{originalSource:`{
58
+ args: {
59
+ ...Default.args,
60
+ hasFilter: true,
61
+ dropdownTitle: 'Search for a fruit',
62
+ selectedValue: {
63
+ value: '1',
64
+ label: 'Apple'
65
+ },
66
+ values: sampleOptions
67
+ },
68
+ render: args => ({
69
+ components: {
70
+ CpSelectMenu
71
+ },
72
+ setup() {
73
+ const selectedValue = ref(args.selectedValue);
74
+ return {
75
+ args,
76
+ selectedValue
77
+ };
78
+ },
79
+ template: \`
80
+ <div style="max-width: 400px; padding: 20px;">
81
+ <CpSelectMenu
82
+ v-model:selectedValue="selectedValue"
83
+ v-bind="args"
84
+ @on-filter-change="onFilterChange"
85
+ @update:selected-value="onUpdateSelectedValue"
86
+ />
87
+ </div>
88
+ \`,
89
+ methods: {
90
+ onFilterChange: data => {
91
+ searchQuery.value = data;
92
+ args.values = sampleOptions.filter(option => option.label.toLowerCase().includes(searchQuery.value.toLowerCase()));
93
+ },
94
+ onUpdateSelectedValue: data => {
95
+ args.selectedValue = data;
96
+ }
97
+ }
98
+ })
99
+ }`,...(h=(m=a.parameters)==null?void 0:m.docs)==null?void 0:h.source}}};var v,V,g;o.parameters={...o.parameters,docs:{...(v=o.parameters)==null?void 0:v.docs,source:{originalSource:`{
100
+ args: {
101
+ ...Default.args,
102
+ dropdownTitle: 'My custom title'
103
+ }
104
+ }`,...(g=(V=o.parameters)==null?void 0:V.docs)==null?void 0:g.source}}};const x=["Default","WithFilter","CustomTitle"];export{o as CustomTitle,l as Default,a as WithFilter,x as __namedExportsOrder,C as default};
@@ -0,0 +1 @@
1
+ import{r,c as f}from"./index-DCv8Njl6.js";import{T as n}from"./ToggleColors-CSr2zujL.js";import{c as i,a,d as m,h as p,t as h,n as _,j as b,o as c}from"./vue.esm-bundler-DJiS9hE5.js";import{_ as g}from"./_plugin-vue_export-helper-DlAUqK2U.js";const u={props:{modelValue:{type:Boolean,default:null},label:{type:String,default:""},disabled:{type:Boolean,default:!1},groupName:{type:String,default:"",required:!1},color:{type:String,required:!1,default:n.BLUE,validator:l=>Object.values(n).includes(l)},reverseLabel:{type:Boolean,required:!1,default:!1},autofocus:{type:Boolean,required:!1,default:!1}},emits:["update:modelValue"],data(){return{switchUniqueId:""}},computed:{capitalizedColor(){return f(this.color)},computedClasses(){return[{"cpSwitch--hasLabel":this.label,"cpSwitch--isActive":this.modelValue,"cpSwitch--isDisabled":this.disabled,"cpSwitch--isReversed":this.reverseLabel},`cpSwitch--is${this.capitalizedColor}`]}},mounted(){this.switchUniqueId=r()},methods:{handleClick(l){this.$emit("update:modelValue",!l)}}},v=["for"],y={class:"cpSwitch__switch"},w=["id","disabled","checked","value","name","autofocus"],S={class:"cpSwitch__icon"},V={key:0,class:"cpSwitch__label"};function C(l,t,e,q,s,o){const d=b("cp-icon");return c(),i("label",{class:_(["cpSwitch",o.computedClasses]),for:s.switchUniqueId},[a("span",y,[a("input",{id:s.switchUniqueId,disabled:e.disabled,checked:e.modelValue,value:e.modelValue,type:"checkbox",name:e.groupName,autofocus:e.autofocus,onChange:t[0]||(t[0]=k=>o.handleClick(e.modelValue))},null,40,w),a("span",S,[p(d,{type:"check"})]),t[1]||(t[1]=a("span",{class:"cpSwitch__knobContainer"},[a("span",{class:"cpSwitch__knob"})],-1))]),e.label?(c(),i("span",V,h(e.label),1)):m("",!0)],10,v)}const x=g(u,[["render",C]]);u.__docgenInfo={exportName:"default",displayName:"CpSwitch",description:"",tags:{},props:[{name:"modelValue",type:{name:"boolean"},defaultValue:{func:!1,value:"null"}},{name:"label",type:{name:"string"},defaultValue:{func:!1,value:"''"}},{name:"disabled",type:{name:"boolean"},defaultValue:{func:!1,value:"false"}},{name:"groupName",type:{name:"string"},required:!1,defaultValue:{func:!1,value:"''"}},{name:"color",type:{name:"string"},required:!1,defaultValue:{func:!1,value:"ToggleColors.BLUE"}},{name:"reverseLabel",type:{name:"boolean"},required:!1,defaultValue:{func:!1,value:"false"}},{name:"autofocus",type:{name:"boolean"},required:!1,defaultValue:{func:!1,value:"false"}}],events:[{name:"update:modelValue",type:{names:["undefined"]}}],sourceFiles:["/builds/miscellaneous/pimp/src/components/toggles/CpSwitch.vue"]};export{x as C};
@@ -0,0 +1 @@
1
+ /*! modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize */*,:before,:after{box-sizing:border-box}html{font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";line-height:1.15;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4}body{margin:0}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:currentcolor}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}.fade-in-enter-active,.fade-in-leave-active{transition:all .15s ease-in-out}.fade-in-enter-from,.fade-in-leave-to{opacity:0;transform:scale(.9)}@keyframes cp-select-menu-dropdown-enter{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes cp-select-menu-dropdown-leave{0%{opacity:1}to{opacity:0}}.u-text-ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.u-asterisk{position:relative;top:-.1875rem;font-size:.75em;line-height:normal}.u-asterisk:after{content:" "}legend .u-asterisk,label .u-asterisk{color:#eb0505}html{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;font-size:100%;color:#3e3e5b;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}*,*:before,*:after{box-sizing:inherit;margin:0;outline:none;font-family:inherit}body{background-color:transparent}button{border-style:none;padding:0;background-color:transparent}button:hover{cursor:pointer}dialog{color:inherit}ul,li{margin:0;padding:0;list-style:none}svg{color:currentColor}input{font-size:inherit;border:none}.resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper__popper{z-index:10000;top:0;left:0;outline:none}.v-popper__popper.v-popper__popper--hidden{visibility:hidden;opacity:0;transition:opacity .15s,visibility .15s;pointer-events:none}.v-popper__popper.v-popper__popper--shown{visibility:visible;opacity:1;transition:opacity .15s}.v-popper__popper.v-popper__popper--skip-transition,.v-popper__popper.v-popper__popper--skip-transition>.v-popper__wrapper{transition:none!important}.v-popper__backdrop{position:absolute;top:0;left:0;width:100%;height:100%;display:none}.v-popper__inner{position:relative;box-sizing:border-box;overflow-y:auto}.v-popper__inner>div{position:relative;z-index:1;max-width:inherit;max-height:inherit}.v-popper__arrow-container{position:absolute;width:10px;height:10px}.v-popper__popper--arrow-overflow .v-popper__arrow-container,.v-popper__popper--no-positioning .v-popper__arrow-container{display:none}.v-popper__arrow-inner,.v-popper__arrow-outer{border-style:solid;position:absolute;top:0;left:0;width:0;height:0}.v-popper__arrow-inner{visibility:hidden;border-width:7px}.v-popper__arrow-outer{border-width:6px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{left:-2px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{left:-1px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer{border-bottom-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:0}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{border-top-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{top:-4px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{top:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{top:-1px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{border-left-width:0;border-left-color:transparent!important;border-top-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{left:-4px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{left:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer{border-right-width:0;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner{left:-2px}.v-popper--theme-tooltip .v-popper__inner{background:#000c;color:#fff;border-radius:6px;padding:7px 12px 6px}.v-popper--theme-tooltip .v-popper__arrow-outer{border-color:#000c}.v-popper--theme-dropdown .v-popper__inner{background:#fff;color:#000;border-radius:6px;border:1px solid #ddd;box-shadow:0 6px 30px #0000001a}.v-popper--theme-dropdown .v-popper__arrow-inner{visibility:visible;border-color:#fff}.v-popper--theme-dropdown .v-popper__arrow-outer{border-color:#ddd}.cpSwitch{align-items:center}.cpSwitch,.cpSwitch *{cursor:pointer}.cpSwitch--hasLabel{display:grid;grid-template-columns:min-content 1fr;grid-gap:.75rem;align-items:center}.cpSwitch--isDisabled,.cpSwitch--isDisabled *,.cpSwitch--isDisabled:hover,.cpSwitch--isDisabled:hover *{cursor:not-allowed}.cpSwitch--isDisabled .cpSwitch__switch,.cpSwitch--isDisabled:hover .cpSwitch__switch{background-color:#d8d8de}.cpSwitch--isReversed{grid-template-columns:1fr min-content}.cpSwitch--isReversed .cpSwitch__label{grid-row:1}.cpSwitch--isDisabled .cpSwitch__label{color:#8b8b9d}.cpSwitch--isDisabled .cpSwitch__switch,.cpSwitch--isDisabled:hover .cpSwitch__switch{background-color:#ececef}.cpSwitch--isActive .cpSwitch__icon{transform:translateY(-50%);opacity:1}.cpSwitch--isActive .cpSwitch__knobContainer{transform:translate(50%)}.cpSwitch--isPurple.cpSwitch--isActive .cpSwitch__switch{background-color:#5341f9}.cpSwitch--isPurple .cpSwitch__switch:focus-within{box-shadow:0 0 0 .1875em #cbc6fd}.cpSwitch--isPurple:hover:not(.cpSwitch--isDisabled) .cpSwitch__switch{background-color:#a9a0fc}.cpSwitch--isPurple.cpSwitch--isActive:hover .cpSwitch__switch{background-color:#2610f7}.cpSwitch--isPurple.cpSwitch--isActive.cpSwitch--isDisabled .cpSwitch__switch,.cpSwitch--isPurple.cpSwitch--isActive.cpSwitch--isDisabled:hover .cpSwitch__swtich{background-color:#c3bdfd}.cpSwitch--isBlue.cpSwitch--isActive .cpSwitch__switch{background-color:#144dc2}.cpSwitch--isBlue .cpSwitch__switch:focus-within{box-shadow:0 0 0 .1875em #aec6f7}.cpSwitch--isBlue:hover:not(.cpSwitch--isDisabled) .cpSwitch__switch{background-color:#79a0f1}.cpSwitch--isBlue.cpSwitch--isActive:hover .cpSwitch__switch{background-color:#0f3b94}.cpSwitch--isBlue.cpSwitch--isActive.cpSwitch--isDisabled .cpSwitch__switch,.cpSwitch--isBlue.cpSwitch--isActive.cpSwitch--isDisabled:hover .cpSwitch__swtich{background-color:#a1bdf5}.cpSwitch__switch{position:relative;border-radius:1000px;background-color:#8b8b9d;overflow:hidden;transition:background-color .1s ease-out;display:flex;height:1.5em;width:3em}.cpSwitch__switch:hover{background-color:#c6c6ce}.cpSwitch input{position:absolute;z-index:1;top:0;left:0;opacity:0;width:100%;height:100%}.cpSwitch__icon{position:absolute;left:0;top:50%;transform:translateY(-50%);opacity:0;padding-left:.25rem;display:flex;align-items:center;justify-content:center;transition:opacity .12s ease-in;width:1.5em;height:1.5em}.cpSwitch__icon i{width:80%;height:100%}.cpSwitch__icon svg{stroke-width:3;color:#fff}.cpSwitch__knobContainer{width:100%;padding:.125rem;display:flex;align-items:center;transition:transform .3s cubic-bezier(.08,.82,.17,1) 0s}.cpSwitch__knob{background-color:#fff;border-radius:100%;width:calc(1.5em - .25rem);height:calc(1.5em - .25rem)}