@citizenplane/pimp 8.29.0 → 8.30.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 (77) hide show
  1. package/dist/{IconAccompaniedMinorEach-DJAl0F5n.js → IconAccompaniedMinorEach-Chvln7ks.js} +1 -1
  2. package/dist/{IconAccompaniedMinorNone-DiM0N51w.js → IconAccompaniedMinorNone-BlEBLGOE.js} +1 -1
  3. package/dist/{IconAccompaniedMinorOne-CKplzZmh.js → IconAccompaniedMinorOne-DIRpn5zm.js} +1 -1
  4. package/dist/{IconAddReceipt-DcCS2bfI.js → IconAddReceipt-DaXDrYon.js} +1 -1
  5. package/dist/{IconAirportTerminal-Ds0ZJoQR.js → IconAirportTerminal-pU0mx9bq.js} +1 -1
  6. package/dist/{IconArrival-D46TLsV9.js → IconArrival-uqa1cUzO.js} +1 -1
  7. package/dist/{IconBaggageCabinNone-xb3xxuaw.js → IconBaggageCabinNone-SnFrcMwI.js} +1 -1
  8. package/dist/{IconBaggageCheckedNone-B-aRpwV3.js → IconBaggageCheckedNone-4ZGeJX-T.js} +1 -1
  9. package/dist/{IconBaggagePersonalNone-BANaXEwN.js → IconBaggagePersonalNone-JVlWXsIc.js} +1 -1
  10. package/dist/{IconBroadcast-CaP6RkQS.js → IconBroadcast-B7gcYIky.js} +1 -1
  11. package/dist/{IconCabinBag-C_RCoMJH.js → IconCabinBag-8gdUsqru.js} +1 -1
  12. package/dist/{IconCalendar-DsY2EgtV.js → IconCalendar-RehatmPo.js} +1 -1
  13. package/dist/{IconCalendarDelay-Dw2BJrkM.js → IconCalendarDelay-Du3a9TaA.js} +1 -1
  14. package/dist/{IconCheckedBaggage20-64O0_VLT.js → IconCheckedBaggage20-BaRTS3Dm.js} +1 -1
  15. package/dist/{IconCheckedBaggage30-KqEee1vY.js → IconCheckedBaggage30-DfnJcICl.js} +1 -1
  16. package/dist/{IconChild-CQgO2S-B.js → IconChild-BiRe6plt.js} +1 -1
  17. package/dist/{IconContact-Dp6fiVgj.js → IconContact-B2q3Oix6.js} +1 -1
  18. package/dist/{IconDeparture-CzilFSlX.js → IconDeparture-CqOsm1p3.js} +1 -1
  19. package/dist/{IconDistribution-DwWykEuK.js → IconDistribution-BtAjLOH1.js} +1 -1
  20. package/dist/{IconDistributionClosed-BFhm0zlg.js → IconDistributionClosed-DvKcmH9O.js} +1 -1
  21. package/dist/{IconDistributionExclusivePair-BJloN2rr.js → IconDistributionExclusivePair-C0EBa4Yz.js} +1 -1
  22. package/dist/{IconDistributionSided-CGOMrvD9.js → IconDistributionSided-CoSkKfc5.js} +1 -1
  23. package/dist/{IconDistributionSupplySided-aDOBPVbr.js → IconDistributionSupplySided-DsAhZSkC.js} +1 -1
  24. package/dist/{IconDynamicContent-Dy4P_4kE.js → IconDynamicContent-DK6fNt00.js} +1 -1
  25. package/dist/{IconEndDate-zHqEusva.js → IconEndDate-Ct8mj0Ej.js} +1 -1
  26. package/dist/{IconFares-Ar7mT2uJ.js → IconFares-D3e_h14B.js} +1 -1
  27. package/dist/{IconFaresOutlined-CzXzP1Nq.js → IconFaresOutlined-BXDgpilA.js} +1 -1
  28. package/dist/{IconFemale-BAPZu5dD.js → IconFemale-ctrm9N3Z.js} +1 -1
  29. package/dist/{IconFindConversation-Dp9kb_9Q.js → IconFindConversation-uAMWFXlW.js} +1 -1
  30. package/dist/{IconFire-D-skpITw.js → IconFire-DZoDNAyw.js} +1 -1
  31. package/dist/{IconFlight-Bk74FFlO.js → IconFlight-C7O_qHJA.js} +1 -1
  32. package/dist/{IconFlightReturn-ChU0D5NM.js → IconFlightReturn-BNjLtbO6.js} +1 -1
  33. package/dist/{IconFlightSchedule-BGqSAgnS.js → IconFlightSchedule-WpBNLs2y.js} +1 -1
  34. package/dist/{IconHandHeart-DSLVTWB0.js → IconHandHeart-C_E0cCXP.js} +1 -1
  35. package/dist/{IconHistory-DoiJxTLv.js → IconHistory-BqwHTTWY.js} +1 -1
  36. package/dist/{IconHourGlass-DiUkDFsn.js → IconHourGlass-DOwuG_3m.js} +1 -1
  37. package/dist/{IconIdCard-AZFJGbhI.js → IconIdCard-BNskK5uB.js} +1 -1
  38. package/dist/{IconInfant-Upc6KK5G.js → IconInfant-BQYVIka1.js} +1 -1
  39. package/dist/{IconItinerary-B0gVEP6X.js → IconItinerary-BKUEvJ4N.js} +1 -1
  40. package/dist/{IconLeave-CuUkbugY.js → IconLeave-DUomSUyI.js} +1 -1
  41. package/dist/{IconMale-C38B_sQb.js → IconMale-l4XJPya-.js} +1 -1
  42. package/dist/{IconMultiSegments-DDmDlR8c.js → IconMultiSegments-DyTODoLE.js} +1 -1
  43. package/dist/{IconNoPassport-C0o54-Yj.js → IconNoPassport-hOO36EG3.js} +1 -1
  44. package/dist/{IconNoRefund-B4xImgrQ.js → IconNoRefund-BAEjDfuQ.js} +1 -1
  45. package/dist/{IconNoSeat-Bnh__UM_.js → IconNoSeat-hPRh86Qu.js} +1 -1
  46. package/dist/{IconNotion-DOT1v1RD.js → IconNotion-BdbLBTUX.js} +1 -1
  47. package/dist/{IconOffline-D1d62Jkv.js → IconOffline-Cuw_8YAe.js} +1 -1
  48. package/dist/{IconOneWay--BY9YJWU.js → IconOneWay-B9BR28Bh.js} +1 -1
  49. package/dist/{IconPaid-Dyw8JVGl.js → IconPaid-ComZJkK7.js} +1 -1
  50. package/dist/{IconPassport-_LaJzaWO.js → IconPassport-wqREy6VU.js} +1 -1
  51. package/dist/{IconPayout-Df0q7muN.js → IconPayout-BVbxGgeq.js} +1 -1
  52. package/dist/{IconPlug-Djxnwr8c.js → IconPlug-DoqFsBC5.js} +1 -1
  53. package/dist/{IconPlugOff-njGjheAI.js → IconPlugOff-D01qKq6o.js} +1 -1
  54. package/dist/{IconReceipt-DS1UiNwb.js → IconReceipt-C7nXDJWw.js} +1 -1
  55. package/dist/{IconRecurrence-CYJGsNgj.js → IconRecurrence-C6Bcbzej.js} +1 -1
  56. package/dist/{IconRefund-BqZTvJDf.js → IconRefund-C4AU90vx.js} +1 -1
  57. package/dist/{IconRoundTrip-Du_iKzRn.js → IconRoundTrip-JiO6XN3l.js} +1 -1
  58. package/dist/{IconRouteNoStop-BMimFG1_.js → IconRouteNoStop-B9B7Lsho.js} +1 -1
  59. package/dist/{IconRouteOneStop-BCyieuH0.js → IconRouteOneStop-BUC7J7oa.js} +1 -1
  60. package/dist/{IconScheduleChange-CPJ2QMHl.js → IconScheduleChange-fbuvLH__.js} +1 -1
  61. package/dist/{IconSeatEmpty-BvulUq5w.js → IconSeatEmpty-CstmVSzb.js} +1 -1
  62. package/dist/{IconSeatSold-Cs3FRT9q.js → IconSeatSold-DELO-Pvo.js} +1 -1
  63. package/dist/{IconSeatTotal-B3mVvYAL.js → IconSeatTotal-836DH38g.js} +1 -1
  64. package/dist/{IconStartDate-B-j0bRpZ.js → IconStartDate-BEDLfvts.js} +1 -1
  65. package/dist/{IconTemplate-CJfm6u-D.js → IconTemplate-B6d3ILRN.js} +1 -1
  66. package/dist/{IconTicket-Dr5BMylL.js → IconTicket-CvynjvU9.js} +1 -1
  67. package/dist/{IconTimer-DkbtAi6L.js → IconTimer-Cd-3mYao.js} +1 -1
  68. package/dist/{IconTrafficControl-DaYBu9ZI.js → IconTrafficControl-CXNIPHel.js} +1 -1
  69. package/dist/{index-Cs7xsj5h.js → index-CSEBCA97.js} +386 -385
  70. package/dist/pimp.es.js +1 -1
  71. package/dist/pimp.umd.js +1 -1
  72. package/dist/style.css +1 -1
  73. package/package.json +1 -1
  74. package/src/assets/styles/variables/_colors.scss +3 -1
  75. package/src/components/CpBadge.vue +51 -18
  76. package/src/constants/CpCustomIcons.ts +1 -1
  77. package/src/stories/CpBadge.stories.ts +63 -53
