@govtechsg/sgds-web-component 3.26.0 → 3.26.1-rc.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 (124) hide show
  1. package/base/option-element.d.ts +1 -0
  2. package/base/option-element.js +8 -0
  3. package/base/option-element.js.map +1 -1
  4. package/components/Checkbox/index.umd.min.js +233 -233
  5. package/components/Checkbox/index.umd.min.js.map +1 -1
  6. package/components/Checkbox/sgds-checkbox.d.ts +1 -0
  7. package/components/Checkbox/sgds-checkbox.js +6 -1
  8. package/components/Checkbox/sgds-checkbox.js.map +1 -1
  9. package/components/ComboBox/index.umd.min.js +241 -241
  10. package/components/ComboBox/index.umd.min.js.map +1 -1
  11. package/components/DataTable/data-table.js +6 -0
  12. package/components/DataTable/data-table.js.map +1 -0
  13. package/components/DataTable/index.d.ts +12 -0
  14. package/components/DataTable/index.js +11 -0
  15. package/components/DataTable/index.js.map +1 -0
  16. package/components/DataTable/index.umd.min.js +2634 -0
  17. package/components/DataTable/index.umd.min.js.map +1 -0
  18. package/components/DataTable/sgds-data-table-cell.d.ts +15 -0
  19. package/components/DataTable/sgds-data-table-cell.js +32 -0
  20. package/components/DataTable/sgds-data-table-cell.js.map +1 -0
  21. package/components/DataTable/sgds-data-table-head.d.ts +28 -0
  22. package/components/DataTable/sgds-data-table-head.js +69 -0
  23. package/components/DataTable/sgds-data-table-head.js.map +1 -0
  24. package/components/DataTable/sgds-data-table-row.d.ts +76 -0
  25. package/components/DataTable/sgds-data-table-row.js +333 -0
  26. package/components/DataTable/sgds-data-table-row.js.map +1 -0
  27. package/components/DataTable/sgds-data-table.d.ts +82 -0
  28. package/components/DataTable/sgds-data-table.js +405 -0
  29. package/components/DataTable/sgds-data-table.js.map +1 -0
  30. package/components/Datepicker/index.umd.min.js +86 -86
  31. package/components/Datepicker/index.umd.min.js.map +1 -1
  32. package/components/Input/index.umd.min.js +2 -2
  33. package/components/Input/index.umd.min.js.map +1 -1
  34. package/components/Input/input.js +1 -1
  35. package/components/Modal/index.umd.min.js +1 -1
  36. package/components/Modal/index.umd.min.js.map +1 -1
  37. package/components/Modal/sgds-modal.js +1 -1
  38. package/components/Modal/sgds-modal.js.map +1 -1
  39. package/components/QuantityToggle/index.umd.min.js +23 -23
  40. package/components/QuantityToggle/index.umd.min.js.map +1 -1
  41. package/components/Select/index.umd.min.js +29 -29
  42. package/components/Select/index.umd.min.js.map +1 -1
  43. package/components/Tab/index.umd.min.js +1 -1
  44. package/components/Tab/index.umd.min.js.map +1 -1
  45. package/components/Tab/tab-panel.js +1 -1
  46. package/components/Textarea/index.umd.min.js +1 -1
  47. package/components/index.d.ts +4 -0
  48. package/components/index.js +4 -0
  49. package/components/index.js.map +1 -1
  50. package/components/index.umd.min.js +574 -480
  51. package/components/index.umd.min.js.map +1 -1
  52. package/css/fouc.css +4 -0
  53. package/custom-elements.json +1556 -183
  54. package/index.d.ts +1 -0
  55. package/index.js +1 -0
  56. package/index.js.map +1 -1
  57. package/index.umd.min.js +404 -310
  58. package/index.umd.min.js.map +1 -1
  59. package/package.json +1 -1
  60. package/react/base/option-element.cjs.js +8 -0
  61. package/react/base/option-element.cjs.js.map +1 -1
  62. package/react/base/option-element.js +8 -0
  63. package/react/base/option-element.js.map +1 -1
  64. package/react/components/Checkbox/sgds-checkbox.cjs.js +6 -1
  65. package/react/components/Checkbox/sgds-checkbox.cjs.js.map +1 -1
  66. package/react/components/Checkbox/sgds-checkbox.js +6 -1
  67. package/react/components/Checkbox/sgds-checkbox.js.map +1 -1
  68. package/react/components/DataTable/data-table.cjs.js +11 -0
  69. package/react/components/DataTable/data-table.cjs.js.map +1 -0
  70. package/react/components/DataTable/data-table.js +7 -0
  71. package/react/components/DataTable/data-table.js.map +1 -0
  72. package/react/components/DataTable/sgds-data-table-cell.cjs.js +38 -0
  73. package/react/components/DataTable/sgds-data-table-cell.cjs.js.map +1 -0
  74. package/react/components/DataTable/sgds-data-table-cell.js +33 -0
  75. package/react/components/DataTable/sgds-data-table-cell.js.map +1 -0
  76. package/react/components/DataTable/sgds-data-table-head.cjs.js +75 -0
  77. package/react/components/DataTable/sgds-data-table-head.cjs.js.map +1 -0
  78. package/react/components/DataTable/sgds-data-table-head.js +70 -0
  79. package/react/components/DataTable/sgds-data-table-head.js.map +1 -0
  80. package/react/components/DataTable/sgds-data-table-row.cjs.js +339 -0
  81. package/react/components/DataTable/sgds-data-table-row.cjs.js.map +1 -0
  82. package/react/components/DataTable/sgds-data-table-row.js +334 -0
  83. package/react/components/DataTable/sgds-data-table-row.js.map +1 -0
  84. package/react/components/DataTable/sgds-data-table.cjs.js +411 -0
  85. package/react/components/DataTable/sgds-data-table.cjs.js.map +1 -0
  86. package/react/components/DataTable/sgds-data-table.js +406 -0
  87. package/react/components/DataTable/sgds-data-table.js.map +1 -0
  88. package/react/components/Input/input.cjs.js +1 -1
  89. package/react/components/Input/input.js +1 -1
  90. package/react/components/Modal/sgds-modal.cjs.js +1 -1
  91. package/react/components/Modal/sgds-modal.cjs.js.map +1 -1
  92. package/react/components/Modal/sgds-modal.js +1 -1
  93. package/react/components/Modal/sgds-modal.js.map +1 -1
  94. package/react/components/Tab/tab-panel.cjs.js +1 -1
  95. package/react/components/Tab/tab-panel.js +1 -1
  96. package/react/data-table/index.cjs.js +44 -0
  97. package/react/data-table/index.cjs.js.map +1 -0
  98. package/react/data-table/index.d.ts +4 -0
  99. package/react/data-table/index.js +20 -0
  100. package/react/data-table/index.js.map +1 -0
  101. package/react/data-table-cell/index.cjs.js +40 -0
  102. package/react/data-table-cell/index.cjs.js.map +1 -0
  103. package/react/data-table-cell/index.d.ts +4 -0
  104. package/react/data-table-cell/index.js +16 -0
  105. package/react/data-table-cell/index.js.map +1 -0
  106. package/react/data-table-head/index.cjs.js +40 -0
  107. package/react/data-table-head/index.cjs.js.map +1 -0
  108. package/react/data-table-head/index.d.ts +4 -0
  109. package/react/data-table-head/index.js +16 -0
  110. package/react/data-table-head/index.js.map +1 -0
  111. package/react/data-table-row/index.cjs.js +45 -0
  112. package/react/data-table-row/index.cjs.js.map +1 -0
  113. package/react/data-table-row/index.d.ts +4 -0
  114. package/react/data-table-row/index.js +21 -0
  115. package/react/data-table-row/index.js.map +1 -0
  116. package/react/index.cjs.js +126 -118
  117. package/react/index.cjs.js.map +1 -1
  118. package/react/index.d.ts +4 -0
  119. package/react/index.js +4 -0
  120. package/react/index.js.map +1 -1
  121. package/react/styles/form-text-control.cjs.js +1 -1
  122. package/react/styles/form-text-control.js +1 -1
  123. package/styles/form-text-control.js +1 -1
  124. package/types/react.d.ts +93 -0
@@ -3352,6 +3352,13 @@
3352
3352
  }
3353
3353
  ],
3354
3354
  "members": [
3355
+ {
3356
+ "kind": "field",
3357
+ "name": "hasSlotController",
3358
+ "privacy": "private",
3359
+ "default": "new HasSlotController(this, \"[default]\")",
3360
+ "type": {}
3361
+ },
3355
3362
  {
3356
3363
  "kind": "field",
3357
3364
  "name": "value",
@@ -4183,6 +4190,16 @@
4183
4190
  "module": "src/base/option-element.ts"
4184
4191
  }
4185
4192
  },
