@nyaruka/temba-components 0.27.0 → 0.28.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 (61) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +2 -1
  3. package/demo/index.html +176 -127
  4. package/dist/13934682.js +5107 -0
  5. package/dist/index.js +928 -730
  6. package/dist/sw.js +1 -1
  7. package/dist/sw.js.map +1 -1
  8. package/dist/templates/components-body.html +1 -1
  9. package/dist/templates/components-head.html +1 -1
  10. package/out-tsc/src/contacts/ContactGroups.js +1 -0
  11. package/out-tsc/src/contacts/ContactGroups.js.map +1 -1
  12. package/out-tsc/src/contacts/ContactName.js +1 -0
  13. package/out-tsc/src/contacts/ContactName.js.map +1 -1
  14. package/out-tsc/src/contacts/ContactPending.js +0 -3
  15. package/out-tsc/src/contacts/ContactPending.js.map +1 -1
  16. package/out-tsc/src/contacts/ContactTickets.js +136 -0
  17. package/out-tsc/src/contacts/ContactTickets.js.map +1 -0
  18. package/out-tsc/src/contacts/events.js +3 -2
  19. package/out-tsc/src/contacts/events.js.map +1 -1
  20. package/out-tsc/src/contactsearch/ContactSearch.js +144 -96
  21. package/out-tsc/src/contactsearch/ContactSearch.js.map +1 -1
  22. package/out-tsc/src/dialog/Dialog.js +4 -1
  23. package/out-tsc/src/dialog/Dialog.js.map +1 -1
  24. package/out-tsc/src/interfaces.js +6 -0
  25. package/out-tsc/src/interfaces.js.map +1 -1
  26. package/out-tsc/src/list/TembaList.js +1 -2
  27. package/out-tsc/src/list/TembaList.js.map +1 -1
  28. package/out-tsc/src/list/TembaMenu.js +2 -0
  29. package/out-tsc/src/list/TembaMenu.js.map +1 -1
  30. package/out-tsc/src/select/Select.js +3 -2
  31. package/out-tsc/src/select/Select.js.map +1 -1
  32. package/out-tsc/src/slider/TembaSlider.js +147 -0
  33. package/out-tsc/src/slider/TembaSlider.js.map +1 -0
  34. package/out-tsc/src/tabpane/Tab.js +8 -0
  35. package/out-tsc/src/tabpane/Tab.js.map +1 -1
  36. package/out-tsc/src/tabpane/TabPane.js +51 -5
  37. package/out-tsc/src/tabpane/TabPane.js.map +1 -1
  38. package/out-tsc/temba-modules.js +4 -0
  39. package/out-tsc/temba-modules.js.map +1 -1
  40. package/out-tsc/test/temba-slider.test.js +11 -0
  41. package/out-tsc/test/temba-slider.test.js.map +1 -0
  42. package/package.json +1 -1
  43. package/src/contacts/ContactGroups.ts +1 -0
  44. package/src/contacts/ContactName.ts +1 -0
  45. package/src/contacts/ContactPending.ts +0 -3
  46. package/src/contacts/ContactTickets.ts +152 -0
  47. package/src/contacts/events.ts +4 -3
  48. package/src/contactsearch/ContactSearch.ts +163 -115
  49. package/src/dialog/Dialog.ts +3 -1
  50. package/src/interfaces.ts +6 -0
  51. package/src/list/TembaList.ts +1 -2
  52. package/src/list/TembaMenu.ts +4 -0
  53. package/src/select/Select.ts +3 -2
  54. package/src/slider/TembaSlider.ts +152 -0
  55. package/src/tabpane/Tab.ts +6 -0
  56. package/src/tabpane/TabPane.ts +50 -5
  57. package/static/css/temba-components.css +8 -1
  58. package/stories/temba-checkbox.stories.md +2 -12
  59. package/temba-modules.ts +4 -0
  60. package/test/temba-slider.test.ts +11 -0
  61. package/dist/e7b04ba3.js +0 -4909
package/CHANGELOG.md CHANGED
@@ -4,6 +4,30 @@ All notable changes to this project will be documented in this file. Dates are d
4
4
 
5
5
  Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
6
6
 
