impact-ui 3.7.27 → 3.7.28-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "impact-ui",
3
- "version": "3.7.27",
3
+ "version": "3.7.28-alpha.2",
4
4
  "description": "Impact Analytics UI library",
5
5
  "main": "dist/index.js",
6
6
  "files": [
@@ -25,7 +25,7 @@ export const BottomSheet = ({
25
25
 
26
26
  useEffect(() => {
27
27
  if (open) {
28
- setContentHeight("auto");
28
+ // setContentHeight("auto");
29
29
  const timeout = setTimeout(() => {
30
30
  const height =
31
31
  document.querySelector(".ia_modalBody")?.scrollHeight + 105;
@@ -33,9 +33,10 @@ export const BottomSheet = ({
33
33
  setContentHeight(cappedHeight);
34
34
  }, 0);
35
35
  return () => clearTimeout(timeout);
36
- } else {
37
- setContentHeight("auto");
38
- }
36
+ }
37
+ // else {
38
+ // setContentHeight("auto");
39
+ // }
39
40
  }, [open, children, maxHeight]);
40
41
 
41
42
  const hasFooter = footerOptions && Object.keys(footerOptions)?.length > 0;
@@ -463,7 +463,6 @@ function AgGridHeader({
463
463
 
464
464
  </div>
465
465
  )}
466
- {customIcon && customIcon}
467
466
  {rest?.column?.colDef?.sortable && (
468
467
  <img
469
468
  src={
@@ -1,6 +1,8 @@
1
1
  import React, { Fragment, useState } from "react";
2
2
  import { BottomSheet as BottomSheetWrapper } from "../components/BottomSheet";
3
3
  import { Button } from "../components/Button";
4
+ import { Table } from "../components/Table";
5
+ import { Select } from "../components/Select";
4
6
  import { fn } from "@storybook/test";
5
7
 
6
8
  export default {
@@ -224,3 +226,232 @@ Default.args = {
224
226
  ),
225
227
  withExpandIcon: false,
226
228
  };
229
+
230
+ const SelectCellRenderer = (params) => {
231
+ const [isOpen, setIsOpen] = useState(false);
232
+ const [currentOptions, setCurrentOptions] = useState([]);
233
+ const [isSelectAll, setIsSelectAll] = useState(false);
234
+ const [selectedOptions, setSelectedOptions] = useState([]);
235
+
236
+ const optionsMap = {
237
+ vendorColor: [
238
+ { label: "Gold", value: "gold" },
239
+ { label: "Silver", value: "silver" },
240
+ { label: "Rose Gold", value: "rose_gold" },
241
+ { label: "Black", value: "black" },
242
+ { label: "Gold", value: "gold" },
243
+ { label: "Silver", value: "silver" },
244
+ { label: "Rose Gold", value: "rose_gold" },
245
+ { label: "Black", value: "black" },
246
+ { label: "Gold", value: "gold" },
247
+ { label: "Silver", value: "silver" },
248
+ { label: "Rose Gold", value: "rose_gold" },
249
+ { label: "Black", value: "black" },
250
+ { label: "Gold", value: "gold" },
251
+ { label: "Silver", value: "silver" },
252
+ { label: "Rose Gold", value: "rose_gold" },
253
+ { label: "Black", value: "black" },
254
+ { label: "Gold", value: "gold" },
255
+ { label: "Silver", value: "silver" },
256
+ { label: "Rose Gold", value: "rose_gold" },
257
+ { label: "Black", value: "black" },
258
+ ],
259
+ applicationEmbellishment: [
260
+ { label: "Stone", value: "stone" },
261
+ { label: "Enamel", value: "enamel" },
262
+ { label: "Plain", value: "plain" },
263
+ ],
264
+ productGrpDesc: [
265
+ { label: "Watches", value: "watches" },
266
+ { label: "Jewelry", value: "jewelry" },
267
+ { label: "Accessories", value: "accessories" },
268
+ ],
269
+ collection: [
270
+ { label: "Classic", value: "classic" },
271
+ { label: "Modern", value: "modern" },
272
+ { label: "Heritage", value: "heritage" },
273
+ ],
274
+ gender: [
275
+ { label: "Male", value: "male" },
276
+ { label: "Female", value: "female" },
277
+ { label: "Unisex", value: "unisex" },
278
+ ],
279
+ metalColor: [
280
+ { label: "Yellow Gold", value: "yellow_gold" },
281
+ { label: "White Gold", value: "white_gold" },
282
+ { label: "Rose Gold", value: "rose_gold" },
283
+ ],
284
+ dial: [
285
+ { label: "Round", value: "round" },
286
+ { label: "Square", value: "square" },
287
+ { label: "Oval", value: "oval" },
288
+ ],
289
+ logoSilhouette: [
290
+ { label: "Embossed", value: "embossed" },
291
+ { label: "Printed", value: "printed" },
292
+ { label: "None", value: "none" },
293
+ ],
294
+ subCollection: [
295
+ { label: "Premium", value: "premium" },
296
+ { label: "Standard", value: "standard" },
297
+ { label: "Limited Edition", value: "limited_edition" },
298
+ ],
299
+ movementType: [
300
+ { label: "Automatic", value: "automatic" },
301
+ { label: "Quartz", value: "quartz" },
302
+ { label: "Mechanical", value: "mechanical" },
303
+ ],
304
+ };
305
+
306
+ const fieldOptions =
307
+ optionsMap[params.colDef.field] || [
308
+ { label: "Option 1", value: "1" },
309
+ { label: "Option 2", value: "2" },
310
+ { label: "Option 3", value: "3" },
311
+ ];
312
+
313
+ return (
314
+ <Select
315
+ placeholder={"Select"}
316
+ initialOptions={fieldOptions}
317
+ isOpen={isOpen}
318
+ setIsOpen={setIsOpen}
319
+ currentOptions={currentOptions}
320
+ setCurrentOptions={setCurrentOptions}
321
+ selectedOptions={selectedOptions}
322
+ setSelectedOptions={setSelectedOptions}
323
+ isSelectAll={isSelectAll}
324
+ setIsSelectAll={setIsSelectAll}
325
+ withPortal
326
+ isAgGridCellRenderer
327
+ column={params.column}
328
+ />
329
+ );
330
+ };
331
+
332
+ const tableColumnDefs = [
333
+ {
334
+ field: "placeholderChoiceId",
335
+ headerName: "Placeholder Choice ID",
336
+ minWidth: 180,
337
+ pinned: "left",
338
+ },
339
+ {
340
+ field: "vendorColor",
341
+ headerName: "Vendor Color",
342
+ minWidth: 160,
343
+ cellRenderer: SelectCellRenderer,
344
+ cellClass: "cell-renderer",
345
+ },
346
+ {
347
+ field: "applicationEmbellishment",
348
+ headerName: "Application Embellishment",
349
+ minWidth: 200,
350
+ cellRenderer: SelectCellRenderer,
351
+ cellClass: "cell-renderer",
352
+ },
353
+ {
354
+ field: "productGrpDesc",
355
+ headerName: "Product Grp Desc",
356
+ minWidth: 170,
357
+ cellRenderer: SelectCellRenderer,
358
+ cellClass: "cell-renderer",
359
+ },
360
+ {
361
+ field: "collection",
362
+ headerName: "Collection",
363
+ minWidth: 150,
364
+ cellRenderer: SelectCellRenderer,
365
+ cellClass: "cell-renderer",
366
+ },
367
+ {
368
+ field: "gender",
369
+ headerName: "Gender",
370
+ minWidth: 150,
371
+ cellRenderer: SelectCellRenderer,
372
+ cellClass: "cell-renderer",
373
+ },
374
+ {
375
+ field: "metalColor",
376
+ headerName: "Metal Color",
377
+ minWidth: 160,
378
+ cellRenderer: SelectCellRenderer,
379
+ cellClass: "cell-renderer",
380
+ },
381
+ {
382
+ field: "dial",
383
+ headerName: "Dial",
384
+ minWidth: 140,
385
+ cellRenderer: SelectCellRenderer,
386
+ cellClass: "cell-renderer",
387
+ },
388
+ {
389
+ field: "logoSilhouette",
390
+ headerName: "Logo Silhouette",
391
+ minWidth: 170,
392
+ cellRenderer: SelectCellRenderer,
393
+ cellClass: "cell-renderer",
394
+ },
395
+ {
396
+ field: "subCollection",
397
+ headerName: "Sub Collection",
398
+ minWidth: 170,
399
+ cellRenderer: SelectCellRenderer,
400
+ cellClass: "cell-renderer",
401
+ },
402
+ {
403
+ field: "movementType",
404
+ headerName: "Movement Type",
405
+ minWidth: 170,
406
+ cellRenderer: SelectCellRenderer,
407
+ cellClass: "cell-renderer",
408
+ },
409
+ ];
410
+
411
+ const tableRowData = [
412
+ { placeholderChoiceId: "SGH Collect Mag..." },
413
+ ];
414
+
415
+ const WithTableContent = (args) => {
416
+ const [open, setOpen] = useState(args.open);
417
+
418
+ const handleOpen = () => setOpen(true);
419
+ const handleClose = () => setOpen(false);
420
+
421
+ return (
422
+ <>
423
+ <Button onClick={handleOpen}>Open Bottom Sheet</Button>
424
+ <BottomSheetWrapper
425
+ {...args}
426
+ open={open}
427
+ onClose={handleClose}
428
+ footerOptions={
429
+ <Fragment>
430
+ <Button variant="url" onClick={handleClose}>
431
+ Cancel
432
+ </Button>
433
+ <Button variant="primary" onClick={() => {}}>
434
+ Save
435
+ </Button>
436
+ </Fragment>
437
+ }
438
+ >
439
+ <Table
440
+ rowData={tableRowData}
441
+ columnDefs={tableColumnDefs}
442
+ cardContainer={false}
443
+ rowHeight="default"
444
+ pagination={true}
445
+ paginationPageSize={10}
446
+ />
447
+ </BottomSheetWrapper>
448
+ </>
449
+ );
450
+ };
451
+
452
+ export const WithSelectTable = (args) => <WithTableContent {...args} />;
453
+
454
+ WithSelectTable.args = {
455
+ title: "Add Choice",
456
+ withExpandIcon: true,
457
+ };