@@ -1,7 +1,9 @@
1
- import type { Meta, StoryObj } from '@storybook/vue3'
1
+ import type { Args, Meta, StoryObj } from '@storybook/vue3'
2
2
 
3
3
  import CpBadge from '@/components/CpBadge.vue'
4
4
 
5
+ import { Colors, Sizes } from '@/constants'
6
+
5
7
  const meta = {
6
8
  title: 'CpBadge',
7
9
  component: CpBadge,
@@ -13,7 +15,7 @@ const meta = {
13
15
  },
14
16
  size: {
15
17
  control: 'select',
16
- options: ['sm', 'md'],
18
+ options: ['xs', 'sm', 'md'],
17
19
  description: 'The size of the badge',
18
20
  },
19
21
  isStroked: {
@@ -26,12 +28,12 @@ const meta = {
26
28
  },
27
29
  leadingIcon: {
28
30
  control: 'select',
29
- options: ['check', 'arrow-right', 'arrow-left', 'arrow-up', 'arrow-down'],
31
+ options: ['', 'check', 'arrow-right', 'arrow-left', 'arrow-up', 'arrow-down', 'plus'],
30
32
  description: 'Type of leading icon (if any)',
31
33
  },
32
34
  trailingIcon: {
33
35
  control: 'select',
34
- options: ['check', 'arrow-right', 'arrow-left', 'arrow-up', 'arrow-down'],
36
+ options: ['', 'check', 'arrow-right', 'arrow-left', 'arrow-up', 'arrow-down', 'plus'],
35
37
  description: 'Type of trailing icon (if any)',
36
38
  },
37
39
  label: {
@@ -45,23 +47,26 @@ export default meta
45
47
 
46
48
  type Story = StoryObj<typeof meta>
47
49
 
50
+ const defaultTemplate = '<CpBadge v-bind="args" />'
51
+ const defaultRender = (args: Args) => ({
52
+ components: { CpBadge },
53
+ setup() {
54
+ return { args }
55
+ },
56
+ template: defaultTemplate,
57
+ })
58
+
48
59
  export const Default: Story = {
49
60
  args: {
50
- color: 'gray',
51
- size: 'md',
61
+ color: Colors.GRAY,
62
+ size: Sizes.MD,
52
63
  isStroked: false,
53
64
  isSquare: false,
54
65
  leadingIcon: '',
55
66
  trailingIcon: '',
56
67
  label: 'Badge',
57
68
  },
58
- render: (args) => ({
59
- components: { CpBadge },
60
- setup() {
61
- return { args }
62
- },
63
- template: '<CpBadge v-bind="args" />',
64
- }),
69
+ render: defaultRender,
65
70
  }
66
71
 
67
72
  export const WithColors: Story = {
@@ -83,74 +88,79 @@ export const WithColors: Story = {
83
88
  }
84
89
 
85
90
  export const WithSizes: Story = {
86
- render: () => ({
91
+ render: (args: Args) => ({
87
92
  components: { CpBadge },
93
+ setup() {
94
+ return { args }
95
+ },
88
96
  template: `
89
97
  <div style="display: flex; gap: 8px; align-items: center;">
90
- <CpBadge size="sm" label="Small" />
91
- <CpBadge size="md" label="Medium" />
98
+ <CpBadge v-bind="args" leading-icon="plus" trailing-icon="plus" size="md" label="Medium" />
99
+ <CpBadge v-bind="args" leading-icon="plus" trailing-icon="plus" size="sm" label="Small" />
100
+ <CpBadge v-bind="args" leading-icon="plus" trailing-icon="plus" size="xs" label="Extra Small" />
92
101
  </div>
93
102
  `,
94
103
  }),
95
104
  }
96
105
 
106
+ export const WithLeadingIcon: Story = {
107
+ args: { ...Default.args, leadingIcon: 'check', label: 'Leading Icon' },
108
+ render: defaultRender,
109
+ }
110
+
111
+ export const WithTrailingIcon: Story = {
112
+ args: { ...Default.args, trailingIcon: 'check', label: 'Trailing Icon' },
113
+ render: defaultRender,
114
+ }
115
+
116
+ export const IconOnly: Story = {
117
+ args: { ...Default.args, leadingIcon: 'check', label: '' },
118
+ render: defaultRender,
119
+ }
120
+
97
121
  export const IsStroked: Story = {
98
- render: () => ({
122
+ render: (args: Args) => ({
99
123
  components: { CpBadge },
124
+ setup() {
125
+ return { args }
126
+ },
100
127
  template: `
101
- <div style="display: flex; gap: 8px; flex-wrap: wrap;">
102
- <CpBadge color="blue" isStroked label="Stroked" />
103
- <CpBadge color="green" isStroked label="Stroked" />
104
- <CpBadge color="red" isStroked label="Stroked" />
128
+ <div style="display: flex; gap: 8px; align-items: center;">
129
+ <CpBadge v-bind="args" is-stroked color="blue" leading-icon="plus" trailing-icon="plus" label="Label" />
130
+ <CpBadge v-bind="args" is-stroked color="red" leading-icon="plus" trailing-icon="plus" label="Label" />
131
+ <CpBadge v-bind="args" is-stroked color="orange" leading-icon="plus" trailing-icon="plus" label="Label" />
132
+ <CpBadge v-bind="args" is-stroked color="yellow" leading-icon="plus" trailing-icon="plus" label="Label" />
133
+ <CpBadge v-bind="args" is-stroked color="green" leading-icon="plus" trailing-icon="plus" label="Label" />
134
+ <CpBadge v-bind="args" is-stroked color="purple" leading-icon="plus" trailing-icon="plus" label="Label" />
135
+ <CpBadge v-bind="args" is-stroked color="gray" leading-icon="plus" trailing-icon="plus" label="Label" />
105
136
  </div>
106
137
  `,
107
138
  }),
108
139
  }
109
140
 
110
141
  export const WithIcons: Story = {
111
- render: () => ({
112
- components: { CpBadge },
113
- template: `
114
- <div style="display: flex; gap: 8px; align-items: center;">
115
- <CpBadge color="blue" leading-icon="check" label="Leading Icon" />
116
- <CpBadge color="green" trailing-icon="arrow-right" label="Trailing Icon" />
117
- <CpBadge color="red" leading-icon="check" trailing-icon="arrow-right" label="Both Icons" />
118
- </div>
119
- `,
120
- }),
142
+ args: { ...Default.args, leadingIcon: 'check', trailingIcon: 'arrow-right', label: 'Both Icons' },
143
+ render: defaultRender,
121
144
  }
122
145
 
123
146
  export const IsSquare: Story = {
124
- render: () => ({
125
- components: { CpBadge },
126
- template: `
127
- <div style="display: flex; gap: 8px; align-items: center;">
128
- <CpBadge color="blue" isSquare label="Square" />
129
- <CpBadge color="green" isSquare label="Square" />
130
- <CpBadge color="red" isSquare label="Square" />
131
- </div>
132
- `,
133
- }),
147
+ args: { ...Default.args, isSquare: true, label: 'Square' },
148
+ render: defaultRender,
134
149
  }
135
150
 
136
151
  export const IsClearable: Story = {
137
- render: () => ({
138
- components: { CpBadge },
139
- template: `
140
- <div style="display: flex; gap: 8px; align-items: center;">
141
- <CpBadge color="blue" isClearable label="Clearable" />
142
- <CpBadge color="green" isClearable label="Clearable" />
143
- <CpBadge color="red" isClearable label="Clearable" />
144
- </div>
145
- `,
146
- }),
152
+ args: { ...Default.args, isClearable: true, label: 'Clearable' },
153
+ render: defaultRender,
147
154
  }
148
155
 
149
156
  export const WithSlot: Story = {
150
- render: () => ({
157
+ render: (args: Args) => ({
151
158
  components: { CpBadge },
159
+ setup() {
160
+ return { args }
161
+ },
152
162
  template: `
153
- <CpBadge color="purple">
163
+ <CpBadge v-bind="args">
154
164
  <template #leading-icon>
155
165
  <span style="font-size: 16px; margin-right: 4px;">🌟</span>
156
166
  </template>