7
+ #### [v0.28.0](https://github.com/nyaruka/temba-components/compare/v0.27.2...v0.28.0)
8
+
9
+ > 6 July 2022
10
+
11
+ - Add collapsible tab names [`#178`](https://github.com/nyaruka/temba-components/pull/178)
12
+ - Make contact tickets a list [`#179`](https://github.com/nyaruka/temba-components/pull/179)
13
+ - Update demo index, add slider test placeholder [`023606d`](https://github.com/nyaruka/temba-components/commit/023606d053f35c23919f868e7b53279f5af56b96)
14
+ - Update README.md [`66285a3`](https://github.com/nyaruka/temba-components/commit/66285a3f0cf2620add4261acf3a8e85480f24647)
15
+
16
+ #### [v0.27.2](https://github.com/nyaruka/temba-components/compare/v0.27.1...v0.27.2)
17
+
18
+ > 2 July 2022
19
+
20
+ - Update contact search to work with start preview [`#177`](https://github.com/nyaruka/temba-components/pull/177)
21
+ - temba-slider component [`#176`](https://github.com/nyaruka/temba-components/pull/176)
22
+ - Add slider [`1db8884`](https://github.com/nyaruka/temba-components/commit/1db8884cbbe5fb0362a9f757b3570bb82c7926b6)
23
+ - Add slider to modules [`031116e`](https://github.com/nyaruka/temba-components/commit/031116edf4310c1a8629a8079c18144246fd4a1f)
24
+
25
+ #### [v0.27.1](https://github.com/nyaruka/temba-components/compare/v0.27.0...v0.27.1)
26
+
27
+ > 21 June 2022
28
+
29
+ - Add ContactTickets component [`#174`](https://github.com/nyaruka/temba-components/pull/174)
30
+
7
31
  #### [v0.27.0](https://github.com/nyaruka/temba-components/compare/v0.26.11...v0.27.0)
8
32
 
9
33
  > 17 June 2022
package/README.md CHANGED
@@ -33,7 +33,8 @@ To view the interactive demo, use start.
33
33
  ## Testing
34
34
 
35
35
  All tests live under [/test](test). When running tests, some tests capture screenshots for pixel
36
- comparision under [/screenshots](screenshots/truth).
36
+ comparision under [/screenshots](screenshots/truth). Running tests requires that you have Chromium
37
+ installed.
37
38
 
38
39
  ```bash
39
40
  % yarn test
package/demo/index.html CHANGED
@@ -26,7 +26,6 @@
26
26
  padding: 10px;
27
27
  max-width: 500px;
28
28
  --temba-select-selected-font-size: 1em;
29
- display:none;
30
29
  }
31
30
 
32
31
  temba-dropdown.open {
@@ -43,6 +42,13 @@
43
42
  background: rgba(0,0,0,.3);
44
43
  }
45
44
 
45
+ body {
46
+ background: #f3f3f3;
47
+ }
48
+ temba-tabs {
49
+ margin: 2em;
50
+ }
51
+
46
52
  temba-tabs *, temba-tab * {
47
53
  opacity: 0;
48
54
  }
@@ -51,6 +57,42 @@
51
57
  opacity: 1;
52
58
  }
53
59
 
60
+ temba-tab {
61
+ padding: 1em;
62
+ }
63
+
64
+ .dropdown {
65
+ padding: 2em;
66
+ }
67
+
68
+ .dropdown .title {
69
+ font-weight: 400;
70
+ margin-bottom: 0.5em;
71
+ }
72
+
73
+ .dropdown .item {
74
+ padding: 0.5em;
75
+ }
76
+
77
+ .header {
78
+ margin-bottom:1em;
79
+ font-size: 2em;
80
+ font-weight: 400;
81
+ color: #777;
82
+ display: inline;
83
+ }
84
+
85
+ temba-dropdown {
86
+ position: relative;
87
+ display:inline-block;
88
+ margin:0em 0.5em;
89
+ }
90
+
91
+ temba-slider{
92
+ margin-top: 1em;
93
+ }
94
+
95
+
54
96
  </style>
55
97
  <script type="module">
56
98
  import '../out-tsc/temba-modules.js';
@@ -83,141 +125,148 @@
83
125
  groups="/static/api/groups.json"
84
126
  ></temba-store>
85
127
 
86
- <temba-tabs>
128
+ <temba-dropdown>
129
+ <div style="display:inline-block; margin-bottom:1em;" slot="toggle">
130
+ <temba-icon name="menu" size="1.3" clickable></temba-icon>
131
+ </div>
132
+ <div slot="dropdown" class="dropdown" style="width:250px; padding:0.5em 1em;">
133
+ <div class="item">
134
+ <div class="title">Check this out!</div>
135
+ <div class="details">temba-menu lets you do little popup menus like this.</div>
136
+ </div>
137
+ </div>
138
+ </temba-dropdown>
87
139
 
88
- <temba-tab name="Chats" icon="message-square">
89
- <div onclick="storeTest();">Click me!</div>
90
- </temba-tab>
140
+ <div class="header">temba-components</div>
91
141
 
92
- <temba-tab name="Details" icon="list">
93
- Details content
94
- </temba-tab>
142
+ <temba-tabs>
143
+ <temba-tab name="temba-slider" icon="sliders">
95
144
 
96
- <temba-tab name="Log" icon="log">
97
- Log content
98
- </temba-tab>
99
145
 
100
- </temba-tabs>
146
+ <div class="example">
147
+ With Range
148
+ <temba-slider value="50" min="0" max="100" range></temba-slider>
149
+ </div>
101
150
 
151
+ <div class="example">
152
+ Without Range
153
+ <temba-slider value="50" min="0" max="100"></temba-slider>
154
+ </div>
102
155
 
156
+ </temba-tab>
157
+ <temba-tab name="temba-select" icon="chevron-down">
158
+
159
+ <div class="example">
160
+ <temba-select
161
+ placeholder="Select a color"
162
+ info_text="Some colors are very dangerous, choose wisely"
163
+ onchange="handleColorChange(event)"
164
+ >
165
+ <temba-option name="Red" value="0"></temba-option>
166
+ <temba-option name="Green" value="1"></temba-option>
167
+ <temba-option name="Blue" value="2"></temba-option>
168
+ </temba-select>
169
+ </div>
170
+
171
+ <div class="example">
172
+ <temba-select placeholder="Select a color" clearable>
173
+ <temba-option name="Red" value="0"></temba-option>
174
+ <temba-option name="Green" value="1"></temba-option>
175
+ <temba-option name="Blue" value="2"></temba-option>
176
+ </temba-select>
177
+ </div>
178
+
179
+ <div class="example">
180
+ <temba-select
181
+ placeholder="Select a color"
182
+ expressions="message"
183
+ values='[{"name":"Red","value":"0"}]'
184
+ searchable
185
+ multi
186
+ >
187
+ <temba-option name="Red" value="0"></temba-option>
188
+ <temba-option name="Green" value="1"></temba-option>
189
+ <temba-option name="Blue" value="2"></temba-option>
190
+ </temba-select>
191
+ </div>
103
192
 
104
- <div class="example" style="margin: 10px; background: #ccc; border-radius:6px;">
105
- <temba-dropdown>
106
- <div style="display:inline-block" slot="toggle">
107
- <temba-icon name="chevron-down" size="1.3" clickable></temba-icon>
193
+ <div class="example">
194
+ <temba-select
195
+ name="Color"
196
+ label="Color"
197
+ help_text="I'm not really enabled at the moment"
198
+ placeholder="Select a color"
199
+ expressions="message"
200
+ values='[{"name":"Red","value":"0"}]'
201
+ searchable
202
+ multi
203
+ disabled
204
+ >
205
+ <temba-option name="Red" value="0"></temba-option>
206
+ <temba-option name="Green" value="1"></temba-option>
207
+ <temba-option name="Blue" value="2"></temba-option>
208
+ </temba-select>
209
+ </div>
210
+
211
+ <div class="example">
212
+ <script>
213
+ function toggleSelect(evt) {
214
+ document.getElementById('select-toggle').disabled = !evt.currentTarget
215
+ .checked;
216
+ }
217
+ </script>
218
+ <div style="display: flex; align-items: center">
219
+ <temba-checkbox onchange="toggleSelect(event)" checked></temba-checkbox>
220
+ <temba-select
221
+ style="margin-left: 10px"
222
+ id="select-toggle"
223
+ placeholder="Select a color"
224
+ expressions="message"
225
+ >
226
+ <temba-option name="Red" value="0"></temba-option>
227
+ <temba-option name="Green" value="1"></temba-option>
228
+ <temba-option name="Blue" value="2"></temba-option>
229
+ </temba-select>
230
+ </div>
108
231
  </div>
109
232
 
110
- <div slot="dropdown" style="width:250px; padding:0.5em 1em">
111
- <a href="http://google.com">Google</a>
233
+ </temba-tab>
234
+
235
+ <temba-tab name="temba-textinput" icon="edit">
236
+
237
+ <div class="example">
238
+ <temba-textinput value="plain text"></temba-textinput>
112
239
  </div>
113
- </temba-dropdown>
114
- </div>
115
- <div class="example">
116
- <temba-omnibox
117
- placeholder="Contacts or Groups"
118
- label="Recipients"
119
- help_text="This is the helpful friendly book"
120
- endpoint="/contact/omnibox/?v=2"
121
- groups
122
- contacts
123
- ></temba-omnibox>
124
- </div>
125
- <div class="example">
126
- <temba-checkbox label="you betcha" checked></temba-checkbox>
127
- </div>
128
-
129
- <div class="example">
130
- <temba-textinput value="plain text"></temba-textinput>
131
- </div>
132
-
133
- <div class="example">
134
- <temba-completion value="you complete me @cont"></temba-completion>
135
- </div>
136
-
137
- <div class="example">
138
- <temba-select
139
- placeholder="Select a color"
140
- info_text="Some colors are very dangerous, choose wisely"
141
- onchange="handleColorChange(event)"
142
- >
143
- <temba-option name="Red" value="0"></temba-option>
144
- <temba-option name="Green" value="1"></temba-option>
145
- <temba-option name="Blue" value="2"></temba-option>
146
- </temba-select>
147
- </div>
148
-
149
- <div class="example">
150
- <temba-select placeholder="Select a color" clearable>
151
- <temba-option name="Red" value="0"></temba-option>
152
- <temba-option name="Green" value="1"></temba-option>
153
- <temba-option name="Blue" value="2"></temba-option>
154
- </temba-select>
155
- </div>
156
-
157
- <div class="example">
158
- <temba-select
159
- placeholder="Select a color"
160
- expressions="message"
161
- values='[{"name":"Red","value":"0"}]'
162
- searchable
163
- multi
164
- >
165
- <temba-option name="Red" value="0"></temba-option>
166
- <temba-option name="Green" value="1"></temba-option>
167
- <temba-option name="Blue" value="2"></temba-option>
168
- </temba-select>
169
- </div>
170
-
171
- <div class="example">
172
- <temba-select
173
- name="Color"
174
- label="Color"
175
- help_text="I'm not really enabled at the moment"
176
- placeholder="Select a color"
177
- expressions="message"
178
- values='[{"name":"Red","value":"0"}]'
179
- searchable
180
- multi
181
- disabled
182
- >
183
- <temba-option name="Red" value="0"></temba-option>
184
- <temba-option name="Green" value="1"></temba-option>
185
- <temba-option name="Blue" value="2"></temba-option>
186
- </temba-select>
187
- </div>
188
-
189
- <div class="example">
190
- <script>
191
- function toggleSelect(evt) {
192
- document.getElementById('select-toggle').disabled = !evt.currentTarget
193
- .checked;
194
- }
195
- </script>
196
- <div style="display: flex; align-items: center">
197
- <temba-checkbox onchange="toggleSelect(event)" checked></temba-checkbox>
198
- <temba-select
199
- style="margin-left: 10px"
200
- id="select-toggle"
201
- placeholder="Select a color"
202
- expressions="message"
203
- >
204
- <temba-option name="Red" value="0"></temba-option>
205
- <temba-option name="Green" value="1"></temba-option>
206
- <temba-option name="Blue" value="2"></temba-option>
207
- </temba-select>
208
- </div>
209
- </div>
210
-
211
- <div class="example">
212
- <temba-textinput
213
- name="start"
214
- label="Start Time"
215
- help_text="This is something you should think long and hard about"
216
- placeholder="Put something down, for real"
217
- value="2020-11-28 15:03"
218
- clearable
219
- datetimepicker
220
- ></temba-textinput>
221
- </div>
240
+
241
+ <div class="example">
242
+ <temba-completion value="you complete me @cont"></temba-completion>
243
+ </div>
244
+
245
+ <div class="example">
246
+ <temba-textinput
247
+ name="start"
248
+ label="Start Time"
249
+ help_text="This is something you should think long and hard about"
250
+ placeholder="Put something down, for real"
251
+ value="2020-11-28 15:03"
252
+ clearable
253
+ datetimepicker
254
+ ></temba-textinput>
255
+ </div>
256
+
257
+ <div class="example">
258
+ <temba-completion counter="temba-charcount" value="This is a GSM charcounter in a textarea" gsm textarea></temba-completion>
259
+ <temba-charcount text='count this text'></temba-charcount>
260
+ </div>
261
+ </temba-tab>
262
+
263
+ <temba-tab name="other" icon="list">
264
+ <div class="example">
265
+ <temba-checkbox label="Check this out" checked></temba-checkbox>
266
+ </div>
267
+
268
+ </temba-tab>
269
+
270
+ </temba-tabs>
222
271
  </body>
223
272
  </html>