4193
+ {
4194
+ "kind": "method",
4195
+ "name": "_updateAriaLabel",
4196
+ "privacy": "private",
4197
+ "type": {},
4198
+ "inheritedFrom": {
4199
+ "name": "OptionElement",
4200
+ "module": "src/base/option-element.ts"
4201
+ }
4202
+ },
4186
4203
  {
4187
4204
  "kind": "method",
4188
4205
  "name": "emit",
@@ -5695,238 +5712,1586 @@
5695
5712
  "description": "The input's label",
5696
5713
  "fieldName": "label",
5697
5714
  "inheritedFrom": {
5698
- "name": "SelectElement",
5699
- "module": "src/base/select-element.ts"
5715
+ "name": "SelectElement",
5716
+ "module": "src/base/select-element.ts"
5717
+ }
5718
+ },
5719
+ {
5720
+ "name": "hintText",
5721
+ "type": {
5722
+ "text": "string"
5723
+ },
5724
+ "default": "\"\"",
5725
+ "description": "The input's hint text below the label",
5726
+ "fieldName": "hintText",
5727
+ "inheritedFrom": {
5728
+ "name": "SelectElement",
5729
+ "module": "src/base/select-element.ts"
5730
+ }
5731
+ },
5732
+ {
5733
+ "name": "name",
5734
+ "type": {
5735
+ "text": "string"
5736
+ },
5737
+ "description": "The input's name attribute",
5738
+ "fieldName": "name",
5739
+ "inheritedFrom": {
5740
+ "name": "SelectElement",
5741
+ "module": "src/base/select-element.ts"
5742
+ }
5743
+ },
5744
+ {
5745
+ "name": "placeholder",
5746
+ "type": {
5747
+ "text": "string"
5748
+ },
5749
+ "description": "The input's placeholder text.",
5750
+ "fieldName": "placeholder",
5751
+ "inheritedFrom": {
5752
+ "name": "SelectElement",
5753
+ "module": "src/base/select-element.ts"
5754
+ }
5755
+ },
5756
+ {
5757
+ "name": "autofocus",
5758
+ "type": {
5759
+ "text": "boolean"
5760
+ },
5761
+ "default": "false",
5762
+ "description": "Autofocus the input",
5763
+ "fieldName": "autofocus",
5764
+ "inheritedFrom": {
5765
+ "name": "SelectElement",
5766
+ "module": "src/base/select-element.ts"
5767
+ }
5768
+ },
5769
+ {
5770
+ "name": "disabled",
5771
+ "type": {
5772
+ "text": "boolean"
5773
+ },
5774
+ "default": "false",
5775
+ "description": "Disables the input.",
5776
+ "fieldName": "disabled",
5777
+ "inheritedFrom": {
5778
+ "name": "DropdownElement",
5779
+ "module": "src/base/dropdown-element.ts"
5780
+ }
5781
+ },
5782
+ {
5783
+ "name": "required",
5784
+ "type": {
5785
+ "text": "boolean"
5786
+ },
5787
+ "default": "false",
5788
+ "description": "Makes the input a required field.",
5789
+ "fieldName": "required",
5790
+ "inheritedFrom": {
5791
+ "name": "SelectElement",
5792
+ "module": "src/base/select-element.ts"
5793
+ }
5794
+ },
5795
+ {
5796
+ "name": "loading",
5797
+ "type": {
5798
+ "text": "boolean"
5799
+ },
5800
+ "default": "false",
5801
+ "description": "Sets the loading state of the component",
5802
+ "fieldName": "loading",
5803
+ "inheritedFrom": {
5804
+ "name": "SelectElement",
5805
+ "module": "src/base/select-element.ts"
5806
+ }
5807
+ },
5808
+ {
5809
+ "name": "value",
5810
+ "type": {
5811
+ "text": "string"
5812
+ },
5813
+ "default": "\"\"",
5814
+ "description": "IMPORTANT:\nWe still expose `.value` externally, but this is now the underlying ID or data\n(e.g. 1, 2, 'abc', ...), not the label that appears in the input box.",
5815
+ "fieldName": "value",
5816
+ "inheritedFrom": {
5817
+ "name": "SelectElement",
5818
+ "module": "src/base/select-element.ts"
5819
+ }
5820
+ },
5821
+ {
5822
+ "name": "hasFeedback",
5823
+ "type": {
5824
+ "text": "boolean"
5825
+ },
5826
+ "default": "false",
5827
+ "description": "Allows invalidFeedback, invalid and valid styles to be visible with the input",
5828
+ "fieldName": "hasFeedback",
5829
+ "inheritedFrom": {
5830
+ "name": "SelectElement",
5831
+ "module": "src/base/select-element.ts"
5832
+ }
5833
+ },
5834
+ {
5835
+ "name": "invalidFeedback",
5836
+ "type": {
5837
+ "text": "string"
5838
+ },
5839
+ "default": "\"\"",
5840
+ "description": "Feedback text for error state when validated",
5841
+ "fieldName": "invalidFeedback",
5842
+ "inheritedFrom": {
5843
+ "name": "SelectElement",
5844
+ "module": "src/base/select-element.ts"
5845
+ }
5846
+ },
5847
+ {
5848
+ "name": "invalid",
5849
+ "type": {
5850
+ "text": "boolean"
5851
+ },
5852
+ "default": "false",
5853
+ "description": "Marks the component as invalid. Replace the pseudo :invalid selector.",
5854
+ "fieldName": "invalid",
5855
+ "inheritedFrom": {
5856
+ "name": "SelectElement",
5857
+ "module": "src/base/select-element.ts"
5858
+ }
5859
+ },
5860
+ {
5861
+ "name": "autocomplete",
5862
+ "type": {
5863
+ "text": "string"
5864
+ },
5865
+ "default": "\"on\"",
5866
+ "description": "Controlling of autocomplete behaviour",
5867
+ "fieldName": "autocomplete",
5868
+ "inheritedFrom": {
5869
+ "name": "SelectElement",
5870
+ "module": "src/base/select-element.ts"
5871
+ }
5872
+ },
5873
+ {
5874
+ "name": "menuList",
5875
+ "type": {
5876
+ "text": "SgdsOptionData[]"
5877
+ },
5878
+ "default": "[]",
5879
+ "description": "The list of items to display in the dropdown.\n`interface SgdsComboBoxItemData {\nlabel: string;\nvalue: string;\n}`",
5880
+ "deprecated": "Deprecated in favour of slots",
5881
+ "fieldName": "menuList",
5882
+ "inheritedFrom": {
5883
+ "name": "SelectElement",
5884
+ "module": "src/base/select-element.ts"
5885
+ }
5886
+ },
5887
+ {
5888
+ "name": "hidden",
5889
+ "type": {
5890
+ "text": "boolean"
5891
+ },
5892
+ "default": "false",
5893
+ "fieldName": "hidden",
5894
+ "inheritedFrom": {
5895
+ "name": "DropdownListElement",
5896
+ "module": "src/base/dropdown-list-element.ts"
5897
+ }
5898
+ },
5899
+ {
5900
+ "name": "floatingOpts",
5901
+ "type": {
5902
+ "text": "{ placement?: Placement; middleware?: Array<Middleware> }"
5903
+ },
5904
+ "default": "{}",
5905
+ "description": "Additional configuration to pass to Floating UI.",
5906
+ "fieldName": "floatingOpts",
5907
+ "inheritedFrom": {
5908
+ "name": "DropdownElement",
5909
+ "module": "src/base/dropdown-element.ts"
5910
+ }
5911
+ },
5912
+ {
5913
+ "name": "menuIsOpen",
5914
+ "type": {
5915
+ "text": "boolean"
5916
+ },
5917
+ "default": "false",
5918
+ "description": "When true, dropdown menu shows on first load",
5919
+ "fieldName": "menuIsOpen",
5920
+ "inheritedFrom": {
5921
+ "name": "DropdownElement",
5922
+ "module": "src/base/dropdown-element.ts"
5923
+ }
5924
+ },
5925
+ {
5926
+ "name": "readonly",
5927
+ "type": {
5928
+ "text": "boolean"
5929
+ },
5930
+ "default": "false",
5931
+ "description": "Makes the input readonly.",
5932
+ "fieldName": "readonly",
5933
+ "inheritedFrom": {
5934
+ "name": "DropdownElement",
5935
+ "module": "src/base/dropdown-element.ts"
5936
+ }
5937
+ }
5938
+ ],
5939
+ "superclass": {
5940
+ "name": "SelectElement",
5941
+ "module": "/src/base/select-element"
5942
+ },
5943
+ "summary": "ComboBox component is used for users to make one or more selections from a list through user input, keyboard or mouse actions",
5944
+ "tagName": "sgds-combo-box",
5945
+ "customElement": true,
5946
+ "modulePath": "src/components/ComboBox/sgds-combo-box.ts",
5947
+ "cssProperties": [],
5948
+ "cssParts": [],
5949
+ "cssStates": []
5950
+ }
5951
+ ],
5952
+ "exports": [
5953
+ {
5954
+ "kind": "js",
5955
+ "name": "ISgdsComboBoxInputEventDetail",
5956
+ "declaration": {
5957
+ "name": "ISgdsComboBoxInputEventDetail",
5958
+ "module": "src/components/ComboBox/sgds-combo-box.ts"
5959
+ }
5960
+ },
5961
+ {
5962
+ "kind": "js",
5963
+ "name": "SgdsComboBox",
5964
+ "declaration": {
5965
+ "name": "SgdsComboBox",
5966
+ "module": "src/components/ComboBox/sgds-combo-box.ts"
5967
+ }
5968
+ },
5969
+ {
5970
+ "kind": "js",
5971
+ "name": "default",
5972
+ "declaration": {
5973
+ "name": "SgdsComboBox",
5974
+ "module": "src/components/ComboBox/sgds-combo-box.ts"
5975
+ }
5976
+ }
5977
+ ]
5978
+ },
5979
+ {
5980
+ "kind": "javascript-module",
5981
+ "path": "src/components/DataTable/sgds-data-table-cell.ts",
5982
+ "declarations": [
5983
+ {
5984
+ "kind": "class",
5985
+ "description": "",
5986
+ "name": "SgdsDataTableCell",
5987
+ "slots": [
5988
+ {
5989
+ "description": "Content to display inside the cell.",
5990
+ "name": "default"
5991
+ }
5992
+ ],
5993
+ "members": [
5994
+ {
5995
+ "kind": "field",
5996
+ "name": "colspan",
5997
+ "type": {
5998
+ "text": "number | undefined"
5999
+ },
6000
+ "description": "Number of columns this cell spans.",
6001
+ "attribute": "colspan",
6002
+ "reflects": true
6003
+ },
6004
+ {
6005
+ "kind": "field",
6006
+ "name": "rowspan",
6007
+ "type": {
6008
+ "text": "number | undefined"
6009
+ },
6010
+ "description": "Number of rows this cell spans.",
6011
+ "attribute": "rowspan",
6012
+ "reflects": true
6013
+ },
6014
+ {
6015
+ "kind": "method",
6016
+ "name": "emit",
6017
+ "parameters": [
6018
+ {
6019
+ "name": "name",
6020
+ "type": {
6021
+ "text": "string"
6022
+ }
6023
+ },
6024
+ {
6025
+ "name": "options",
6026
+ "optional": true,
6027
+ "type": {
6028
+ "text": "CustomEventInit<T>"
6029
+ }
6030
+ }
6031
+ ],
6032
+ "description": "Emits a custom event with more convenient defaults.",
6033
+ "type": {},
6034
+ "inheritedFrom": {
6035
+ "name": "SgdsElement",
6036
+ "module": "src/base/sgds-element.ts"
6037
+ }
6038
+ },
6039
+ {
6040
+ "kind": "method",
6041
+ "name": "define",
6042
+ "static": true,
6043
+ "parameters": [
6044
+ {
6045
+ "name": "name",
6046
+ "type": {
6047
+ "text": "string"
6048
+ }
6049
+ },
6050
+ {
6051
+ "name": "elementConstructor",
6052
+ "default": "this"
6053
+ },
6054
+ {
6055
+ "name": "options",
6056
+ "default": "{}",
6057
+ "type": {
6058
+ "text": "ElementDefinitionOptions"
6059
+ }
6060
+ }
6061
+ ],
6062
+ "type": {},
6063
+ "inheritedFrom": {
6064
+ "name": "SgdsElement",
6065
+ "module": "src/base/sgds-element.ts"
6066
+ }
6067
+ }
6068
+ ],
6069
+ "attributes": [
6070
+ {
6071
+ "name": "colspan",
6072
+ "type": {
6073
+ "text": "number | undefined"
6074
+ },
6075
+ "description": "Number of columns this cell spans.",
6076
+ "fieldName": "colspan"
6077
+ },
6078
+ {
6079
+ "name": "rowspan",
6080
+ "type": {
6081
+ "text": "number | undefined"
6082
+ },
6083
+ "description": "Number of rows this cell spans.",
6084
+ "fieldName": "rowspan"
6085
+ }
6086
+ ],
6087
+ "superclass": {
6088
+ "name": "SgdsElement",
6089
+ "module": "/src/base/sgds-element"
6090
+ },
6091
+ "summary": "Data container for a table cell. Rendered as a `<td>` by the parent `sgds-data-table-row`.",
6092
+ "tagName": "sgds-data-table-cell",
6093
+ "customElement": true,
6094
+ "modulePath": "src/components/DataTable/sgds-data-table-cell.ts",
6095
+ "cssProperties": [],
6096
+ "cssParts": [],
6097
+ "cssStates": [],
6098
+ "events": []
6099
+ }
6100
+ ],
6101
+ "exports": [
6102
+ {
6103
+ "kind": "js",
6104
+ "name": "SgdsDataTableCell",
6105
+ "declaration": {
6106
+ "name": "SgdsDataTableCell",
6107
+ "module": "src/components/DataTable/sgds-data-table-cell.ts"
6108
+ }
6109
+ },
6110
+ {
6111
+ "kind": "js",
6112
+ "name": "default",
6113
+ "declaration": {
6114
+ "name": "SgdsDataTableCell",
6115
+ "module": "src/components/DataTable/sgds-data-table-cell.ts"
6116
+ }
6117
+ }
6118
+ ]
6119
+ },
6120
+ {
6121
+ "kind": "javascript-module",
6122
+ "path": "src/components/DataTable/sgds-data-table-head.ts",
6123
+ "declarations": [
6124
+ {
6125
+ "kind": "class",
6126
+ "description": "",
6127
+ "name": "SgdsDataTableHead",
6128
+ "slots": [
6129
+ {
6130
+ "description": "Content to display inside the header cell.",
6131
+ "name": "default"
6132
+ }
6133
+ ],
6134
+ "members": [
6135
+ {
6136
+ "kind": "field",
6137
+ "name": "width",
6138
+ "type": {
6139
+ "text": "string | undefined"
6140
+ },
6141
+ "description": "Sets the column width.",
6142
+ "attribute": "width",
6143
+ "reflects": true
6144
+ },
6145
+ {
6146
+ "kind": "field",
6147
+ "name": "colspan",
6148
+ "type": {
6149
+ "text": "number | undefined"
6150
+ },
6151
+ "description": "Number of columns this cell spans.",
6152
+ "attribute": "colspan",
6153
+ "reflects": true
6154
+ },
6155
+ {
6156
+ "kind": "field",
6157
+ "name": "rowspan",
6158
+ "type": {
6159
+ "text": "number | undefined"
6160
+ },
6161
+ "description": "Number of rows this cell spans.",
6162
+ "attribute": "rowspan",
6163
+ "reflects": true
6164
+ },
6165
+ {
6166
+ "kind": "field",
6167
+ "name": "textAlign",
6168
+ "type": {
6169
+ "text": "\"left\" | \"right\""
6170
+ },
6171
+ "default": "\"left\"",
6172
+ "description": "Text alignment for the header content.",
6173
+ "attribute": "textAlign",
6174
+ "reflects": true
6175
+ },
6176
+ {
6177
+ "kind": "field",
6178
+ "name": "ariasort",
6179
+ "type": {
6180
+ "text": "\"ascending\" | \"descending\" | \"none\" | \"other\" | undefined"
6181
+ },
6182
+ "description": "Current sort direction for this column.",
6183
+ "attribute": "ariasort",
6184
+ "reflects": true
6185
+ },
6186
+ {
6187
+ "kind": "field",
6188
+ "name": "sorting",
6189
+ "type": {
6190
+ "text": "boolean"
6191
+ },
6192
+ "default": "false",
6193
+ "description": "When true, clicking this header cycles through ascending → descending → none sort.",
6194
+ "attribute": "sorting",
6195
+ "reflects": true
6196
+ },
6197
+ {
6198
+ "kind": "field",
6199
+ "name": "sortKey",
6200
+ "type": {
6201
+ "text": "string"
6202
+ },
6203
+ "default": "\"\"",
6204
+ "description": "Column key emitted in the row's internal sort payload, used to identify which column to sort.",
6205
+ "attribute": "sortKey",
6206
+ "reflects": true
6207
+ },
6208
+ {
6209
+ "kind": "method",
6210
+ "name": "emit",
6211
+ "parameters": [
6212
+ {
6213
+ "name": "name",
6214
+ "type": {
6215
+ "text": "string"
6216
+ }
6217
+ },
6218
+ {
6219
+ "name": "options",
6220
+ "optional": true,
6221
+ "type": {
6222
+ "text": "CustomEventInit<T>"
6223
+ }
6224
+ }
6225
+ ],
6226
+ "description": "Emits a custom event with more convenient defaults.",
6227
+ "type": {},
6228
+ "inheritedFrom": {
6229
+ "name": "SgdsElement",
6230
+ "module": "src/base/sgds-element.ts"
6231
+ }
6232
+ },
6233
+ {
6234
+ "kind": "method",
6235
+ "name": "define",
6236
+ "static": true,
6237
+ "parameters": [
6238
+ {
6239
+ "name": "name",
6240
+ "type": {
6241
+ "text": "string"
6242
+ }
6243
+ },
6244
+ {
6245
+ "name": "elementConstructor",
6246
+ "default": "this"
6247
+ },
6248
+ {
6249
+ "name": "options",
6250
+ "default": "{}",
6251
+ "type": {
6252
+ "text": "ElementDefinitionOptions"
6253
+ }
6254
+ }
6255
+ ],
6256
+ "type": {},
6257
+ "inheritedFrom": {
6258
+ "name": "SgdsElement",
6259
+ "module": "src/base/sgds-element.ts"
6260
+ }
6261
+ }
6262
+ ],
6263
+ "attributes": [
6264
+ {
6265
+ "name": "width",
6266
+ "type": {
6267
+ "text": "string | undefined"
6268
+ },
6269
+ "description": "Sets the column width.",
6270
+ "fieldName": "width"
6271
+ },
6272
+ {
6273
+ "name": "colspan",
6274
+ "type": {
6275
+ "text": "number | undefined"
6276
+ },
6277
+ "description": "Number of columns this cell spans.",
6278
+ "fieldName": "colspan"
6279
+ },
6280
+ {
6281
+ "name": "rowspan",
6282
+ "type": {
6283
+ "text": "number | undefined"
6284
+ },
6285
+ "description": "Number of rows this cell spans.",
6286
+ "fieldName": "rowspan"
6287
+ },
6288
+ {
6289
+ "name": "textAlign",
6290
+ "type": {
6291
+ "text": "\"left\" | \"right\""
6292
+ },
6293
+ "default": "\"left\"",
6294
+ "description": "Text alignment for the header content.",
6295
+ "fieldName": "textAlign"
6296
+ },
6297
+ {
6298
+ "name": "ariasort",
6299
+ "type": {
6300
+ "text": "\"ascending\" | \"descending\" | \"none\" | \"other\" | undefined"
6301
+ },
6302
+ "description": "Current sort direction for this column.",
6303
+ "fieldName": "ariasort"
6304
+ },
6305
+ {
6306
+ "name": "sorting",
6307
+ "type": {
6308
+ "text": "boolean"
6309
+ },
6310
+ "default": "false",
6311
+ "description": "When true, clicking this header cycles through ascending → descending → none sort.",
6312
+ "fieldName": "sorting"
6313
+ },
6314
+ {
6315
+ "name": "sortKey",
6316
+ "type": {
6317
+ "text": "string"
6318
+ },
6319
+ "default": "\"\"",
6320
+ "description": "Column key emitted in the row's internal sort payload, used to identify which column to sort.",
6321
+ "fieldName": "sortKey"
6322
+ }
6323
+ ],
6324
+ "superclass": {
6325
+ "name": "SgdsElement",
6326
+ "module": "/src/base/sgds-element"
6327
+ },
6328
+ "summary": "Data container for a table header cell. Rendered as a `<th>` by the parent `sgds-data-table-row`.",
6329
+ "tagName": "sgds-data-table-head",
6330
+ "customElement": true,
6331
+ "modulePath": "src/components/DataTable/sgds-data-table-head.ts",
6332
+ "cssProperties": [],
6333
+ "cssParts": [],
6334
+ "cssStates": [],
6335
+ "events": []
6336
+ }
6337
+ ],
6338
+ "exports": [
6339
+ {
6340
+ "kind": "js",
6341
+ "name": "SgdsDataTableHead",
6342
+ "declaration": {
6343
+ "name": "SgdsDataTableHead",
6344
+ "module": "src/components/DataTable/sgds-data-table-head.ts"
6345
+ }
6346
+ },
6347
+ {
6348
+ "kind": "js",
6349
+ "name": "default",
6350
+ "declaration": {
6351
+ "name": "SgdsDataTableHead",
6352
+ "module": "src/components/DataTable/sgds-data-table-head.ts"
6353
+ }
6354
+ }
6355
+ ]
6356
+ },
6357
+ {
6358
+ "kind": "javascript-module",
6359
+ "path": "src/components/DataTable/sgds-data-table-row.ts",
6360
+ "declarations": [
6361
+ {
6362
+ "kind": "class",
6363
+ "description": "",
6364
+ "name": "SgdsDataTableRow",
6365
+ "slots": [
6366
+ {
6367
+ "description": "Insert `sgds-data-table-cell` or `sgds-data-table-head` elements.",
6368
+ "name": "default"
6369
+ },
6370
+ {
6371
+ "description": "Content shown in the animated expand area beneath the row.",
6372
+ "name": "content"
6373
+ }
6374
+ ],
6375
+ "members": [
6376
+ {
6377
+ "kind": "field",
6378
+ "name": "rowData",
6379
+ "type": {
6380
+ "text": "Record<string, unknown>"
6381
+ },
6382
+ "default": "{}",
6383
+ "description": "Arbitrary data associated with this row. Returned in event detail on row selection.",
6384
+ "attribute": "rowData",
6385
+ "reflects": true
6386
+ },
6387
+ {
6388
+ "kind": "field",
6389
+ "name": "expand",
6390
+ "type": {
6391
+ "text": "boolean"
6392
+ },
6393
+ "default": "false",
6394
+ "description": "When true, the row has an expandable content area toggled by a chevron.",
6395
+ "attribute": "expand",
6396
+ "reflects": true
6397
+ },
6398
+ {
6399
+ "kind": "field",
6400
+ "name": "open",
6401
+ "type": {
6402
+ "text": "boolean"
6403
+ },
6404
+ "default": "false",
6405
+ "description": "When true, the expandable content area is open.",
6406
+ "attribute": "open",
6407
+ "reflects": true
6408
+ },
6409
+ {
6410
+ "kind": "field",
6411
+ "name": "checked",
6412
+ "type": {
6413
+ "text": "boolean"
6414
+ },
6415
+ "default": "false",
6416
+ "description": "When true, the row is checked.",
6417
+ "attribute": "checked",
6418
+ "reflects": true
6419
+ },
6420
+ {
6421
+ "kind": "field",
6422
+ "name": "_isHeaderRow",
6423
+ "type": {
6424
+ "text": "boolean"
6425
+ },
6426
+ "privacy": "private",
6427
+ "default": "false"
6428
+ },
6429
+ {
6430
+ "kind": "field",
6431
+ "name": "_cellSlotNames",
6432
+ "privacy": "private",
6433
+ "default": "new WeakMap<SgdsDataTableCell | SgdsDataTableHead, string>()",
6434
+ "type": {}
6435
+ },
6436
+ {
6437
+ "kind": "field",
6438
+ "name": "_lightDomObserver",
6439
+ "type": {
6440
+ "text": "MutationObserver | undefined"
6441
+ },
6442
+ "privacy": "private"
6443
+ },
6444
+ {
6445
+ "kind": "field",
6446
+ "name": "checkbox",
6447
+ "type": {
6448
+ "text": "SgdsCheckbox | null"
6449
+ },
6450
+ "description": "The checkbox rendered inside this row, if `showCheckbox` is true."
6451
+ },
6452
+ {
6453
+ "kind": "method",
6454
+ "name": "handleExpandedChange",
6455
+ "type": {}
6456
+ },
6457
+ {
6458
+ "kind": "method",
6459
+ "name": "handleCheckedChange",
6460
+ "type": {}
6461
+ },
6462
+ {
6463
+ "kind": "method",
6464
+ "name": "show",
6465
+ "privacy": "public",
6466
+ "description": "Opens the expandable content area.",
6467
+ "type": {}
6468
+ },
6469
+ {
6470
+ "kind": "method",
6471
+ "name": "hide",
6472
+ "privacy": "public",
6473
+ "description": "Closes the expandable content area.",
6474
+ "type": {}
6475
+ },
6476
+ {
6477
+ "kind": "method",
6478
+ "name": "_getCells",
6479
+ "privacy": "private",
6480
+ "type": {}
6481
+ },
6482
+ {
6483
+ "kind": "method",
6484
+ "name": "_syncCellSlots",
6485
+ "privacy": "private",
6486
+ "parameters": [
6487
+ {
6488
+ "name": "cells",
6489
+ "type": {
6490
+ "text": "Array<SgdsDataTableCell | SgdsDataTableHead>"
6491
+ }
6492
+ }
6493
+ ],
6494
+ "type": {}
6495
+ },
6496
+ {
6497
+ "kind": "method",
6498
+ "name": "_handleLightDomChange",
6499
+ "privacy": "private",
6500
+ "type": {}
6501
+ },
6502
+ {
6503
+ "kind": "method",
6504
+ "name": "_onCheckboxChange",
6505
+ "privacy": "private",
6506
+ "parameters": [
6507
+ {
6508
+ "name": "e",
6509
+ "type": {
6510
+ "text": "CustomEvent"
6511
+ }
6512
+ }
6513
+ ],
6514
+ "type": {}
6515
+ },
6516
+ {
6517
+ "kind": "method",
6518
+ "name": "_toggleExpand",
6519
+ "privacy": "private",
6520
+ "type": {}
6521
+ },
6522
+ {
6523
+ "kind": "method",
6524
+ "name": "_onExpandKeyDown",
6525
+ "privacy": "private",
6526
+ "parameters": [
6527
+ {
6528
+ "name": "e",
6529
+ "type": {
6530
+ "text": "KeyboardEvent"
6531
+ }
6532
+ }
6533
+ ],
6534
+ "type": {}
6535
+ },
6536
+ {
6537
+ "kind": "method",
6538
+ "name": "_onSortKeyDown",
6539
+ "privacy": "private",
6540
+ "parameters": [
6541
+ {
6542
+ "name": "e",
6543
+ "type": {
6544
+ "text": "KeyboardEvent"
6545
+ }
6546
+ },
6547
+ {
6548
+ "name": "header",
6549
+ "type": {
6550
+ "text": "SgdsDataTableHead"
6551
+ }
6552
+ }
6553
+ ],
6554
+ "type": {}
6555
+ },
6556
+ {
6557
+ "kind": "method",
6558
+ "name": "_renderCell",
6559
+ "privacy": "private",
6560
+ "parameters": [
6561
+ {
6562
+ "name": "el",
6563
+ "type": {
6564
+ "text": "SgdsDataTableCell | SgdsDataTableHead"
6565
+ }
6566
+ },
6567
+ {
6568
+ "name": "columnIndex",
6569
+ "type": {
6570
+ "text": "number"
6571
+ }
6572
+ }
6573
+ ],
6574
+ "type": {}
6575
+ },
6576
+ {
6577
+ "kind": "method",
6578
+ "name": "_renderExpandCell",
6579
+ "privacy": "private",
6580
+ "type": {}
6581
+ },
6582
+ {
6583
+ "kind": "method",
6584
+ "name": "_renderExpandPlaceholder",
6585
+ "privacy": "private",
6586
+ "type": {}
6587
+ },
6588
+ {
6589
+ "kind": "method",
6590
+ "name": "_renderCheckboxCell",
6591
+ "privacy": "private",
6592
+ "type": {}
6593
+ },
6594
+ {
6595
+ "kind": "method",
6596
+ "name": "emit",
6597
+ "parameters": [
6598
+ {
6599
+ "name": "name",
6600
+ "type": {
6601
+ "text": "string"
6602
+ }
6603
+ },
6604
+ {
6605
+ "name": "options",
6606
+ "optional": true,
6607
+ "type": {
6608
+ "text": "CustomEventInit<T>"
6609
+ }
6610
+ }
6611
+ ],
6612
+ "description": "Emits a custom event with more convenient defaults.",
6613
+ "type": {},
6614
+ "inheritedFrom": {
6615
+ "name": "SgdsElement",
6616
+ "module": "src/base/sgds-element.ts"
6617
+ }
6618
+ },
6619
+ {
6620
+ "kind": "method",
6621
+ "name": "define",
6622
+ "static": true,
6623
+ "parameters": [
6624
+ {
6625
+ "name": "name",
6626
+ "type": {
6627
+ "text": "string"
6628
+ }
6629
+ },
6630
+ {
6631
+ "name": "elementConstructor",
6632
+ "default": "this"
6633
+ },
6634
+ {
6635
+ "name": "options",
6636
+ "default": "{}",
6637
+ "type": {
6638
+ "text": "ElementDefinitionOptions"
6639
+ }
6640
+ }
6641
+ ],
6642
+ "type": {},
6643
+ "inheritedFrom": {
6644
+ "name": "SgdsElement",
6645
+ "module": "src/base/sgds-element.ts"
6646
+ }
6647
+ }
6648
+ ],
6649
+ "events": [
6650
+ {
6651
+ "description": "Emitted when the expandable row begins to open.",
6652
+ "name": "sgds-show",
6653
+ "reactName": "onSgdsShow"
6654
+ },
6655
+ {
6656
+ "description": "Emitted after the expandable row open animation completes.",
6657
+ "name": "sgds-after-show",
6658
+ "reactName": "onSgdsAfterShow"
6659
+ },
6660
+ {
6661
+ "description": "Emitted when the expandable row begins to close.",
6662
+ "name": "sgds-hide",
6663
+ "reactName": "onSgdsHide"
6664
+ },
6665
+ {
6666
+ "description": "Emitted after the expandable row close animation completes.",
6667
+ "name": "sgds-after-hide",
6668
+ "reactName": "onSgdsAfterHide"
6669
+ }
6670
+ ],
6671
+ "attributes": [
6672
+ {
6673
+ "name": "rowData",
6674
+ "type": {
6675
+ "text": "Record<string, unknown>"
6676
+ },
6677
+ "default": "{}",
6678
+ "description": "Arbitrary data associated with this row. Returned in event detail on row selection.",
6679
+ "fieldName": "rowData"
6680
+ },
6681
+ {
6682
+ "name": "expand",
6683
+ "type": {
6684
+ "text": "boolean"
6685
+ },
6686
+ "default": "false",
6687
+ "description": "When true, the row has an expandable content area toggled by a chevron.",
6688
+ "fieldName": "expand"
6689
+ },
6690
+ {
6691
+ "name": "open",
6692
+ "type": {
6693
+ "text": "boolean"
6694
+ },
6695
+ "default": "false",
6696
+ "description": "When true, the expandable content area is open.",
6697
+ "fieldName": "open"
6698
+ },
6699
+ {
6700
+ "name": "checked",
6701
+ "type": {
6702
+ "text": "boolean"
6703
+ },
6704
+ "default": "false",
6705
+ "description": "When true, the row is checked.",
6706
+ "fieldName": "checked"
6707
+ }
6708
+ ],
6709
+ "superclass": {
6710
+ "name": "SgdsElement",
6711
+ "module": "/src/base/sgds-element"
6712
+ },
6713
+ "summary": "A data table row. Set `expand` to enable an expandable content area beneath\nthe row, then place detail content in the `content` slot.",
6714
+ "tagName": "sgds-data-table-row",
6715
+ "customElement": true,
6716
+ "modulePath": "src/components/DataTable/sgds-data-table-row.ts",
6717
+ "cssProperties": [],
6718
+ "cssParts": [],
6719
+ "cssStates": []
6720
+ }
6721
+ ],
6722
+ "exports": [
6723
+ {
6724
+ "kind": "js",
6725
+ "name": "SgdsDataTableRow",
6726
+ "declaration": {
6727
+ "name": "SgdsDataTableRow",
6728
+ "module": "src/components/DataTable/sgds-data-table-row.ts"
6729
+ }
6730
+ },
6731
+ {
6732
+ "kind": "js",
6733
+ "name": "default",
6734
+ "declaration": {
6735
+ "name": "SgdsDataTableRow",
6736
+ "module": "src/components/DataTable/sgds-data-table-row.ts"
6737
+ }
6738
+ }
6739
+ ]
6740
+ },
6741
+ {
6742
+ "kind": "javascript-module",
6743
+ "path": "src/components/DataTable/sgds-data-table.ts",
6744
+ "declarations": [
6745
+ {
6746
+ "kind": "class",
6747
+ "description": "",
6748
+ "name": "SgdsDataTable",
6749
+ "slots": [
6750
+ {
6751
+ "description": "Insert one or more `sgds-data-table-row` elements.",
6752
+ "name": "default"
6753
+ },
6754
+ {
6755
+ "description": "Custom content rendered when no body rows are available and `isLoading` is false.",
6756
+ "name": "no-data"
6757
+ }
6758
+ ],
6759
+ "members": [
6760
+ {
6761
+ "kind": "field",
6762
+ "name": "multiSelect",
6763
+ "type": {
6764
+ "text": "boolean"
6765
+ },
6766
+ "default": "false",
6767
+ "description": "If true, renders a checkbox column for row selection.",
6768
+ "attribute": "multiSelect"
6769
+ },
6770
+ {
6771
+ "kind": "field",
6772
+ "name": "dataLength",
6773
+ "type": {
6774
+ "text": "number"
6775
+ },
6776
+ "default": "0",
6777
+ "description": "Total number of data items (for server-side pagination).",
6778
+ "attribute": "dataLength"
6779
+ },
6780
+ {
6781
+ "kind": "field",
6782
+ "name": "currentPage",
6783
+ "type": {
6784
+ "text": "number"
6785
+ },
6786
+ "default": "1",
6787
+ "description": "Current page (1-based).",
6788
+ "attribute": "currentPage"
6789
+ },
6790
+ {
6791
+ "kind": "field",
6792
+ "name": "itemsPerPage",
6793
+ "type": {
6794
+ "text": "number"
6795
+ },
6796
+ "default": "5",
6797
+ "description": "Number of rows per page.",
6798
+ "attribute": "itemsPerPage"
6799
+ },
6800
+ {
6801
+ "kind": "field",
6802
+ "name": "footerText",
6803
+ "type": {
6804
+ "text": "string"
6805
+ },
6806
+ "default": "\"\"",
6807
+ "description": "Custom text shown on the footer's left side.",
6808
+ "attribute": "footerText"
6809
+ },
6810
+ {
6811
+ "kind": "field",
6812
+ "name": "hideFooter",
6813
+ "type": {
6814
+ "text": "boolean"
6815
+ },
6816
+ "default": "false",
6817
+ "description": "If true, hides the footer (summary text and pagination controls).",
6818
+ "attribute": "hideFooter"
6819
+ },
6820
+ {
6821
+ "kind": "field",
6822
+ "name": "isLoading",
6823
+ "type": {
6824
+ "text": "boolean"
6825
+ },
6826
+ "default": "false",
6827
+ "description": "When true, shows a loading state and hides body rows.",
6828
+ "attribute": "isLoading"
6829
+ },
6830
+ {
6831
+ "kind": "field",
6832
+ "name": "serverSort",
6833
+ "type": {
6834
+ "text": "boolean"
6835
+ },
6836
+ "default": "false",
6837
+ "description": "When true, emits sort events for external handling instead of local sorting.",
6838
+ "attribute": "serverSort"
6839
+ },
6840
+ {
6841
+ "kind": "field",
6842
+ "name": "layout",
6843
+ "type": {
6844
+ "text": "\"auto\" | \"fixed\""
6845
+ },
6846
+ "default": "\"auto\"",
6847
+ "description": "Controls the CSS `table-layout` algorithm.\nUse \"auto\" to let the browser size columns based on content, or \"fixed\" to distribute column widths evenly regardless of content.",
6848
+ "attribute": "layout",
6849
+ "reflects": true
6850
+ },
6851
+ {
6852
+ "kind": "field",
6853
+ "name": "mode",
6854
+ "type": {
6855
+ "text": "\"client\" | \"server\""
6856
+ },
6857
+ "default": "\"client\"",
6858
+ "description": "Pagination mode. `client` (default) slices rows and renders pagination controls.\n`server` renders all slotted rows as-is — the caller is responsible for passing\nthe correct page of data and handling `sgds-page-change` externally.",
6859
+ "attribute": "mode"
6860
+ },
6861
+ {
6862
+ "kind": "field",
6863
+ "name": "tableRows",
6864
+ "type": {
6865
+ "text": "SgdsDataTableRow[]"
6866
+ },
6867
+ "privacy": "private",
6868
+ "default": "[]"
6869
+ },
6870
+ {
6871
+ "kind": "field",
6872
+ "name": "headerRows",
6873
+ "type": {
6874
+ "text": "SgdsDataTableRow[]"
6875
+ },
6876
+ "privacy": "private",
6877
+ "default": "[]"
6878
+ },
6879
+ {
6880
+ "kind": "field",
6881
+ "name": "_headerCells",
6882
+ "type": {
6883
+ "text": "SgdsDataTableHead[]"
6884
+ },
6885
+ "privacy": "private",
6886
+ "default": "[]"
6887
+ },
6888
+ {
6889
+ "kind": "field",
6890
+ "name": "_initialRowPositions",
6891
+ "privacy": "private",
6892
+ "default": "new WeakMap<SgdsDataTableRow, number>()",
6893
+ "type": {}
6894
+ },
6895
+ {
6896
+ "kind": "field",
6897
+ "name": "_hasCapturedInitialRowPositions",
6898
+ "type": {
6899
+ "text": "boolean"
6900
+ },
6901
+ "privacy": "private",
6902
+ "default": "false"
6903
+ },
6904
+ {
6905
+ "kind": "field",
6906
+ "name": "_rowHandlers",
6907
+ "privacy": "private",
6908
+ "default": "new WeakMap<SgdsDataTableRow, EventListener>()",
6909
+ "type": {}
6910
+ },
6911
+ {
6912
+ "kind": "method",
6913
+ "name": "_isRowChecked",
6914
+ "privacy": "private",
6915
+ "parameters": [
6916
+ {
6917
+ "name": "row",
6918
+ "type": {
6919
+ "text": "SgdsDataTableRow"
6920
+ }
6921
+ }
6922
+ ],
6923
+ "type": {}
6924
+ },
6925
+ {
6926
+ "kind": "method",
6927
+ "name": "_updateHeaderCheckbox",
6928
+ "privacy": "private",
6929
+ "type": {}
6930
+ },
6931
+ {
6932
+ "kind": "method",
6933
+ "name": "_syncHeaderCheckboxAfterRender",
6934
+ "privacy": "private",
6935
+ "type": {}
6936
+ },
6937
+ {
6938
+ "kind": "method",
6939
+ "name": "_emitRowSelect",
6940
+ "privacy": "private",
6941
+ "type": {}
6942
+ },
6943
+ {
6944
+ "kind": "method",
6945
+ "name": "_attachRowListener",
6946
+ "privacy": "private",
6947
+ "parameters": [
6948
+ {
6949
+ "name": "row",
6950
+ "type": {
6951
+ "text": "SgdsDataTableRow"
6952
+ }
6953
+ }
6954
+ ],
6955
+ "type": {}
6956
+ },
6957
+ {
6958
+ "kind": "method",
6959
+ "name": "_configureRows",
6960
+ "privacy": "private",
6961
+ "type": {}
6962
+ },
6963
+ {
6964
+ "kind": "method",
6965
+ "name": "_applyColumnAlignment",
6966
+ "privacy": "private",
6967
+ "type": {}
6968
+ },
6969
+ {
6970
+ "kind": "method",
6971
+ "name": "_extractCellText",
6972
+ "privacy": "private",
6973
+ "parameters": [
6974
+ {
6975
+ "name": "row",
6976
+ "type": {
6977
+ "text": "SgdsDataTableRow"
6978
+ }
6979
+ },
6980
+ {
6981
+ "name": "columnIndex",
6982
+ "type": {
6983
+ "text": "number"
6984
+ }
6985
+ }
6986
+ ],
6987
+ "type": {}
6988
+ },
6989
+ {
6990
+ "kind": "method",
6991
+ "name": "_toComparableValue",
6992
+ "privacy": "private",
6993
+ "parameters": [
6994
+ {
6995
+ "name": "row",
6996
+ "type": {
6997
+ "text": "SgdsDataTableRow"
6998
+ }
6999
+ },
7000
+ {
7001
+ "name": "key",
7002
+ "type": {
7003
+ "text": "string"
7004
+ }
7005
+ },
7006
+ {
7007
+ "name": "columnIndex",
7008
+ "type": {
7009
+ "text": "number"
7010
+ }
7011
+ }
7012
+ ],
7013
+ "type": {}
7014
+ },
7015
+ {
7016
+ "kind": "method",
7017
+ "name": "_compareValues",
7018
+ "privacy": "private",
7019
+ "parameters": [
7020
+ {
7021
+ "name": "left",
7022
+ "type": {
7023
+ "text": "unknown"
7024
+ }
7025
+ },
7026
+ {
7027
+ "name": "right",
7028
+ "type": {
7029
+ "text": "unknown"
7030
+ }
7031
+ },
7032
+ {
7033
+ "name": "direction",
7034
+ "type": {
7035
+ "text": "\"ascending\" | \"descending\""
7036
+ }
7037
+ }
7038
+ ],
7039
+ "type": {}
7040
+ },
7041
+ {
7042
+ "kind": "method",
7043
+ "name": "_resetOtherHeaderSortStates",
7044
+ "privacy": "private",
7045
+ "parameters": [
7046
+ {
7047
+ "name": "activeHeader",
7048
+ "type": {
7049
+ "text": "SgdsDataTableHead | null"
7050
+ }
7051
+ }
7052
+ ],
7053
+ "type": {}
7054
+ },
7055
+ {
7056
+ "kind": "method",
7057
+ "name": "_getRowsInInitialPositionOrder",
7058
+ "privacy": "private",
7059
+ "parameters": [
7060
+ {
7061
+ "name": "rows",
7062
+ "type": {
7063
+ "text": "SgdsDataTableRow[]"
7064
+ }
7065
+ }
7066
+ ],
7067
+ "type": {}
7068
+ },
7069
+ {
7070
+ "kind": "method",
7071
+ "name": "_captureInitialRowPositions",
7072
+ "privacy": "private",
7073
+ "parameters": [
7074
+ {
7075
+ "name": "rows",
7076
+ "type": {
7077
+ "text": "SgdsDataTableRow[]"
7078
+ }
7079
+ }
7080
+ ],
7081
+ "type": {}
7082
+ },
7083
+ {
7084
+ "kind": "method",
7085
+ "name": "_handleSort",
7086
+ "privacy": "private",
7087
+ "parameters": [
7088
+ {
7089
+ "name": "e",
7090
+ "type": {
7091
+ "text": "Event"
7092
+ }
7093
+ }
7094
+ ],
7095
+ "type": {}
7096
+ },
7097
+ {
7098
+ "kind": "method",
7099
+ "name": "_syncDomRowOrder",
7100
+ "privacy": "private",
7101
+ "type": {}
7102
+ },
7103
+ {
7104
+ "kind": "method",
7105
+ "name": "_handleSlotChange",
7106
+ "privacy": "private",
7107
+ "parameters": [
7108
+ {
7109
+ "name": "e",
7110
+ "type": {
7111
+ "text": "Event"
7112
+ }
7113
+ }
7114
+ ],
7115
+ "type": {}
7116
+ },
7117
+ {
7118
+ "kind": "method",
7119
+ "name": "_updateVisibleRows",
7120
+ "privacy": "private",
7121
+ "type": {}
7122
+ },
7123
+ {
7124
+ "kind": "method",
7125
+ "name": "emit",
7126
+ "parameters": [
7127
+ {
7128
+ "name": "name",
7129
+ "type": {
7130
+ "text": "string"
7131
+ }
7132
+ },
7133
+ {
7134
+ "name": "options",
7135
+ "optional": true,
7136
+ "type": {
7137
+ "text": "CustomEventInit<T>"
7138
+ }
7139
+ }
7140
+ ],
7141
+ "description": "Emits a custom event with more convenient defaults.",
7142
+ "type": {},
7143
+ "inheritedFrom": {
7144
+ "name": "SgdsElement",
7145
+ "module": "src/base/sgds-element.ts"
5700
7146
  }
5701
7147
  },
5702
7148
  {
5703
- "name": "hintText",
5704
- "type": {
5705
- "text": "string"
5706
- },
5707
- "default": "\"\"",
5708
- "description": "The input's hint text below the label",
5709
- "fieldName": "hintText",
7149
+ "kind": "method",
7150
+ "name": "define",
7151
+ "static": true,
7152
+ "parameters": [
7153
+ {
7154
+ "name": "name",
7155
+ "type": {
7156
+ "text": "string"
7157
+ }
7158
+ },
7159
+ {
7160
+ "name": "elementConstructor",
7161
+ "default": "this"
7162
+ },
7163
+ {
7164
+ "name": "options",
7165
+ "default": "{}",
7166
+ "type": {
7167
+ "text": "ElementDefinitionOptions"
7168
+ }
7169
+ }
7170
+ ],
7171
+ "type": {},
5710
7172
  "inheritedFrom": {
5711
- "name": "SelectElement",
5712
- "module": "src/base/select-element.ts"
7173
+ "name": "SgdsElement",
7174
+ "module": "src/base/sgds-element.ts"
5713
7175
  }
5714
- },
7176
+ }
7177
+ ],
7178
+ "events": [
5715
7179
  {
5716
- "name": "name",
5717
- "type": {
5718
- "text": "string"
5719
- },
5720
- "description": "The input's name attribute",
5721
- "fieldName": "name",
5722
- "inheritedFrom": {
5723
- "name": "SelectElement",
5724
- "module": "src/base/select-element.ts"
5725
- }
7180
+ "description": "Emitted when row checkboxes change. Detail: `{ selected: rowData[] }`.",
7181
+ "name": "sgds-row-select",
7182
+ "reactName": "onSgdsRowSelect"
5726
7183
  },
5727
7184
  {
5728
- "name": "placeholder",
5729
- "type": {
5730
- "text": "string"
5731
- },
5732
- "description": "The input's placeholder text.",
5733
- "fieldName": "placeholder",
5734
- "inheritedFrom": {
5735
- "name": "SelectElement",
5736
- "module": "src/base/select-element.ts"
5737
- }
7185
+ "description": "Emitted when `serverSort` is true and a sorting column header is clicked. Detail: `{ key: string; direction: \"ascending\" | \"descending\" | \"none\" }`.",
7186
+ "name": "sgds-sort",
7187
+ "reactName": "onSgdsSort"
5738
7188
  },
5739
7189
  {
5740
- "name": "autofocus",
7190
+ "description": "Emitted when pagination changes page.",
7191
+ "name": "sgds-page-change",
7192
+ "reactName": "onSgdsPageChange"
7193
+ }
7194
+ ],
7195
+ "attributes": [
7196
+ {
7197
+ "name": "multiSelect",
5741
7198
  "type": {
5742
7199
  "text": "boolean"
5743
7200
  },
5744
7201
  "default": "false",
5745
- "description": "Autofocus the input",
5746
- "fieldName": "autofocus",
5747
- "inheritedFrom": {
5748
- "name": "SelectElement",
5749
- "module": "src/base/select-element.ts"
5750
- }
7202
+ "description": "If true, renders a checkbox column for row selection.",
7203
+ "fieldName": "multiSelect"
5751
7204
  },
5752
7205
  {
5753
- "name": "disabled",
7206
+ "name": "dataLength",
5754
7207
  "type": {
5755
- "text": "boolean"
7208
+ "text": "number"
5756
7209
  },
5757
- "default": "false",
5758
- "description": "Disables the input.",
5759
- "fieldName": "disabled",
5760
- "inheritedFrom": {
5761
- "name": "DropdownElement",
5762
- "module": "src/base/dropdown-element.ts"
5763
- }
7210
+ "default": "0",
7211
+ "description": "Total number of data items (for server-side pagination).",
7212
+ "fieldName": "dataLength"
5764
7213
  },
5765
7214
  {
5766
- "name": "required",
7215
+ "name": "currentPage",
5767
7216
  "type": {
5768
- "text": "boolean"
7217
+ "text": "number"
5769
7218
  },
5770
- "default": "false",
5771
- "description": "Makes the input a required field.",
5772
- "fieldName": "required",
5773
- "inheritedFrom": {
5774
- "name": "SelectElement",
5775
- "module": "src/base/select-element.ts"
5776
- }
7219
+ "default": "1",
7220
+ "description": "Current page (1-based).",
7221
+ "fieldName": "currentPage"
5777
7222
  },
5778
7223
  {
5779
- "name": "loading",
7224
+ "name": "itemsPerPage",
5780
7225
  "type": {
5781
- "text": "boolean"
7226
+ "text": "number"
5782
7227
  },
5783
- "default": "false",
5784
- "description": "Sets the loading state of the component",
5785
- "fieldName": "loading",
5786
- "inheritedFrom": {
5787
- "name": "SelectElement",
5788
- "module": "src/base/select-element.ts"
5789
- }
7228
+ "default": "5",
7229
+ "description": "Number of rows per page.",
7230
+ "fieldName": "itemsPerPage"
5790
7231
  },
5791
7232
  {
5792
- "name": "value",
7233
+ "name": "footerText",
5793
7234
  "type": {
5794
7235
  "text": "string"
5795
7236
  },
5796
7237
  "default": "\"\"",
5797
- "description": "IMPORTANT:\nWe still expose `.value` externally, but this is now the underlying ID or data\n(e.g. 1, 2, 'abc', ...), not the label that appears in the input box.",
5798
- "fieldName": "value",
5799
- "inheritedFrom": {
5800
- "name": "SelectElement",
5801
- "module": "src/base/select-element.ts"
5802
- }
7238
+ "description": "Custom text shown on the footer's left side.",
7239
+ "fieldName": "footerText"
5803
7240
  },
5804
7241
  {
5805
- "name": "hasFeedback",
7242
+ "name": "hideFooter",
5806
7243
  "type": {
5807
7244
  "text": "boolean"
5808
7245
  },
5809
7246
  "default": "false",
5810
- "description": "Allows invalidFeedback, invalid and valid styles to be visible with the input",
5811
- "fieldName": "hasFeedback",
5812
- "inheritedFrom": {
5813
- "name": "SelectElement",
5814
- "module": "src/base/select-element.ts"
5815
- }
5816
- },
5817
- {
5818
- "name": "invalidFeedback",
5819
- "type": {
5820
- "text": "string"
5821
- },
5822
- "default": "\"\"",
5823
- "description": "Feedback text for error state when validated",
5824
- "fieldName": "invalidFeedback",
5825
- "inheritedFrom": {
5826
- "name": "SelectElement",
5827
- "module": "src/base/select-element.ts"
5828
- }
7247
+ "description": "If true, hides the footer (summary text and pagination controls).",
7248
+ "fieldName": "hideFooter"
5829
7249
  },
5830
7250
  {
5831
- "name": "invalid",
7251
+ "name": "isLoading",
5832
7252
  "type": {
5833
7253
  "text": "boolean"
5834
7254
  },
5835
7255
  "default": "false",
5836
- "description": "Marks the component as invalid. Replace the pseudo :invalid selector.",
5837
- "fieldName": "invalid",
5838
- "inheritedFrom": {
5839
- "name": "SelectElement",
5840
- "module": "src/base/select-element.ts"
5841
- }
5842
- },
5843
- {
5844
- "name": "autocomplete",
5845
- "type": {
5846
- "text": "string"
5847
- },
5848
- "default": "\"on\"",
5849
- "description": "Controlling of autocomplete behaviour",
5850
- "fieldName": "autocomplete",
5851
- "inheritedFrom": {
5852
- "name": "SelectElement",
5853
- "module": "src/base/select-element.ts"
5854
- }
5855
- },
5856
- {
5857
- "name": "menuList",
5858
- "type": {
5859
- "text": "SgdsOptionData[]"
5860
- },
5861
- "default": "[]",
5862
- "description": "The list of items to display in the dropdown.\n`interface SgdsComboBoxItemData {\nlabel: string;\nvalue: string;\n}`",
5863
- "deprecated": "Deprecated in favour of slots",
5864
- "fieldName": "menuList",
5865
- "inheritedFrom": {
5866
- "name": "SelectElement",
5867
- "module": "src/base/select-element.ts"
5868
- }
7256
+ "description": "When true, shows a loading state and hides body rows.",
7257
+ "fieldName": "isLoading"
5869
7258
  },
5870
7259
  {
5871
- "name": "hidden",
7260
+ "name": "serverSort",
5872
7261
  "type": {
5873
7262
  "text": "boolean"
5874
7263
  },
5875
7264
  "default": "false",
5876
- "fieldName": "hidden",
5877
- "inheritedFrom": {
5878
- "name": "DropdownListElement",
5879
- "module": "src/base/dropdown-list-element.ts"
5880
- }
5881
- },
5882
- {
5883
- "name": "floatingOpts",
5884
- "type": {
5885
- "text": "{ placement?: Placement; middleware?: Array<Middleware> }"
5886
- },
5887
- "default": "{}",
5888
- "description": "Additional configuration to pass to Floating UI.",
5889
- "fieldName": "floatingOpts",
5890
- "inheritedFrom": {
5891
- "name": "DropdownElement",
5892
- "module": "src/base/dropdown-element.ts"
5893
- }
7265
+ "description": "When true, emits sort events for external handling instead of local sorting.",
7266
+ "fieldName": "serverSort"
5894
7267
  },
5895
7268
  {
5896
- "name": "menuIsOpen",
7269
+ "name": "layout",
5897
7270
  "type": {
5898
- "text": "boolean"
7271
+ "text": "\"auto\" | \"fixed\""
5899
7272
  },
5900
- "default": "false",
5901
- "description": "When true, dropdown menu shows on first load",
5902
- "fieldName": "menuIsOpen",
5903
- "inheritedFrom": {
5904
- "name": "DropdownElement",
5905
- "module": "src/base/dropdown-element.ts"
5906
- }
7273
+ "default": "\"auto\"",
7274
+ "description": "Controls the CSS `table-layout` algorithm.\nUse \"auto\" to let the browser size columns based on content, or \"fixed\" to distribute column widths evenly regardless of content.",
7275
+ "fieldName": "layout"
5907
7276
  },
5908
7277
  {
5909
- "name": "readonly",
7278
+ "name": "mode",
5910
7279
  "type": {
5911
- "text": "boolean"
7280
+ "text": "\"client\" | \"server\""
5912
7281
  },
5913
- "default": "false",
5914
- "description": "Makes the input readonly.",
5915
- "fieldName": "readonly",
5916
- "inheritedFrom": {
5917
- "name": "DropdownElement",
5918
- "module": "src/base/dropdown-element.ts"
5919
- }
7282
+ "default": "\"client\"",
7283
+ "description": "Pagination mode. `client` (default) slices rows and renders pagination controls.\n`server` renders all slotted rows as-is — the caller is responsible for passing\nthe correct page of data and handling `sgds-page-change` externally.",
7284
+ "fieldName": "mode"
5920
7285
  }
5921
7286
  ],
5922
7287
  "superclass": {
5923
- "name": "SelectElement",
5924
- "module": "/src/base/select-element"
7288
+ "name": "SgdsElement",
7289
+ "module": "/src/base/sgds-element"
5925
7290
  },
5926
- "summary": "ComboBox component is used for users to make one or more selections from a list through user input, keyboard or mouse actions",
5927
- "tagName": "sgds-combo-box",
7291
+ "summary": "A data table container with pagination, row selection, loading, and sorting support.",
7292
+ "tagName": "sgds-data-table",
5928
7293
  "customElement": true,
5929
- "modulePath": "src/components/ComboBox/sgds-combo-box.ts",
7294
+ "modulePath": "src/components/DataTable/sgds-data-table.ts",
5930
7295
  "cssProperties": [],
5931
7296
  "cssParts": [],
5932
7297
  "cssStates": []
@@ -5935,26 +7300,18 @@
5935
7300
  "exports": [
5936
7301
  {
5937
7302
  "kind": "js",
5938
- "name": "ISgdsComboBoxInputEventDetail",
5939
- "declaration": {
5940
- "name": "ISgdsComboBoxInputEventDetail",
5941
- "module": "src/components/ComboBox/sgds-combo-box.ts"
5942
- }
5943
- },
5944
- {
5945
- "kind": "js",
5946
- "name": "SgdsComboBox",
7303
+ "name": "SgdsDataTable",
5947
7304
  "declaration": {
5948
- "name": "SgdsComboBox",
5949
- "module": "src/components/ComboBox/sgds-combo-box.ts"
7305
+ "name": "SgdsDataTable",
7306
+ "module": "src/components/DataTable/sgds-data-table.ts"
5950
7307
  }
5951
7308
  },
5952
7309
  {
5953
7310
  "kind": "js",
5954
7311
  "name": "default",
5955
7312
  "declaration": {
5956
- "name": "SgdsComboBox",
5957
- "module": "src/components/ComboBox/sgds-combo-box.ts"
7313
+ "name": "SgdsDataTable",
7314
+ "module": "src/components/DataTable/sgds-data-table.ts"
5958
7315
  }
5959
7316
  }
5960
7317
  ]
@@ -16667,6 +18024,16 @@
16667
18024
  "module": "src/base/option-element.ts"
16668
18025
  }
16669
18026
  },
18027
+ {
18028
+ "kind": "method",
18029
+ "name": "_updateAriaLabel",
18030
+ "privacy": "private",
18031
+ "type": {},
18032
+ "inheritedFrom": {
18033
+ "name": "OptionElement",
18034
+ "module": "src/base/option-element.ts"
18035
+ }
18036
+ },
16670
18037
  {
16671
18038
  "kind": "method",
16672
18039
  "name": "emit",
@@ -27022,6 +28389,12 @@
27022
28389
  "attribute": "value",
27023
28390
  "reflects": true
27024
28391
  },
28392
+ {
28393
+ "kind": "method",
28394
+ "name": "_updateAriaLabel",
28395
+ "privacy": "private",
28396
+ "type": {}
28397
+ },
27025
28398
  {
27026
28399
  "kind": "field",
27027
28400
  "name": "_renderItemContent",
@@ -28124,7 +29497,7 @@
28124
29497
  "package": {
28125
29498
  "name": "@govtechsg/sgds-web-component",
28126
29499
  "description": "",
28127
- "version": "3.26.0",
29500
+ "version": "3.26.1-rc.0",
28128
29501
  "author": "GovTechSG",
28129
29502
  "license": "MIT"
28130
29503
  }